From 72744680ea71c172dc45809c5cb304f258c39124 Mon Sep 17 00:00:00 2001 From: sunhao Date: Mon, 10 Nov 2025 15:20:21 +0800 Subject: [PATCH] * [misc] update zen-editor. --- www/js/zui3/zen-editor/p-00f996cc.js | 7 - www/js/zui3/zen-editor/p-1123b26e.js | 7 - www/js/zui3/zen-editor/p-5d37d58b.js | 7 - www/js/zui3/zen-editor/p-7eaba885.js | 7 - www/js/zui3/zen-editor/p-8cf7ca54.js | 7 - www/js/zui3/zen-editor/p-8ebef1dd.js | 7 - www/js/zui3/zen-editor/p-90b1a481.js | 7 - www/js/zui3/zen-editor/p-973c960a.js | 7 - www/js/zui3/zen-editor/p-a98cb481.entry.js | 1 - www/js/zui3/zen-editor/p-b96fce8c.js | 595 --------------------- www/js/zui3/zen-editor/p-cbd8e844.js | 7 - www/js/zui3/zen-editor/p-e014e297.js | 7 - www/js/zui3/zen-editor/p-ec872555.js | 7 - www/js/zui3/zen-editor/p-edc039c0.js | 7 - www/js/zui3/zen-editor/p-ee0b042f.js | 7 - www/js/zui3/zen-editor/p-f15c2f73.js | 7 - www/js/zui3/zen-editor/p-f241ef99.js | 7 - 17 files changed, 701 deletions(-) delete mode 100644 www/js/zui3/zen-editor/p-00f996cc.js delete mode 100644 www/js/zui3/zen-editor/p-1123b26e.js delete mode 100644 www/js/zui3/zen-editor/p-5d37d58b.js delete mode 100644 www/js/zui3/zen-editor/p-7eaba885.js delete mode 100644 www/js/zui3/zen-editor/p-8cf7ca54.js delete mode 100644 www/js/zui3/zen-editor/p-8ebef1dd.js delete mode 100644 www/js/zui3/zen-editor/p-90b1a481.js delete mode 100644 www/js/zui3/zen-editor/p-973c960a.js delete mode 100644 www/js/zui3/zen-editor/p-a98cb481.entry.js delete mode 100644 www/js/zui3/zen-editor/p-b96fce8c.js delete mode 100644 www/js/zui3/zen-editor/p-cbd8e844.js delete mode 100644 www/js/zui3/zen-editor/p-e014e297.js delete mode 100644 www/js/zui3/zen-editor/p-ec872555.js delete mode 100644 www/js/zui3/zen-editor/p-edc039c0.js delete mode 100644 www/js/zui3/zen-editor/p-ee0b042f.js delete mode 100644 www/js/zui3/zen-editor/p-f15c2f73.js delete mode 100644 www/js/zui3/zen-editor/p-f241ef99.js diff --git a/www/js/zui3/zen-editor/p-00f996cc.js b/www/js/zui3/zen-editor/p-00f996cc.js deleted file mode 100644 index 39b3f5fff0..0000000000 --- a/www/js/zui3/zen-editor/p-00f996cc.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=(e,o,i,l)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let a of s(o))r.call(e,a)||a===i||t(e,a,{get:()=>o[a],enumerable:!(l=n(o,a))||l.enumerable});return e},i={};o(i,e,"default");var l={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async|match|case).*?:\\s*$"),action:{indentAction:i.languages.IndentAction.Indent}}],folding:{offSide:!0,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},a={defaultToken:"",tokenPostfix:".python",keywords:["False","None","True","_","and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","match","nonlocal","not","or","pass","print","raise","return","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","self","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z_]\w*/,"tag"],[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}};export{l as conf,a as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-1123b26e.js b/www/js/zui3/zen-editor/p-1123b26e.js deleted file mode 100644 index 6d41e7e8a7..0000000000 --- a/www/js/zui3/zen-editor/p-1123b26e.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,m=(e,m,l,i)=>{if(m&&"object"==typeof m||"function"==typeof m)for(let o of a(m))r.call(e,o)||o===l||t(e,o,{get:()=>m[o],enumerable:!(i=n(m,o))||i.enumerable});return e},l={};m(l,e,"default");var i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${i.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:l.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${i.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:l.languages.IndentAction.Indent}}]},s={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{!--/,"comment.block.start.handlebars","@commentBlock"],[/\{\{!/,"comment.start.handlebars","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\}\}/,"comment.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentBlock:[[/--\}\}/,"comment.block.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentHtml:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],handlebarsInSimpleState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3"}],{include:"handlebarsRoot"}],handlebarsInEmbeddedState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"handlebarsRoot"}],handlebarsRoot:[[/"[^"]*"/,"string.handlebars"],[/[#/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}};export{o as conf,s as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-5d37d58b.js b/www/js/zui3/zen-editor/p-5d37d58b.js deleted file mode 100644 index 39cb0b9bf6..0000000000 --- a/www/js/zui3/zen-editor/p-5d37d58b.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,n=(e,n,l,a)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let d of o(n))r.call(e,d)||d===l||t(e,d,{get:()=>n[d],enumerable:!(a=i(n,d))||a.enumerable});return e},l={};n(l,e,"default");var a=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],d={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{%","%}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"%",close:"%"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${a.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:l.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${a.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:l.languages.IndentAction.Indent}}]},s={defaultToken:"",tokenPostfix:"",builtinTags:["if","else","elseif","endif","render","assign","capture","endcapture","case","endcase","comment","endcomment","cycle","decrement","for","endfor","include","increment","layout","raw","endraw","render","tablerow","endtablerow","unless","endunless"],builtinFilters:["abs","append","at_least","at_most","capitalize","ceil","compact","date","default","divided_by","downcase","escape","escape_once","first","floor","join","json","last","lstrip","map","minus","modulo","newline_to_br","plus","prepend","remove","remove_first","replace","replace_first","reverse","round","rstrip","size","slice","sort","sort_natural","split","strip","strip_html","strip_newlines","times","truncate","truncatewords","uniq","upcase","url_decode","url_encode","where"],constants:["true","false"],operators:["==","!=",">","<",">=","<="],symbol:/[=>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[//,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],liquidState:[[/\{\{/,"delimiter.output.liquid"],[/\}\}/,{token:"delimiter.output.liquid",switchTo:"@$S2.$S3"}],[/\{\%/,"delimiter.tag.liquid"],[/raw\s*\%\}/,"delimiter.tag.liquid","@liquidRaw"],[/\%\}/,{token:"delimiter.tag.liquid",switchTo:"@$S2.$S3"}],{include:"liquidRoot"}],liquidRaw:[[/^(?!\{\%\s*endraw\s*\%\}).+/],[/\{\%/,"delimiter.tag.liquid"],[/@identifier/],[/\%\}/,{token:"delimiter.tag.liquid",next:"@root"}]],liquidRoot:[[/\d+(\.\d+)?/,"number.liquid"],[/"[^"]*"/,"string.liquid"],[/'[^']*'/,"string.liquid"],[/\s+/],[/@symbol/,{cases:{"@operators":"operator.liquid","@default":""}}],[/\./],[/@identifier/,{cases:{"@constants":"keyword.liquid","@builtinFilters":"predefined.liquid","@builtinTags":"predefined.liquid","@default":"variable.liquid"}}],[/[^}|%]/,"variable.liquid"]]}};export{d as conf,s as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-7eaba885.js b/www/js/zui3/zen-editor/p-7eaba885.js deleted file mode 100644 index cd25552dae..0000000000 --- a/www/js/zui3/zen-editor/p-7eaba885.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,m=Object.prototype.hasOwnProperty,i=(e,i,a,n)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let c of o(i))m.call(e,c)||c===a||t(e,c,{get:()=>i[c],enumerable:!(n=r(i,c))||n.enumerable});return e},a={};i(a,e,"default");var n=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],c={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:a.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:a.languages.IndentAction.Indent}}]},s={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/@@@@/],[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],razorInSimpleState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3"}]],razorInEmbeddedState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],razorBlockCommentTopLevel:[[/\*@/,"@rematch","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorBlockComment:[[/\*@/,"comment.cs","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorRootTopLevel:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/[})]/,"@rematch","@pop"],{include:"razorCommon"}],razorRoot:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/\}/,"delimiter.bracket.cs","@pop"],[/\)/,"delimiter.parenthesis.cs","@pop"],{include:"razorCommon"}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:"keyword.cs"},"@default":"identifier.cs"}}],[/[\[\]]/,"delimiter.array.cs"],[/[ \t\r\n]+/],[/\/\/.*$/,"comment.cs"],[/@\*/,"comment.cs","@razorBlockComment"],[/"([^"]*)"/,"string.cs"],[/'([^']*)'/,"string.cs"],[/(<)([\w\-]+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([\w\-]+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<\/)([\w\-]+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,"delimiter.cs"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.cs"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.cs"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.cs"],[/0[0-7']*[0-7]/,"number.octal.cs"],[/0[bB][0-1']*[0-1]/,"number.binary.cs"],[/\d[\d']*/,"number.cs"],[/\d/,"number.cs"]]},razorKeywords:["abstract","as","async","await","base","bool","break","by","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","descending","explicit","event","extern","else","enum","false","finally","fixed","float","for","foreach","from","goto","group","if","implicit","in","int","interface","internal","into","is","lock","long","nameof","new","null","namespace","object","operator","out","override","orderby","params","private","protected","public","readonly","ref","return","switch","struct","sbyte","sealed","short","sizeof","stackalloc","static","string","select","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","var","virtual","volatile","void","when","while","where","yield","model","inject"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/};export{c as conf,s as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-8cf7ca54.js b/www/js/zui3/zen-editor/p-8cf7ca54.js deleted file mode 100644 index 0df6ae5696..0000000000 --- a/www/js/zui3/zen-editor/p-8cf7ca54.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,m,r)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let c of o(a))i.call(e,c)||c===m||t(e,c,{get:()=>a[c],enumerable:!(r=n(a,c))||r.enumerable});return e},m={};a(m,e,"default");var r={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["<",">"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],onEnterRules:[{beforeText:new RegExp("<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:m.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:m.languages.IndentAction.Indent}}]},c={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[c],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[c],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:A,relevance:0,starts:c}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(A,/>/))),contains:[{className:"name",begin:A,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}};const dc=function(e){const t="true false yes no null",A="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(n,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},o=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+A},{className:"type",begin:"!<"+A+">"},{className:"type",begin:"!"+A},{className:"type",begin:"!!"+A},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[r],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[r],illegal:"\\n",relevance:0},n],s=[...o];return s.pop(),s.push(i),r.contains=s,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:o}};function Ic(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((t=>{const A=e[t],n=typeof A;"object"!==n&&"function"!==n||Object.isFrozen(A)||Ic(A)})),e}class kc{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Gc(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function fc(e,...t){const A=Object.create(null);for(const t in e)A[t]=e[t];return t.forEach((function(e){for(const t in e)A[t]=e[t]})),A}const Cc=e=>!!e.scope;class Dc{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=Gc(e)}openNode(e){if(!Cc(e))return;const t=((e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const A=e.split(".");return[`${t}${A.shift()}`,...A.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ")}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){Cc(e)&&(this.buffer+="")}value(){return this.buffer}span(e){this.buffer+=``}}const Fc=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class Yc{constructor(){this.rootNode=Fc(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=Fc({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{Yc._collapse(e)})))}}class mc extends Yc{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const A=e.root;t&&(A.scope=`language:${t}`),this.add(A)}toHTML(){return new Dc(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Uc(e){return e?"string"==typeof e?e:e.source:null}function bc(e){return yc("(?=",e,")")}function Sc(e){return yc("(?:",e,")*")}function Nc(e){return yc("(?:",e,")?")}function yc(...e){return e.map((e=>Uc(e))).join("")}function pc(...e){const t=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e);return"("+(t.capture?"":"?:")+e.map((e=>Uc(e))).join("|")+")"}function Tc(e){return new RegExp(e.toString()+"|").exec("").length-1}const Hc=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function xc(e,{joinWith:t}){let A=0;return e.map((e=>{A+=1;const t=A;let n=Uc(e),i="";for(;n.length>0;){const e=Hc.exec(n);if(!e){i+=n;break}i+=n.substring(0,e.index),n=n.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&A++)}return i})).map((e=>`(${e})`)).join(t)}const zc="[a-zA-Z]\\w*",Jc="[a-zA-Z_]\\w*",jc="\\b\\d+(\\.\\d+)?",Zc="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",vc="\\b(0b[01]+)",Pc={begin:"\\\\[\\s\\S]",relevance:0},Lc={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Pc]},Vc={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Pc]},Oc=function(e,t,A={}){const n=fc({scope:"comment",begin:e,end:t,contains:[]},A);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=pc("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:yc(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},_c=Oc("//","$"),Kc=Oc("/\\*","\\*/"),Wc=Oc("#","$");var Xc=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:zc,UNDERSCORE_IDENT_RE:Jc,NUMBER_RE:jc,C_NUMBER_RE:Zc,BINARY_NUMBER_RE:vc,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=yc(t,/.*\b/,e.binary,/\b.*/)),fc({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:Pc,APOS_STRING_MODE:Lc,QUOTE_STRING_MODE:Vc,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:Oc,C_LINE_COMMENT_MODE:_c,C_BLOCK_COMMENT_MODE:Kc,HASH_COMMENT_MODE:Wc,NUMBER_MODE:{scope:"number",begin:jc,relevance:0},C_NUMBER_MODE:{scope:"number",begin:Zc,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:vc,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[Pc,{begin:/\[/,end:/\]/,relevance:0,contains:[Pc]}]}]},TITLE_MODE:{scope:"title",begin:zc,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:Jc,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+Jc,relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function qc(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function $c(e){void 0!==e.className&&(e.scope=e.className,delete e.className)}function eE(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=qc,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function tE(e){Array.isArray(e.illegal)&&(e.illegal=pc(...e.illegal))}function AE(e){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function nE(e){void 0===e.relevance&&(e.relevance=1)}const iE=e=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const t=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t]})),e.keywords=t.keywords,e.begin=yc(t.beforeMatch,bc(t.begin)),e.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},e.relevance=0,delete t.beforeMatch},rE=["of","and","for","in","not","or","if","then","parent","list","value"],oE="keyword";function sE(e,t,A=oE){const n=Object.create(null);return"string"==typeof e?i(A,e.split(" ")):Array.isArray(e)?i(A,e):Object.keys(e).forEach((function(A){Object.assign(n,sE(e[A],t,A))})),n;function i(e,A){t&&(A=A.map((e=>e.toLowerCase()))),A.forEach((function(t){const A=t.split("|");n[A[0]]=[e,cE(A[0],A[1])]}))}}function cE(e,t){return t?Number(t):function(e){return rE.includes(e.toLowerCase())}(e)?0:1}const EE={},BE=e=>{console.error(e)},aE=(e,...t)=>{console.log(`WARN: ${e}`,...t)},gE=(e,t)=>{EE[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),EE[`${e}/${t}`]=!0)},lE=new Error;function QE(e,t,{key:A}){let n=0;const i=e[A],r={},o={};for(let e=1;e<=t.length;e++)o[e+n]=i[e],r[e+n]=!0,n+=Tc(t[e-1]);e[A]=o,e[A]._emit=r,e[A]._multi=!0}function hE(e){!function(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw BE("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),lE;if("object"!=typeof e.beginScope||null===e.beginScope)throw BE("beginScope must be object"),lE;QE(e,e.begin,{key:"beginScope"}),e.begin=xc(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw BE("skip, excludeEnd, returnEnd not compatible with endScope: {}"),lE;if("object"!=typeof e.endScope||null===e.endScope)throw BE("endScope must be object"),lE;QE(e,e.end,{key:"endScope"}),e.end=xc(e.end,{joinWith:""})}}(e)}function uE(e){function t(t,A){return new RegExp(Uc(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(A?"g":""))}class A{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=Tc(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=t(xc(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const A=t.findIndex(((e,t)=>t>0&&void 0!==e)),n=this.matchIndexes[A];return t.splice(0,A),Object.assign(t,n)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new A;return this.rules.slice(e).forEach((([e,A])=>t.addRule(e,A))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let A=t.exec(e);if(this.resumingScanAtSamePosition())if(A&&A.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,A=t.exec(e)}return A&&(this.regexIndex+=A.position+1,this.regexIndex===this.count&&this.considerAll()),A}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=fc(e.classNameAliases||{}),function A(i,r){const o=i;if(i.isCompiled)return o;[$c,AE,hE,iE].forEach((e=>e(i,r))),e.compilerExtensions.forEach((e=>e(i,r))),i.__beforeBegin=null,[eE,tE,nE].forEach((e=>e(i,r))),i.isCompiled=!0;let s=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),s=i.keywords.$pattern,delete i.keywords.$pattern),s=s||/\w+/,i.keywords&&(i.keywords=sE(i.keywords,e.case_insensitive)),o.keywordPatternRe=t(s,!0),r&&(i.begin||(i.begin=/\B|\b/),o.beginRe=t(o.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(o.endRe=t(o.end)),o.terminatorEnd=Uc(o.end)||"",i.endsWithParent&&r.terminatorEnd&&(o.terminatorEnd+=(i.end?"|":"")+r.terminatorEnd)),i.illegal&&(o.illegalRe=t(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(e){return function(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return fc(e,{variants:null},t)}))),e.cachedVariants?e.cachedVariants:wE(e)?fc(e,{starts:e.starts?fc(e.starts):null}):Object.isFrozen(e)?fc(e):e}("self"===e?i:e)}))),i.contains.forEach((function(e){A(e,o)})),i.starts&&A(i.starts,r),o.matcher=function(e){const t=new n;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(o),o}(e)}function wE(e){return!!e&&(e.endsWithParent||wE(e.starts))}class ME extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const RE=Gc,dE=fc,IE=Symbol("nomatch"),kE=function(e){const t=Object.create(null),A=Object.create(null),n=[];let i=!0;const r="Could not find the language '{}', did you forget to load/include a language module?",o={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:mc};function c(e){return s.noHighlightRe.test(e)}function E(e,t,A){let n="",i="";"object"==typeof t?(n=e,A=t.ignoreIllegals,i=t.language):(gE("10.7.0","highlight(lang, code, ...args) has been deprecated."),gE("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=e,n=t),void 0===A&&(A=!0);const r={code:n,language:i};M("before:highlight",r);const o=r.result?r.result:B(r.language,r.code,A);return o.code=r.code,M("after:highlight",o),o}function B(e,A,n,o){const c=Object.create(null);function E(){if(!C.keywords)return void F.addText(Y);let e=0;C.keywordPatternRe.lastIndex=0;let t=C.keywordPatternRe.exec(Y),A="";for(;t;){A+=Y.substring(e,t.index);const n=k.case_insensitive?t[0].toLowerCase():t[0],i=C.keywords[n];if(i){const[e,r]=i;F.addText(A),A="",c[n]=(c[n]||0)+1,c[n]<=7&&(m+=r),e.startsWith("_")?A+=t[0]:l(t[0],k.classNameAliases[e]||e)}else A+=t[0];e=C.keywordPatternRe.lastIndex,t=C.keywordPatternRe.exec(Y)}A+=Y.substring(e),F.addText(A)}function g(){null!=C.subLanguage?function(){if(""===Y)return;let e=null;if("string"==typeof C.subLanguage){if(!t[C.subLanguage])return void F.addText(Y);e=B(C.subLanguage,Y,!0,D[C.subLanguage]),D[C.subLanguage]=e._top}else e=a(Y,C.subLanguage.length?C.subLanguage:null);C.relevance>0&&(m+=e.relevance),F.__addSublanguage(e._emitter,e.language)}():E(),Y=""}function l(e,t){""!==e&&(F.startScope(t),F.addText(e),F.endScope())}function Q(e,t){let A=1;const n=t.length-1;for(;A<=n;){if(!e._emit[A]){A++;continue}const n=k.classNameAliases[e[A]]||e[A],i=t[A];n?l(i,n):(Y=i,E(),Y=""),A++}}function u(e,t){return e.scope&&"string"==typeof e.scope&&F.openNode(k.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(l(Y,k.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),Y=""):e.beginScope._multi&&(Q(e.beginScope,t),Y="")),C=Object.create(e,{parent:{value:C}}),C}function w(e,t,A){let n=function(e,t){const A=e&&e.exec(t);return A&&0===A.index}(e.endRe,A);if(n){if(e["on:end"]){const A=new kc(e);e["on:end"](t,A),A.isMatchIgnored&&(n=!1)}if(n){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return w(e.parent,t,A)}function M(e){return 0===C.matcher.regexIndex?(Y+=e[0],1):(S=!0,0)}function R(e){const t=e[0],n=A.substring(e.index),i=w(C,e,n);if(!i)return IE;const r=C;C.endScope&&C.endScope._wrap?(g(),l(t,C.endScope._wrap)):C.endScope&&C.endScope._multi?(g(),Q(C.endScope,e)):r.skip?Y+=t:(r.returnEnd||r.excludeEnd||(Y+=t),g(),r.excludeEnd&&(Y=t));do{C.scope&&F.closeNode(),C.skip||C.subLanguage||(m+=C.relevance),C=C.parent}while(C!==i.parent);return i.starts&&u(i.starts,e),r.returnEnd?0:t.length}let d={};function I(t,r){const o=r&&r[0];if(Y+=t,null==o)return g(),0;if("begin"===d.type&&"end"===r.type&&d.index===r.index&&""===o){if(Y+=A.slice(r.index,r.index+1),!i){const t=new Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=d.rule,t}return 1}if(d=r,"begin"===r.type)return function(e){const t=e[0],A=e.rule,n=new kc(A),i=[A.__beforeBegin,A["on:begin"]];for(const A of i)if(A&&(A(e,n),n.isMatchIgnored))return M(t);return A.skip?Y+=t:(A.excludeBegin&&(Y+=t),g(),A.returnBegin||A.excludeBegin||(Y=t)),u(A,e),A.returnBegin?0:t.length}(r);if("illegal"===r.type&&!n){const e=new Error('Illegal lexeme "'+o+'" for mode "'+(C.scope||"")+'"');throw e.mode=C,e}if("end"===r.type){const e=R(r);if(e!==IE)return e}if("illegal"===r.type&&""===o)return 1;if(b>1e5&&b>3*r.index)throw new Error("potential infinite loop, way more iterations than matches");return Y+=o,o.length}const k=h(e);if(!k)throw BE(r.replace("{}",e)),new Error('Unknown language: "'+e+'"');const G=uE(k);let f="",C=o||G;const D={},F=new s.__emitter(s);!function(){const e=[];for(let t=C;t!==k;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach((e=>F.openNode(e)))}();let Y="",m=0,U=0,b=0,S=!1;try{if(k.__emitTokens)k.__emitTokens(A,F);else{for(C.matcher.considerAll();;){b++,S?S=!1:C.matcher.considerAll(),C.matcher.lastIndex=U;const e=C.matcher.exec(A);if(!e)break;const t=I(A.substring(U,e.index),e);U=e.index+t}I(A.substring(U))}return F.finalize(),f=F.toHTML(),{language:e,value:f,relevance:m,illegal:!1,_emitter:F,_top:C}}catch(t){if(t.message&&t.message.includes("Illegal"))return{language:e,value:RE(A),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:U,context:A.slice(U-100,U+100),mode:t.mode,resultSoFar:f},_emitter:F};if(i)return{language:e,value:RE(A),illegal:!1,relevance:0,errorRaised:t,_emitter:F,_top:C};throw t}}function a(e,A){A=A||s.languages||Object.keys(t);const n=function(e){const t={value:RE(e),illegal:!1,relevance:0,_top:o,_emitter:new s.__emitter(s)};return t._emitter.addText(e),t}(e),i=A.filter(h).filter(w).map((t=>B(t,e,!1)));i.unshift(n);const r=i.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(h(e.language).supersetOf===t.language)return 1;if(h(t.language).supersetOf===e.language)return-1}return 0})),[c,E]=r,a=c;return a.secondBest=E,a}function g(e){let t=null;const n=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const A=s.languageDetectRe.exec(t);if(A){const t=h(A[1]);return t||(aE(r.replace("{}",A[1])),aE("Falling back to no-highlight mode for this block.",e)),t?A[1]:"no-highlight"}return t.split(/\s+/).find((e=>c(e)||h(e)))}(e);if(c(n))return;if(M("before:highlightElement",{el:e,language:n}),e.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(e)),s.throwUnescapedHTML))throw new ME("One of your code blocks includes unescaped HTML.",e.innerHTML);t=e;const i=t.textContent,o=n?E(i,{language:n,ignoreIllegals:!0}):a(i);e.innerHTML=o.value,function(e,t,n){const i=t&&A[t]||n;e.classList.add("hljs"),e.classList.add(`language-${i}`)}(e,n,o.language),e.result={language:o.language,re:o.relevance,relevance:o.relevance},o.secondBest&&(e.secondBest={language:o.secondBest.language,relevance:o.secondBest.relevance}),M("after:highlightElement",{el:e,result:o,text:i})}let l=!1;function Q(){"loading"!==document.readyState?document.querySelectorAll(s.cssSelector).forEach(g):l=!0}function h(e){return e=(e||"").toLowerCase(),t[e]||t[A[e]]}function u(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{A[e.toLowerCase()]=t}))}function w(e){const t=h(e);return t&&!t.disableAutodetect}function M(e,t){const A=e;n.forEach((function(e){e[A]&&e[A](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){l&&Q()}),!1),Object.assign(e,{highlight:E,highlightAuto:a,highlightAll:Q,highlightElement:g,highlightBlock:function(e){return gE("10.7.0","highlightBlock will be removed entirely in v12.0"),gE("10.7.0","Please use highlightElement now."),g(e)},configure:function(e){s=dE(s,e)},initHighlighting:()=>{Q(),gE("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){Q(),gE("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(A,n){let r=null;try{r=n(e)}catch(e){if(BE("Language definition for '{}' could not be registered.".replace("{}",A)),!i)throw e;BE(e),r=o}r.name||(r.name=A),t[A]=r,r.rawDefinition=n.bind(null,e),r.aliases&&u(r.aliases,{languageName:A})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(A))A[t]===e&&delete A[t]},listLanguages:function(){return Object.keys(t)},getLanguage:h,registerAliases:u,autoDetection:w,inherit:dE,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),n.push(e)},removePlugin:function(e){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString="11.8.0",e.regex={concat:yc,lookahead:bc,either:pc,optional:Nc,anyNumberOfTimes:Sc};for(const e in Xc)"object"==typeof Xc[e]&&Ic(Xc[e]);return Object.assign(e,Xc),e},GE=kE({});GE.newInstance=()=>kE({});var fE=GE;GE.HighlightJS=GE,GE.default=GE;const CE=fE;var DE,FE={exports:{}};DE=FE,function(){var e;function t(e){for(var t,A,n,i,r=1,o=[].slice.call(arguments),s=0,c=e.length,E="",B=!1,a=!1,g=function(){return o[r++]},l=function(){for(var A="";/\d/.test(e[s]);)A+=e[s++],t=e[s];return A.length>0?parseInt(A):null};st?e+"_".repeat(t):this.options.classPrefix+e))},children:[]};this.stack[this.stack.length-1].children.push(t),this.stack.push(t)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const yE={highlight:SE,highlightAuto:function(e,t={}){const A=t.subset||CE.listLanguages();let n=-1,i={type:"root",data:{language:null,relevance:0},children:[]};if("string"!=typeof e)throw mE("Expected `string` for value, got `%s`",e);for(;++ni.data.relevance&&(i=o)}return i},registerLanguage:function(e,t){CE.registerLanguage(e,t)},registered:function(e){return Boolean(CE.getLanguage(e))},listLanguages:function(){return CE.listLanguages()},registerAlias:function(e,t){if("string"==typeof e)CE.registerAliases(t,{languageName:e});else{let t;for(t in e)bE.call(e,t)&&CE.registerAliases(e[t],{languageName:t})}}};yE.registerLanguage("arduino",Ho),yE.registerLanguage("bash",(function(e){const t={},A={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:e.regex.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},A]});const n={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},r={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,n]};n.contains.push(r);const o={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},s=e.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[s,e.SHEBANG(),c,o,e.HASH_COMMENT_MODE,i,{match:/(\/[a-z._-]+)+/},r,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}})),yE.registerLanguage("c",xo),yE.registerLanguage("cpp",zo),yE.registerLanguage("csharp",Jo),yE.registerLanguage("css",Vo),yE.registerLanguage("diff",Oo),yE.registerLanguage("go",_o),yE.registerLanguage("graphql",Ko),yE.registerLanguage("ini",Wo),yE.registerLanguage("java",As),yE.registerLanguage("javascript",as),yE.registerLanguage("json",gs),yE.registerLanguage("kotlin",ws),yE.registerLanguage("less",fs),yE.registerLanguage("lua",(function(e){const t="\\[=*\\[",A="\\]=*\\]",n={begin:t,end:A,contains:["self"]},i=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,A,{contains:[n],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:A,contains:[n],relevance:5}])}})),yE.registerLanguage("makefile",(function(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+A.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:A,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}})),yE.registerLanguage("perl",Ds),yE.registerLanguage("php",Fs),yE.registerLanguage("php-template",(function(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}})),yE.registerLanguage("plaintext",(function(){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}})),yE.registerLanguage("python",Ys),yE.registerLanguage("python-repl",(function(){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}})),yE.registerLanguage("r",ms),yE.registerLanguage("ruby",Us),yE.registerLanguage("rust",bs),yE.registerLanguage("scss",Hs),yE.registerLanguage("shell",(function(){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}})),yE.registerLanguage("sql",xs),yE.registerLanguage("swift",sc),yE.registerLanguage("typescript",wc),yE.registerLanguage("vbnet",Mc),yE.registerLanguage("wasm",(function(e){const t=e.COMMENT(/\(;/,/;\)/);return t.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[e.COMMENT(/;;/,/$/),t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}})),yE.registerLanguage("xml",Rc),yE.registerLanguage("yaml",dc);const pE=Object.freeze({__proto__:null,lowlight:yE}),TE="aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",HE="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",xE=(e,t)=>{for(const A in t)e[A]=t[A];return e},zE="numeric",JE="ascii",jE="alpha",ZE="asciinumeric",vE="alphanumeric",PE="domain",LE="emoji",VE="scheme",OE="slashscheme",_E="whitespace";function KE(e,t){return e in t||(t[e]=[]),t[e]}function WE(e,t,A){t[zE]&&(t[ZE]=!0,t[vE]=!0),t[JE]&&(t[ZE]=!0,t[jE]=!0),t[ZE]&&(t[vE]=!0),t[jE]&&(t[vE]=!0),t[vE]&&(t[PE]=!0),t[LE]&&(t[PE]=!0);for(const n in t){const t=KE(n,A);t.indexOf(e)<0&&t.push(e)}}function XE(e){void 0===e&&(e=null),this.j={},this.jr=[],this.jd=null,this.t=e}XE.groups={},XE.prototype={accepts(){return!!this.t},go(e){const t=this,A=t.j[e];if(A)return A;for(let A=0;A=0&&(A[n]=!0);return A}(o.t,n),A);WE(r,e,n)}else A&&WE(r,A,n);o.t=r}return i.j[e]=o,o}};const qE=(e,t,A,n,i)=>e.ta(t,A,n,i),$E=(e,t,A,n,i)=>e.tr(t,A,n,i),eB=(e,t,A,n,i)=>e.ts(t,A,n,i),tB=(e,t,A,n,i)=>e.tt(t,A,n,i),AB="WORD",nB="UWORD",iB="LOCALHOST",rB="TLD",oB="UTLD",sB="SCHEME",cB="SLASH_SCHEME",EB="NUM",BB="WS",aB="NL",gB="OPENBRACE",lB="OPENBRACKET",QB="OPENANGLEBRACKET",hB="OPENPAREN",uB="CLOSEBRACE",wB="CLOSEBRACKET",MB="CLOSEANGLEBRACKET",RB="CLOSEPAREN",dB="AMPERSAND",IB="APOSTROPHE",kB="ASTERISK",GB="AT",fB="BACKSLASH",CB="BACKTICK",DB="CARET",FB="COLON",YB="COMMA",mB="DOLLAR",UB="DOT",bB="EQUALS",SB="EXCLAMATION",NB="HYPHEN",yB="PERCENT",pB="PIPE",TB="PLUS",HB="POUND",xB="QUERY",zB="QUOTE",JB="SEMI",jB="SLASH",ZB="TILDE",vB="UNDERSCORE",PB="EMOJI",LB="SYM";var VB=Object.freeze({__proto__:null,WORD:AB,UWORD:nB,LOCALHOST:iB,TLD:rB,UTLD:oB,SCHEME:sB,SLASH_SCHEME:cB,NUM:EB,WS:BB,NL:aB,OPENBRACE:gB,OPENBRACKET:lB,OPENANGLEBRACKET:QB,OPENPAREN:hB,CLOSEBRACE:uB,CLOSEBRACKET:wB,CLOSEANGLEBRACKET:MB,CLOSEPAREN:RB,AMPERSAND:dB,APOSTROPHE:IB,ASTERISK:kB,AT:GB,BACKSLASH:fB,BACKTICK:CB,CARET:DB,COLON:FB,COMMA:YB,DOLLAR:mB,DOT:UB,EQUALS:bB,EXCLAMATION:SB,HYPHEN:NB,PERCENT:yB,PIPE:pB,PLUS:TB,POUND:HB,QUERY:xB,QUOTE:zB,SEMI:JB,SLASH:jB,TILDE:ZB,UNDERSCORE:vB,EMOJI:PB,SYM:LB});const OB=/[a-z]/,_B=/\p{L}/u,KB=/\p{Emoji}/u,WB=/\d/,XB=/\s/,qB="\n",$B="️",ea="‍";let ta=null,Aa=null;function na(e,t,A,n,i){let r;const o=t.length;for(let A=0;A=0;)i++;if(i>0){t.push(A.join(""));for(let t=parseInt(e.substring(n,n+i),10);t>0;t--)A.pop();n+=i}else A.push(e[n]),n++}return t}const ra={defaultProtocol:"http",events:null,format:sa,formatHref:sa,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function oa(e,t){void 0===t&&(t=null);let A=xE({},ra);e&&(A=xE(A,e instanceof oa?e.o:e));const n=A.ignoreTags,i=[];for(let e=0;ee,check(e){return this.get("validate",e.toString(),e)},get(e,t,A){const n=null!=t;let i=this.o[e];return i?("object"==typeof i?(i=A.t in i?i[A.t]:ra[e],"function"==typeof i&&n&&(i=i(t,A))):"function"==typeof i&&n&&(i=i(t,A.t,A)),i):i},getObj(e,t,A){let n=this.o[e];return"function"==typeof n&&null!=t&&(n=n(t,A.t,A)),n},render(e){const t=e.render(this);return(this.get("render",null,e)||this.defaultRender)(t,e.t,e)}},ca.prototype={isLink:!1,toString(){return this.v},toHref(e){return this.toString()},toFormattedString(e){const t=this.toString(),A=e.get("truncate",t,this),n=e.get("format",t,this);return A&&n.length>A?n.substring(0,A)+"…":n},toFormattedHref(e){return e.get("formatHref",this.toHref(e.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(e){return void 0===e&&(e=ra.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(e),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(e){return{type:this.t,value:this.toFormattedString(e),isLink:this.isLink,href:this.toFormattedHref(e),start:this.startIndex(),end:this.endIndex()}},validate(e){return e.get("validate",this.toString(),this)},render(e){const t=this,A=this.toHref(e.get("defaultProtocol")),n=e.get("formatHref",A,this),i=e.get("tagName",A,t),r=this.toFormattedString(e),o={},s=e.get("className",A,t),c=e.get("target",A,t),E=e.get("rel",A,t),B=e.getObj("attributes",A,t),a=e.getObj("events",A,t);return o.href=n,s&&(o.class=s),c&&(o.target=c),E&&(o.rel=E),B&&xE(o,B),{tagName:i,attributes:o,content:r,eventListeners:a}}};const Ba=Ea("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),aa=Ea("text"),ga=Ea("nl"),la=Ea("url",{isLink:!0,toHref(e){return void 0===e&&(e=ra.defaultProtocol),this.hasProtocol()?this.v:`${e}://${this.v}`},hasProtocol(){const e=this.tk;return e.length>=2&&e[0].t!==iB&&e[1].t===FB}}),Qa=e=>new XE(e);function ha(e,t,A){return new e(t.slice(A[0].s,A[A.length-1].e),A)}const ua="undefined"!=typeof console&&console&&console.warn||(()=>{}),wa={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Ma(e,t){if(void 0===t&&(t=!1),wa.initialized&&ua(`linkifyjs: already initialized - will not register custom scheme "${e}" until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(e))throw new Error('linkifyjs: incorrect scheme format.\n 1. Must only contain digits, lowercase ASCII letters or "-"\n 2. Cannot start or end with "-"\n 3. "-" cannot repeat');wa.customSchemes.push([e,t])}function Ra(e){return wa.initialized||function(){wa.scanner=function(e){void 0===e&&(e=[]);const t={};XE.groups=t;const A=new XE;null==ta&&(ta=ia(TE)),null==Aa&&(Aa=ia(HE)),tB(A,"'",IB),tB(A,"{",gB),tB(A,"[",lB),tB(A,"<",QB),tB(A,"(",hB),tB(A,"}",uB),tB(A,"]",wB),tB(A,">",MB),tB(A,")",RB),tB(A,"&",dB),tB(A,"*",kB),tB(A,"@",GB),tB(A,"`",CB),tB(A,"^",DB),tB(A,":",FB),tB(A,",",YB),tB(A,"$",mB),tB(A,".",UB),tB(A,"=",bB),tB(A,"!",SB),tB(A,"-",NB),tB(A,"%",yB),tB(A,"|",pB),tB(A,"+",TB),tB(A,"#",HB),tB(A,"?",xB),tB(A,'"',zB),tB(A,"/",jB),tB(A,";",JB),tB(A,"~",ZB),tB(A,"_",vB),tB(A,"\\",fB);const n=$E(A,WB,EB,{[zE]:!0});$E(n,WB,n);const i=$E(A,OB,AB,{[JE]:!0});$E(i,OB,i);const r=$E(A,_B,nB,{[jE]:!0});$E(r,OB),$E(r,_B,r);const o=$E(A,XB,BB,{[_E]:!0});tB(A,qB,aB,{[_E]:!0}),tB(o,qB),$E(o,XB,o);const s=$E(A,KB,PB,{[LE]:!0});$E(s,KB,s),tB(s,$B,s);const c=tB(s,ea);$E(c,KB,s);const E=[[OB,i]],B=[[OB,null],[_B,r]];for(let e=0;ee[0]>t[0]?1:-1));for(let t=0;t=0?i[PE]=!0:OB.test(n)?WB.test(n)?i[ZE]=!0:i[JE]=!0:i[zE]=!0,eB(A,n,n,i)}return eB(A,"localhost",iB,{ascii:!0}),A.jd=new XE(LB),{start:A,tokens:xE({groups:t},VB)}}(wa.customSchemes);for(let e=0;e=0&&g++,i++,B++;if(g<0)i-=B,i0&&(r.push(ha(aa,t,o)),o=[]),i-=g,B-=g;const e=a.t,n=A.slice(i-B,i);r.push(ha(e,t,n))}}return o.length>0&&r.push(ha(aa,t,o)),r}(wa.parser.start,e,function(e,t){const A=function(e){const t=[],A=e.length;let n=0;for(;n56319||n+1===A||(i=e.charCodeAt(n+1))<56320||i>57343?e[n]:e.slice(n,n+2);t.push(o),n+=o.length}return t}(t.replace(/[A-Z]/g,(e=>e.toLowerCase()))),n=A.length,i=[];let r=0,o=0;for(;o=0&&(a+=A[o].length,g++),E+=A[o].length,r+=A[o].length,o++;r-=a,o-=g,E-=a,i.push({t:B.t,v:t.slice(r-E,r),s:r-E,e:r})}return i}(wa.scanner.start,e))}function da(e,t,A){if(void 0===t&&(t=null),void 0===A&&(A=null),t&&"object"==typeof t){if(A)throw Error(`linkifyjs: Invalid link type ${t}; must be a string`);A=t,t=null}const n=new oa(A),i=Ra(e),r=[];for(let e=0;e{"string"!=typeof e?Ma(e.scheme,e.optionalSlashes):Ma(e)}))},onDestroy(){XE.groups={},wa.scanner=null,wa.parser=null,wa.tokenQueue=[],wa.pluginQueue=[],wa.customSchemes=[],wa.initialized=!1},inclusive(){return this.options.autolink},addOptions:()=>({openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:void 0}),addAttributes(){return{href:{default:null},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML:()=>[{tag:'a[href]:not([href *= "javascript:" i])'}],renderHTML({HTMLAttributes:e}){var t;return(null===(t=e.href)||void 0===t?void 0:t.startsWith("javascript:"))?["a",l(this.options.HTMLAttributes,{...e,href:""}),0]:["a",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setLink:e=>({chain:t})=>t().setMark(this.name,e).setMeta("preventAutolink",!0).run(),toggleLink:e=>({chain:t})=>t().toggleMark(this.name,e,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:e})=>e().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[w({find:e=>{const t=[];if(e){const A=da(e).filter((e=>e.isLink));A.length&&A.forEach((e=>t.push({text:e.value,data:{href:e.href},index:e.start})))}return t},type:this.type,getAttributes:e=>{var t;return{href:null===(t=e.data)||void 0===t?void 0:t.href}}})]},addProseMirrorPlugins(){const e=[];return this.options.autolink&&e.push((t={type:this.type,validate:this.options.validate},new r({key:new o("autolink"),appendTransaction:(e,A,n)=>{const i=e.some((e=>e.docChanged))&&!A.doc.eq(n.doc),r=e.some((e=>e.getMeta("preventAutolink")));if(!i||r)return;const{tr:o}=n,s=F(A.doc,[...e]);return Y(s).forEach((({newRange:e})=>{const A=m(n.doc,e,(e=>e.isTextblock));let i,r;if(A.length>1?(i=A[0],r=n.doc.textBetween(i.pos,i.pos+i.node.nodeSize,void 0," ")):A.length&&n.doc.textBetween(e.from,e.to," "," ").endsWith(" ")&&(i=A[0],r=n.doc.textBetween(i.pos,e.to,void 0," ")),i&&r){const e=r.split(" ").filter((e=>""!==e));if(e.length<=0)return!1;const A=e[e.length-1],c=i.pos+r.lastIndexOf(A);if(!A)return!1;const E=Ra(A).map((e=>e.toObject()));if(!(1===(s=E).length?s[0].isLink:3===s.length&&s[1].isLink&&["()","[]"].includes(s[0].value+s[2].value)))return!1;E.filter((e=>e.isLink)).map((e=>({...e,from:c+e.start+1,to:c+e.end+1}))).filter((e=>!n.schema.marks.code||!n.doc.rangeHasMark(e.from,e.to,n.schema.marks.code))).filter((e=>!t.validate||t.validate(e.value))).forEach((e=>{U(e.from,e.to,n.doc).some((e=>e.mark.type===t.type))||o.addMark(e.from,e.to,t.type.create({href:e.href}))}))}var s})),o.steps.length?o:void 0}}))),this.options.openOnClick&&e.push(function(e){return new r({key:new o("handleClickLink"),props:{handleClick:(t,A,n)=>{var i,r;if(e.whenNotEditable&&t.editable)return!1;if(0!==n.button)return!1;let o=n.target;const s=[];for(;"DIV"!==o.nodeName;)s.push(o),o=o.parentNode;if(!s.find((e=>"A"===e.nodeName)))return!1;const c=b(t.state,e.type.name),E=n.target,B=null!==(i=null==E?void 0:E.href)&&void 0!==i?i:c.href,a=null!==(r=null==E?void 0:E.target)&&void 0!==r?r:c.target;return!(!E||!B||(window.open(B,a),0))}}})}({type:this.type,whenNotEditable:"whenNotEditable"===this.options.openOnClick})),this.options.linkOnPaste&&e.push(function(e){return new r({key:new o("handlePasteLink"),props:{handlePaste:(t,A,n)=>{const{state:i}=t,{selection:r}=i,{empty:o}=r;if(o)return!1;let s="";n.content.forEach((e=>{s+=e.textContent}));const c=da(s).find((e=>e.isLink&&e.value===s));return!(!s||!c||(e.editor.commands.setMark(e.type,{href:c.href}),0))}}})}({editor:this.editor,type:this.type})),e;var t}}),ka=g.create({name:"superscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sup"},{style:"vertical-align",getAttrs:e=>"super"===e&&null}],renderHTML({HTMLAttributes:e}){return["sup",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setSuperscript:()=>({commands:e})=>e.setMark(this.name),toggleSuperscript:()=>({commands:e})=>e.toggleMark(this.name),unsetSuperscript:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),Ga=g.create({name:"subscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sub"},{style:"vertical-align",getAttrs:e=>"sub"===e&&null}],renderHTML({HTMLAttributes:e}){return["sub",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setSubscript:()=>({commands:e})=>e.setMark(this.name),toggleSubscript:()=>({commands:e})=>e.toggleMark(this.name),unsetSubscript:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),fa=s.create({name:"textAlign",addOptions:()=>({types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}),addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:e=>e.style.textAlign||this.options.defaultAlignment,renderHTML:e=>e.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${e.textAlign}`}}}}]},addCommands(){return{setTextAlign:e=>({commands:t})=>!!this.options.alignments.includes(e)&&this.options.types.every((A=>t.updateAttributes(A,{textAlign:e}))),unsetTextAlign:()=>({commands:e})=>this.options.types.every((t=>e.resetAttributes(t,"textAlign")))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),Ca=s.create({name:"placeholder",addOptions:()=>({emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,considerAnyAsEmpty:!1,showOnlyCurrent:!0,includeChildren:!1}),addProseMirrorPlugins(){return[new r({key:new o("placeholder"),props:{decorations:({doc:e,selection:t})=>{var A;const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:i}=t,r=[];if(!n)return null;const{firstChild:o}=e.content,s=!!this.options.considerAnyAsEmpty||o&&o.type.name===(null===(A=e.type.contentMatch.defaultType)||void 0===A?void 0:A.name),c=e.content.childCount<=1&&o&&s&&o.nodeSize<=2&&(!(o&&o.type.isLeaf)||!(o&&o.isAtom));return e.descendants(((e,t)=>{const A=i>=t&&i<=t+e.nodeSize;if((A||!this.options.showOnlyCurrent)&&!e.isLeaf&&!e.childCount){const n=[this.options.emptyNodeClass];c&&n.push(this.options.emptyEditorClass);const i=D.node(t,t+e.nodeSize,{class:n.join(" "),"data-placeholder":"function"==typeof this.options.placeholder?this.options.placeholder({editor:this.editor,node:e,pos:t,hasAnchor:A}):this.options.placeholder});r.push(i)}return this.options.includeChildren})),f.create(e,r)}}})]}}),Da=g.create({name:"underline",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:e=>!!e.includes("underline")&&{}}],renderHTML({HTMLAttributes:e}){return["u",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setUnderline:()=>({commands:e})=>e.setMark(this.name),toggleUnderline:()=>({commands:e})=>e.toggleMark(this.name),unsetUnderline:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),Fa=s.create({name:"color",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:e=>{var t;return null===(t=e.style.color)||void 0===t?void 0:t.replace(/['"]+/g,"")},renderHTML:e=>e.color?{style:`color: ${e.color}`}:{}}}}]},addCommands:()=>({setColor:e=>({chain:t})=>t().setMark("textStyle",{color:e}).run(),unsetColor:()=>({chain:e})=>e().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()})}),Ya=s.create({name:"fontFamily",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:e=>{var t;return null===(t=e.style.fontFamily)||void 0===t?void 0:t.replace(/['"]+/g,"")},renderHTML:e=>e.fontFamily?{style:`font-family: ${e.fontFamily.split(",").map((e=>CSS.escape(e.trim()))).join(", ")}`}:{}}}}]},addCommands:()=>({setFontFamily:e=>({chain:t})=>t().setMark("textStyle",{fontFamily:e}).run(),unsetFontFamily:()=>({chain:e})=>e().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()})}),ma=/^\s*>\s$/,Ua=R.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:e}){return["blockquote",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setBlockquote:()=>({commands:e})=>e.wrapIn(this.name),toggleBlockquote:()=>({commands:e})=>e.toggleWrap(this.name),unsetBlockquote:()=>({commands:e})=>e.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[d({find:ma,type:this.type})]}}),ba=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,Sa=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,Na=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,ya=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,pa=g.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"strong"},{tag:"b",getAttrs:e=>"normal"!==e.style.fontWeight&&null},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],renderHTML({HTMLAttributes:e}){return["strong",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setBold:()=>({commands:e})=>e.setMark(this.name),toggleBold:()=>({commands:e})=>e.toggleMark(this.name),unsetBold:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[u({find:ba,type:this.type}),u({find:Na,type:this.type})]},addPasteRules(){return[w({find:Sa,type:this.type}),w({find:ya,type:this.type})]}}),Ta=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:e}){return["li",l(this.options.HTMLAttributes,e),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),Ha=g.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:e=>!!e.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:e}){return["span",l(this.options.HTMLAttributes,e),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:e,commands:t})=>{const A=Q(e,this.type),n=Object.entries(A).some((([,e])=>!!e));return!!n||t.unsetMark(this.name)}}}}),xa=/^\s*([-+*])\s$/,za=R.create({name:"bulletList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML:()=>[{tag:"ul"}],renderHTML({HTMLAttributes:e}){return["ul",l(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleBulletList:()=>({commands:e,chain:t})=>this.options.keepAttributes?t().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(Ta.name,this.editor.getAttributes(Ha.name)).run():e.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let e=d({find:xa,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(e=d({find:xa,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(Ha.name),editor:this.editor})),[e]}}),Ja=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))$/,ja=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g,Za=g.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:e}){return["code",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setCode:()=>({commands:e})=>e.setMark(this.name),toggleCode:()=>({commands:e})=>e.toggleMark(this.name),unsetCode:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[u({find:Ja,type:this.type})]},addPasteRules(){return[w({find:ja,type:this.type})]}}),va=R.create({name:"doc",topNode:!0,content:"block+"});function Pa(e={}){return new r({view:t=>new La(t,e)})}class La{constructor(e,t){var A;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=null!==(A=t.width)&&void 0!==A?A:1,this.color=!1===t.color?void 0:t.color||"black",this.class=t.class,this.handlers=["dragover","dragend","drop","dragleave"].map((t=>{let A=e=>{this[t](e)};return e.dom.addEventListener(t,A),{name:t,handler:A}}))}destroy(){this.handlers.forEach((({name:e,handler:t})=>this.editorView.dom.removeEventListener(e,t)))}update(e,t){null!=this.cursorPos&&t.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,null==e?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e,t=this.editorView.state.doc.resolve(this.cursorPos),A=!t.parent.inlineContent;if(A){let A=t.nodeBefore,n=t.nodeAfter;if(A||n){let t=this.editorView.nodeDOM(this.cursorPos-(A?A.nodeSize:0));if(t){let i=t.getBoundingClientRect(),r=A?i.bottom:i.top;A&&n&&(r=(r+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),e={left:i.left,right:i.right,top:r-this.width/2,bottom:r+this.width/2}}}}if(!e){let t=this.editorView.coordsAtPos(this.cursorPos);e={left:t.left-this.width/2,right:t.left+this.width/2,top:t.top,bottom:t.bottom}}let n,i,r=this.editorView.dom.offsetParent;if(this.element||(this.element=r.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",A),this.element.classList.toggle("prosemirror-dropcursor-inline",!A),!r||r==document.body&&"static"==getComputedStyle(r).position)n=-pageXOffset,i=-pageYOffset;else{let e=r.getBoundingClientRect();n=e.left-r.scrollLeft,i=e.top-r.scrollTop}this.element.style.left=e.left-n+"px",this.element.style.top=e.top-i+"px",this.element.style.width=e.right-e.left+"px",this.element.style.height=e.bottom-e.top+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),e)}dragover(e){if(!this.editorView.editable)return;let t=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),A=t&&t.inside>=0&&this.editorView.state.doc.nodeAt(t.inside),n=A&&A.type.spec.disableDropCursor,i="function"==typeof n?n(this.editorView,t,e):n;if(t&&!i){let e=t.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let t=S(this.editorView.state.doc,e,this.editorView.dragging.slice);null!=t&&(e=t)}this.setCursor(e),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){e.target!=this.editorView.dom&&this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}}const Va=s.create({name:"dropCursor",addOptions:()=>({color:"currentColor",width:1,class:void 0}),addProseMirrorPlugins(){return[Pa(this.options)]}});class Oa extends N{constructor(e){super(e,e)}map(e,t){let A=e.resolve(t.map(this.head));return Oa.valid(A)?new Oa(A):N.near(A)}content(){return y.empty}eq(e){return e instanceof Oa&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,t){if("number"!=typeof t.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new Oa(e.resolve(t.pos))}getBookmark(){return new _a(this.anchor)}static valid(e){let t=e.parent;if(t.isTextblock||!function(e){for(let t=e.depth;t>=0;t--){let A=e.index(t),n=e.node(t);if(0!=A)for(let e=n.child(A-1);;e=e.lastChild){if(0==e.childCount&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(e)||!function(e){for(let t=e.depth;t>=0;t--){let A=e.indexAfter(t),n=e.node(t);if(A!=n.childCount)for(let e=n.child(A);;e=e.firstChild){if(0==e.childCount&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(e))return!1;let A=t.type.spec.allowGapCursor;if(null!=A)return A;let n=t.contentMatchAt(e.index()).defaultType;return n&&n.isTextblock}static findGapCursorFrom(e,t,A=!1){e:for(;;){if(!A&&Oa.valid(e))return e;let n=e.pos,i=null;for(let A=e.depth;;A--){let r=e.node(A);if(t>0?e.indexAfter(A)0){i=r.child(t>0?e.indexAfter(A):e.index(A)-1);break}if(0==A)return null;n+=t;let o=e.doc.resolve(n);if(Oa.valid(o))return o}for(;;){let r=t>0?i.firstChild:i.lastChild;if(!r){if(i.isAtom&&!i.isText&&!p.isSelectable(i)){e=e.doc.resolve(n+i.nodeSize*t),A=!1;continue e}break}i=r,n+=t;let o=e.doc.resolve(n);if(Oa.valid(o))return o}return null}}}Oa.prototype.visible=!1,Oa.findFrom=Oa.findGapCursorFrom,N.jsonID("gapcursor",Oa);class _a{constructor(e){this.pos=e}map(e){return new _a(e.map(this.pos))}resolve(e){let t=e.resolve(this.pos);return Oa.valid(t)?new Oa(t):N.near(t)}}const Ka=T({ArrowLeft:Wa("horiz",-1),ArrowRight:Wa("horiz",1),ArrowUp:Wa("vert",-1),ArrowDown:Wa("vert",1)});function Wa(e,t){const A="vert"==e?t>0?"down":"up":t>0?"right":"left";return function(e,n,i){let r=e.selection,o=t>0?r.$to:r.$from,s=r.empty;if(r instanceof G){if(!i.endOfTextblock(A)||0==o.depth)return!1;s=!1,o=e.doc.resolve(t>0?o.after():o.before())}let c=Oa.findGapCursorFrom(o,t,s);return!!c&&(n&&n(e.tr.setSelection(new Oa(c))),!0)}}function Xa(e,t,A){if(!e||!e.editable)return!1;let n=e.state.doc.resolve(t);if(!Oa.valid(n))return!1;let i=e.posAtCoords({left:A.clientX,top:A.clientY});return!(i&&i.inside>-1&&p.isSelectable(e.state.doc.nodeAt(i.inside))||(e.dispatch(e.state.tr.setSelection(new Oa(n))),0))}function qa(e,t){if("insertCompositionText"!=t.inputType||!(e.state.selection instanceof Oa))return!1;let{$from:A}=e.state.selection,n=A.parent.contentMatchAt(A.index()).findWrapping(e.state.schema.nodes.text);if(!n)return!1;let i=H.empty;for(let e=n.length-1;e>=0;e--)i=H.from(n[e].createAndFill(null,i));let r=e.state.tr.replace(A.pos,A.pos,new y(i,0,0));return r.setSelection(G.near(r.doc.resolve(A.pos+1))),e.dispatch(r),!1}function $a(e){if(!(e.selection instanceof Oa))return null;let t=document.createElement("div");return t.className="ProseMirror-gapcursor",f.create(e.doc,[D.widget(e.selection.head,t,{key:"gapcursor"})])}const eg=s.create({name:"gapCursor",addProseMirrorPlugins:()=>[new r({props:{decorations:$a,createSelectionBetween:(e,t,A)=>t.pos==A.pos&&Oa.valid(A)?new Oa(A):null,handleClick:Xa,handleKeyDown:Ka,handleDOMEvents:{beforeinput:qa}}})],extendNodeSchema(e){var t;return{allowGapCursor:null!==(t=x(z(e,"allowGapCursor",{name:e.name,options:e.options,storage:e.storage})))&&void 0!==t?t:null}}}),tg=R.create({name:"hardBreak",addOptions:()=>({keepMarks:!0,HTMLAttributes:{}}),inline:!0,group:"inline",selectable:!1,parseHTML:()=>[{tag:"br"}],renderHTML({HTMLAttributes:e}){return["br",l(this.options.HTMLAttributes,e)]},renderText:()=>"\n",addCommands(){return{setHardBreak:()=>({commands:e,chain:t,state:A,editor:n})=>e.first([()=>e.exitCode(),()=>e.command((()=>{const{selection:e,storedMarks:i}=A;if(e.$from.parent.type.spec.isolating)return!1;const{keepMarks:r}=this.options,{splittableMarks:o}=n.extensionManager,s=i||e.$to.parentOffset&&e.$from.marks();return t().insertContent({type:this.name}).command((({tr:e,dispatch:t})=>{if(t&&s&&r){const t=s.filter((e=>o.includes(e.type.name)));e.ensureMarks(t)}return!0})).run()}))])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),Ag=R.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map((e=>({tag:`h${e}`,attrs:{level:e}})))},renderHTML({node:e,HTMLAttributes:t}){return[`h${this.options.levels.includes(e.attrs.level)?e.attrs.level:this.options.levels[0]}`,l(this.options.HTMLAttributes,t),0]},addCommands(){return{setHeading:e=>({commands:t})=>!!this.options.levels.includes(e.level)&&t.setNode(this.name,e),toggleHeading:e=>({commands:t})=>!!this.options.levels.includes(e.level)&&t.toggleNode(this.name,"paragraph",e)}},addKeyboardShortcuts(){return this.options.levels.reduce(((e,t)=>({...e,[`Mod-Alt-${t}`]:()=>this.editor.commands.toggleHeading({level:t})})),{})},addInputRules(){return this.options.levels.map((e=>k({find:new RegExp(`^(#{1,${e}})\\s$`),type:this.type,getAttributes:{level:e}})))}});var ng=200,ig=function(){};ig.prototype.append=function(e){return e.length?(e=ig.from(e),!this.length&&e||e.length=t?ig.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,t))},ig.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)},ig.prototype.forEach=function(e,t,A){void 0===t&&(t=0),void 0===A&&(A=this.length),t<=A?this.forEachInner(e,t,A,0):this.forEachInvertedInner(e,t,A,0)},ig.prototype.map=function(e,t,A){void 0===t&&(t=0),void 0===A&&(A=this.length);var n=[];return this.forEach((function(t,A){return n.push(e(t,A))}),t,A),n},ig.from=function(e){return e instanceof ig?e:e&&e.length?new rg(e):ig.empty};var rg=function(e){function t(t){e.call(this),this.values=t}e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t;var A={length:{configurable:!0},depth:{configurable:!0}};return t.prototype.flatten=function(){return this.values},t.prototype.sliceInner=function(e,A){return 0==e&&A==this.length?this:new t(this.values.slice(e,A))},t.prototype.getInner=function(e){return this.values[e]},t.prototype.forEachInner=function(e,t,A,n){for(var i=t;i=A;i--)if(!1===e(this.values[i],n+i))return!1},t.prototype.leafAppend=function(e){if(this.length+e.length<=ng)return new t(this.values.concat(e.flatten()))},t.prototype.leafPrepend=function(e){if(this.length+e.length<=ng)return new t(e.flatten().concat(this.values))},A.length.get=function(){return this.values.length},A.depth.get=function(){return 0},Object.defineProperties(t.prototype,A),t}(ig);ig.empty=new rg([]);var og=function(e){function t(t,A){e.call(this),this.left=t,this.right=A,this.length=t.length+A.length,this.depth=Math.max(t.depth,A.depth)+1}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t,t.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},t.prototype.getInner=function(e){return ei&&!1===this.right.forEachInner(e,Math.max(t-i,0),Math.min(this.length,A)-i,n+i))&&void 0},t.prototype.forEachInvertedInner=function(e,t,A,n){var i=this.left.length;return!(t>i&&!1===this.right.forEachInvertedInner(e,t-i,Math.max(A,i)-i,n+i))&&!(A=A?this.right.slice(e-A,t-A):this.left.slice(e,A).append(this.right.slice(0,t-A))},t.prototype.leafAppend=function(e){var A=this.right.leafAppend(e);if(A)return new t(this.left,A)},t.prototype.leafPrepend=function(e){var A=this.left.leafPrepend(e);if(A)return new t(A,this.right)},t.prototype.appendInner=function(e){return this.left.depth>=Math.max(this.right.depth,e.depth)+1?new t(this.left,new t(this.right,e)):new t(this,e)},t}(ig);class sg{constructor(e,t){this.items=e,this.eventCount=t}popEvent(e,t){if(0==this.eventCount)return null;let A,n,i=this.items.length;for(;;i--)if(this.items.get(i-1).selection){--i;break}t&&(A=this.remapping(i,this.items.length),n=A.maps.length);let r,o,s=e.tr,c=[],E=[];return this.items.forEach(((e,t)=>{if(!e.step)return A||(A=this.remapping(i,t+1),n=A.maps.length),n--,void E.push(e);if(A){E.push(new cg(e.map));let t,i=e.step.map(A.slice(n));i&&s.maybeStep(i).doc&&(t=s.mapping.maps[s.mapping.maps.length-1],c.push(new cg(t,void 0,void 0,c.length+E.length))),n--,t&&A.appendMap(t,n)}else s.maybeStep(e.step);return e.selection?(r=A?e.selection.map(A.slice(n)):e.selection,o=new sg(this.items.slice(0,i).append(E.reverse().concat(c)),this.eventCount-1),!1):void 0}),this.items.length,0),{remaining:o,transform:s,selection:r}}addTransform(e,t,A,n){let i=[],r=this.eventCount,o=this.items,s=!n&&o.length?o.get(o.length-1):null;for(let A=0;ABg&&(o=function(e,t){let A;return e.forEach(((e,n)=>{if(e.selection&&0==t--)return A=n,!1})),e.slice(A)}(o,c),r-=c),new sg(o.append(i),r)}remapping(e,t){let A=new J;return this.items.forEach(((t,n)=>{A.appendMap(t.map,null!=t.mirrorOffset&&n-t.mirrorOffset>=e?A.maps.length-t.mirrorOffset:void 0)}),e,t),A}addMaps(e){return 0==this.eventCount?this:new sg(this.items.append(e.map((e=>new cg(e)))),this.eventCount)}rebased(e,t){if(!this.eventCount)return this;let A=[],n=Math.max(0,this.items.length-t),i=e.mapping,r=e.steps.length,o=this.eventCount;this.items.forEach((e=>{e.selection&&o--}),n);let s=t;this.items.forEach((t=>{let n=i.getMirror(--s);if(null==n)return;r=Math.min(r,n);let c=i.maps[n];if(t.step){let r=e.steps[n].invert(e.docs[n]),E=t.selection&&t.selection.map(i.slice(s+1,n));E&&o++,A.push(new cg(c,r,E))}else A.push(new cg(c))}),n);let c=[];for(let e=t;e500&&(B=B.compress(this.items.length-A.length)),B}emptyItemCount(){let e=0;return this.items.forEach((t=>{t.step||e++})),e}compress(e=this.items.length){let t=this.remapping(0,e),A=t.maps.length,n=[],i=0;return this.items.forEach(((r,o)=>{if(o>=e)n.push(r),r.selection&&i++;else if(r.step){let e=r.step.map(t.slice(A)),o=e&&e.getMap();if(A--,o&&t.appendMap(o,A),e){let s=r.selection&&r.selection.map(t.slice(A));s&&i++;let c,E=new cg(o.invert(),e,s),B=n.length-1;(c=n.length&&n[B].merge(E))?n[B]=c:n.push(E)}}else r.map&&A--}),this.items.length,0),new sg(ig.from(n.reverse()),i)}}sg.empty=new sg(ig.empty,0);class cg{constructor(e,t,A,n){this.map=e,this.step=t,this.selection=A,this.mirrorOffset=n}merge(e){if(this.step&&e.step&&!e.selection){let t=e.step.merge(this.step);if(t)return new cg(t.getMap().invert(),t,this.selection)}}}class Eg{constructor(e,t,A,n,i){this.done=e,this.undone=t,this.prevRanges=A,this.prevTime=n,this.prevComposition=i}}const Bg=20;function ag(e){let t=[];return e.forEach(((e,A,n,i)=>t.push(n,i))),t}function gg(e,t){if(!e)return null;let A=[];for(let n=0;nnew Eg(sg.empty,sg.empty,null,0,-1),apply:(t,A,n)=>function(e,t,A,n){let i,r=A.getMeta(ug);if(r)return r.historyState;A.getMeta(wg)&&(e=new Eg(e.done,e.undone,null,0,-1));let o=A.getMeta("appendedTransaction");if(0==A.steps.length)return e;if(o&&o.getMeta(ug))return o.getMeta(ug).redo?new Eg(e.done.addTransform(A,void 0,n,hg(t)),e.undone,ag(A.mapping.maps[A.steps.length-1]),e.prevTime,e.prevComposition):new Eg(e.done,e.undone.addTransform(A,void 0,n,hg(t)),null,e.prevTime,e.prevComposition);if(!1===A.getMeta("addToHistory")||o&&!1===o.getMeta("addToHistory"))return(i=A.getMeta("rebased"))?new Eg(e.done.rebased(A,i),e.undone.rebased(A,i),gg(e.prevRanges,A.mapping),e.prevTime,e.prevComposition):new Eg(e.done.addMaps(A.mapping.maps),e.undone.addMaps(A.mapping.maps),gg(e.prevRanges,A.mapping),e.prevTime,e.prevComposition);{let i=A.getMeta("composition"),r=0==e.prevTime||!o&&e.prevComposition!=i&&(e.prevTime<(A.time||0)-n.newGroupDelay||!function(e,t){if(!t)return!1;if(!e.docChanged)return!0;let A=!1;return e.mapping.maps[0].forEach(((e,n)=>{for(let i=0;i=t[i]&&(A=!0)})),A}(A,e.prevRanges)),s=o?gg(e.prevRanges,A.mapping):ag(A.mapping.maps[A.steps.length-1]);return new Eg(e.done.addTransform(A,r?t.selection.getBookmark():void 0,n,hg(t)),sg.empty,s,A.time,null==i?e.prevComposition:i)}}(A,n,t,e)},config:e={depth:e.depth||100,newGroupDelay:e.newGroupDelay||500},props:{handleDOMEvents:{beforeinput(e,t){let A=t.inputType,n="historyUndo"==A?dg:"historyRedo"==A?Ig:null;return!!n&&(t.preventDefault(),n(e.state,e.dispatch))}}}})}function Rg(e,t){return(A,n)=>{let i=ug.getState(A);if(!i||0==(e?i.undone:i.done).eventCount)return!1;if(n){let r=function(e,t,A){let n=hg(t),i=ug.get(t).spec.config,r=(A?e.undone:e.done).popEvent(t,n);if(!r)return null;let o=r.selection.resolve(r.transform.doc),s=(A?e.done:e.undone).addTransform(r.transform,t.selection.getBookmark(),i,n),c=new Eg(A?s:r.remaining,A?r.remaining:s,null,0,-1);return r.transform.setSelection(o).setMeta(ug,{redo:A,historyState:c})}(i,A,e);r&&n(t?r.scrollIntoView():r)}return!0}}const dg=Rg(!1,!0),Ig=Rg(!0,!0),kg=s.create({name:"history",addOptions:()=>({depth:100,newGroupDelay:500}),addCommands:()=>({undo:()=>({state:e,dispatch:t})=>dg(e,t),redo:()=>({state:e,dispatch:t})=>Ig(e,t)}),addProseMirrorPlugins(){return[Mg(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),Gg=R.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{}}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:e}){return["hr",l(this.options.HTMLAttributes,e)]},addCommands(){return{setHorizontalRule:()=>({chain:e,state:t})=>{const{$to:A}=t.selection,n=e();return 0===A.parentOffset?n.insertContentAt(Math.max(A.pos-2,0),{type:this.name}):n.insertContent({type:this.name}),n.command((({tr:e,dispatch:t})=>{var A;if(t){const{$to:t}=e.selection,n=t.end();if(t.nodeAfter)e.setSelection(t.nodeAfter.isTextblock?G.create(e.doc,t.pos+1):t.nodeAfter.isBlock?p.create(e.doc,t.pos):G.create(e.doc,t.pos));else{const i=null===(A=t.parent.type.contentMatch.defaultType)||void 0===A?void 0:A.create();i&&(e.insert(n,i),e.setSelection(G.create(e.doc,n+1)))}e.scrollIntoView()}return!0})).run()}}},addInputRules(){return[j({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),fg=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,Cg=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,Dg=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,Fg=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,Yg=g.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"em"},{tag:"i",getAttrs:e=>"normal"!==e.style.fontStyle&&null},{style:"font-style=italic"}],renderHTML({HTMLAttributes:e}){return["em",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setItalic:()=>({commands:e})=>e.setMark(this.name),toggleItalic:()=>({commands:e})=>e.toggleMark(this.name),unsetItalic:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[u({find:fg,type:this.type}),u({find:Dg,type:this.type})]},addPasteRules(){return[w({find:Cg,type:this.type}),w({find:Fg,type:this.type})]}}),mg=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:e}){return["li",l(this.options.HTMLAttributes,e),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),Ug=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:e}){return["li",l(this.options.HTMLAttributes,e),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),bg=g.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:e=>!!e.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:e}){return["span",l(this.options.HTMLAttributes,e),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:e,commands:t})=>{const A=Q(e,this.type),n=Object.entries(A).some((([,e])=>!!e));return!!n||t.unsetMark(this.name)}}}}),Sg=/^(\d+)\.\s$/,Ng=R.create({name:"orderedList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes:()=>({start:{default:1,parseHTML:e=>e.hasAttribute("start")?parseInt(e.getAttribute("start")||"",10):1}}),parseHTML:()=>[{tag:"ol"}],renderHTML({HTMLAttributes:e}){const{start:t,...A}=e;return 1===t?["ol",l(this.options.HTMLAttributes,A),0]:["ol",l(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleOrderedList:()=>({commands:e,chain:t})=>this.options.keepAttributes?t().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(Ug.name,this.editor.getAttributes(bg.name)).run():e.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let e=d({find:Sg,type:this.type,getAttributes:e=>({start:+e[1]}),joinPredicate:(e,t)=>t.childCount+t.attrs.start===+e[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(e=d({find:Sg,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:e=>({start:+e[1],...this.editor.getAttributes(bg.name)}),joinPredicate:(e,t)=>t.childCount+t.attrs.start===+e[1],editor:this.editor})),[e]}}),yg=R.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:e}){return["p",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setParagraph:()=>({commands:e})=>e.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),pg=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,Tg=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Hg=g.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:e=>!!e.includes("line-through")&&{}}],renderHTML({HTMLAttributes:e}){return["s",l(this.options.HTMLAttributes,e),0]},addCommands(){return{setStrike:()=>({commands:e})=>e.setMark(this.name),toggleStrike:()=>({commands:e})=>e.toggleMark(this.name),unsetStrike:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){const e={};return v()?e["Mod-Shift-s"]=()=>this.editor.commands.toggleStrike():e["Ctrl-Shift-s"]=()=>this.editor.commands.toggleStrike(),e},addInputRules(){return[u({find:pg,type:this.type})]},addPasteRules(){return[w({find:Tg,type:this.type})]}}),xg=R.create({name:"text",group:"inline"}),zg=s.create({name:"starterKit",addExtensions(){var e,t,A,n,i,r,o,s,c,E,B,a,g,l,Q,h,u,w;const M=[];return!1!==this.options.blockquote&&M.push(Ua.configure(null===(e=this.options)||void 0===e?void 0:e.blockquote)),!1!==this.options.bold&&M.push(pa.configure(null===(t=this.options)||void 0===t?void 0:t.bold)),!1!==this.options.bulletList&&M.push(za.configure(null===(A=this.options)||void 0===A?void 0:A.bulletList)),!1!==this.options.code&&M.push(Za.configure(null===(n=this.options)||void 0===n?void 0:n.code)),!1!==this.options.codeBlock&&M.push(Cr.configure(null===(i=this.options)||void 0===i?void 0:i.codeBlock)),!1!==this.options.document&&M.push(va.configure(null===(r=this.options)||void 0===r?void 0:r.document)),!1!==this.options.dropcursor&&M.push(Va.configure(null===(o=this.options)||void 0===o?void 0:o.dropcursor)),!1!==this.options.gapcursor&&M.push(eg.configure(null===(s=this.options)||void 0===s?void 0:s.gapcursor)),!1!==this.options.hardBreak&&M.push(tg.configure(null===(c=this.options)||void 0===c?void 0:c.hardBreak)),!1!==this.options.heading&&M.push(Ag.configure(null===(E=this.options)||void 0===E?void 0:E.heading)),!1!==this.options.history&&M.push(kg.configure(null===(B=this.options)||void 0===B?void 0:B.history)),!1!==this.options.horizontalRule&&M.push(Gg.configure(null===(a=this.options)||void 0===a?void 0:a.horizontalRule)),!1!==this.options.italic&&M.push(Yg.configure(null===(g=this.options)||void 0===g?void 0:g.italic)),!1!==this.options.listItem&&M.push(mg.configure(null===(l=this.options)||void 0===l?void 0:l.listItem)),!1!==this.options.orderedList&&M.push(Ng.configure(null===(Q=this.options)||void 0===Q?void 0:Q.orderedList)),!1!==this.options.paragraph&&M.push(yg.configure(null===(h=this.options)||void 0===h?void 0:h.paragraph)),!1!==this.options.strike&&M.push(Hg.configure(null===(u=this.options)||void 0===u?void 0:u.strike)),!1!==this.options.text&&M.push(xg.configure(null===(w=this.options)||void 0===w?void 0:w.text)),M}}),Jg=/[\uD800-\uDBFF]/,jg=/[\uDC00-\uDFFF]/,Zg=new o("y-sync"),vg=new o("y-undo"),Pg=new o("yjs-cursor"),Lg=(e,t)=>void 0===t?!e.deleted:t.sv.has(e.id.client)&&t.sv.get(e.id.client)>e.id.clock&&!MA(t.ds,e.id),Vg=[{light:"#ecd44433",dark:"#ecd444"}],Og=(e,t,A)=>{if(!e.has(A)){if(e.sizeA.add(e))),t=t.filter((e=>!A.has(e)))}e.set(A,(n=t)[fe(Ft()*n.length)])}var n;return e.get(A)},_g=(e,t)=>({anchor:ll(t.selection.anchor,e.type,e.mapping),head:ll(t.selection.head,e.type,e.mapping)});class Kg{constructor(e,t){this.type=e,this.prosemirrorView=t,this.mux=(()=>{let e=!0;return(t,A)=>{if(e){e=!1;try{t()}finally{e=!0}}else void 0!==A&&A()}})(),this.isDestroyed=!1,this.mapping=new Map,this._observeFunction=this._typeChanged.bind(this),this.doc=e.doc,this.beforeTransactionSelection=null,this.beforeAllTransactions=()=>{null===this.beforeTransactionSelection&&(this.beforeTransactionSelection=_g(this,t.state))},this.afterAllTransactions=()=>{this.beforeTransactionSelection=null},this.doc.on("beforeAllTransactions",this.beforeAllTransactions),this.doc.on("afterAllTransactions",this.afterAllTransactions),e.observeDeep(this._observeFunction),this._domSelectionInView=null}get _tr(){return this.prosemirrorView.state.tr.setMeta("addToHistory",!1)}_isLocalCursorInView(){return!!this.prosemirrorView.hasFocus()&&(jt&&null===this._domSelectionInView&&($t(0,(()=>{this._domSelectionInView=null})),this._domSelectionInView=this._isDomSelectionInView()),this._domSelectionInView)}_isDomSelectionInView(){const e=this.prosemirrorView._root.getSelection(),t=this.prosemirrorView._root.createRange();t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset),0===t.getClientRects().length&&t.startContainer&&t.collapsed&&t.selectNodeContents(t.startContainer);const A=t.getBoundingClientRect(),n=Wt.documentElement;return A.bottom>=0&&A.right>=0&&A.left<=(window.innerWidth||n.clientWidth||0)&&A.top<=(window.innerHeight||n.clientHeight||0)}renderSnapshot(e,t){t||(t=rn(kA(),new Map)),this.prosemirrorView.dispatch(this._tr.setMeta(Zg,{snapshot:e,prevSnapshot:t}))}unrenderSnapshot(){this.mapping=new Map,this.mux((()=>{const e=this.type.toArray().map((e=>Xg(e,this.prosemirrorView.state.schema,this.mapping))).filter((e=>null!==e)),t=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new y(H.from(e),0,0));t.setMeta(Zg,{snapshot:null,prevSnapshot:null}),this.prosemirrorView.dispatch(t)}))}_forceRerender(){this.mapping=new Map,this.mux((()=>{const e=this.type.toArray().map((e=>Xg(e,this.prosemirrorView.state.schema,this.mapping))).filter((e=>null!==e)),t=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new y(H.from(e),0,0));this.prosemirrorView.dispatch(t.setMeta(Zg,{isChangeOrigin:!0,binding:this}))}))}_renderSnapshot(e,t,A){e||(e=(e=>rn(GA(e.store),En(e.store)))(this.doc)),this.mapping=new Map,this.mux((()=>{this.doc.transact((n=>{const i=A.permanentUserData;i&&i.dss.forEach((e=>{wA(n,e,(()=>{}))}));const r=(e,t)=>{const n="added"===e?i.getUserByClientId(t.client):i.getUserByDeletedId(t);return{user:n,type:e,color:Og(A.colorMapping,A.colors,n)}},o=Wn(this.type,new nn(t.ds,e.sv)).map((A=>!A._item.deleted||Lg(A._item,e)||Lg(A._item,t)?Xg(A,this.prosemirrorView.state.schema,new Map,e,t,r):null)).filter((e=>null!==e)),s=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new y(H.from(o),0,0));this.prosemirrorView.dispatch(s.setMeta(Zg,{isChangeOrigin:!0}))}),Zg)}))}_typeChanged(e,t){const A=Zg.getState(this.prosemirrorView.state);0!==e.length&&null==A.snapshot&&null==A.prevSnapshot?this.mux((()=>{const e=(e,t)=>this.mapping.delete(t);wA(t,t.deleteSet,(e=>{if(e.constructor===cr){const t=e.content.type;t&&this.mapping.delete(t)}})),t.changed.forEach(e),t.changedParentTypes.forEach(e);const A=this.type.toArray().map((e=>Wg(e,this.prosemirrorView.state.schema,this.mapping))).filter((e=>null!==e));let n=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new y(H.from(A),0,0));((e,t,A)=>{if(null!==t&&null!==t.anchor&&null!==t.head){const n=hl(A.doc,A.type,t.anchor,A.mapping),i=hl(A.doc,A.type,t.head,A.mapping);null!==n&&null!==i&&(e=e.setSelection(G.create(e.doc,n,i)))}})(n,this.beforeTransactionSelection,this),n=n.setMeta(Zg,{isChangeOrigin:!0,isUndoRedoOperation:t.origin instanceof Fn}),null!==this.beforeTransactionSelection&&this._isLocalCursorInView()&&n.scrollIntoView(),this.prosemirrorView.dispatch(n)})):this.renderSnapshot(A.snapshot,A.prevSnapshot)}_prosemirrorChanged(e){this.doc.transact((()=>{El(this.doc,this.type,e,this.mapping),this.beforeTransactionSelection=_g(this,this.prosemirrorView.state)}),Zg)}destroy(){this.isDestroyed=!0,this.type.unobserveDeep(this._observeFunction),this.doc.off("beforeAllTransactions",this.beforeAllTransactions),this.doc.off("afterAllTransactions",this.afterAllTransactions)}}const Wg=(e,t,A,n,i,r)=>{const o=A.get(e);if(void 0===o){if(e instanceof Ni)return Xg(e,t,A,n,i,r);throw ct()}return o},Xg=(e,t,A,n,i,r)=>{const o=[],s=e=>{if(e.constructor===Ni){const s=Wg(e,t,A,n,i,r);null!==s&&o.push(s)}else{const s=qg(e,t,A,n,i,r);null!==s&&s.forEach((e=>{null!==e&&o.push(e)}))}};void 0===n||void 0===i?e.toArray().forEach(s):Wn(e,new nn(i.ds,n.sv)).forEach(s);try{const s=e.getAttributes(n);void 0!==n&&(Lg(e._item,n)?Lg(e._item,i)||(s.ychange=r?r("added",e._item.id):{type:"added"}):s.ychange=r?r("removed",e._item.id):{type:"removed"});const c=t.node(e.nodeName,s,o);return A.set(e,c),c}catch(t){return e.doc.transact((t=>{e._item.delete(t)}),Zg),A.delete(e),null}},qg=(e,t,A,n,i,r)=>{const o=[],s=e.toDelta(n,i,r);try{for(let e=0;e{e._item.delete(t)}),Zg),null}return o},$g=(e,t)=>e instanceof Array?((e,t)=>{const A=new Ti,n=e.map((e=>({insert:e.text,attributes:cl(e.marks)})));return A.applyDelta(n),t.set(A,e),A})(e,t):((e,t)=>{const A=new Ni(e.type.name);for(const t in e.attrs){const n=e.attrs[t];null!==n&&"ychange"!==t&&A.setAttribute(t,n)}return A.insert(0,Al(e).map((e=>$g(e,t)))),t.set(A,e),A})(e,t),el=e=>"object"==typeof e&&null!==e,tl=(e,t)=>{const A=Object.keys(e).filter((t=>null!==e[t]));let n=A.length===Object.keys(t).filter((e=>null!==t[e])).length;for(let i=0;i{const t=e.content.content,A=[];for(let e=0;e{const A=e.toDelta();return A.length===t.length&&A.every(((e,A)=>e.insert===t[A].text&&Tt(e.attributes||{}).length===t[A].marks.length&&t[A].marks.every((t=>tl(e.attributes[t.type.name]||{},t.attrs)))))},il=(e,t)=>{if(e instanceof Ni&&!(t instanceof Array)&&Bl(e,t)){const A=Al(t);return e._length===A.length&&tl(e.getAttributes(),t.attrs)&&e.toArray().every(((e,t)=>il(e,A[t])))}return e instanceof Ti&&t instanceof Array&&nl(e,t)},rl=(e,t)=>e===t||e instanceof Array&&t instanceof Array&&e.length===t.length&&e.every(((e,A)=>t[A]===e)),ol=(e,t,A)=>{const n=e.toArray(),i=Al(t),r=i.length,o=n.length,s=De(o,r);let c=0,E=0,B=!1;for(;c{A.set(e,t);const{nAttrs:n,str:i}=(e=>{let t="",A=e._start;const n={};for(;null!==A;)A.deleted||(A.countable&&A.content instanceof Oi?t+=A.content.str:A.content instanceof Pi&&(n[A.content.key]=null)),A=A.right;return{str:t,nAttrs:n}})(e),r=t.map((e=>({insert:e.text,attributes:Object.assign({},n,cl(e.marks))}))),{insert:o,remove:s,index:c}=((e,t)=>{let A=0,n=0;for(;A0&&Jg.test(e[A-1])&&A--;n+A0&&jg.test(e[e.length-n])&&n--,{index:A,remove:e.length-A-n,insert:t.slice(A,t.length-n)}})(i,r.map((e=>e.insert)).join(""));e.delete(c,s),e.insert(c,o),e.applyDelta(r.map((e=>({retain:e.insert.length,attributes:e.attributes}))))},cl=e=>{const t={};return e.forEach((e=>{"ychange"!==e.type.name&&(t[e.type.name]=e.attrs)})),t},El=(e,t,A,n)=>{if(t instanceof Ni&&t.nodeName!==A.type.name)throw new Error("node name mismatch!");if(n.set(t,A),t instanceof Ni){const e=t.getAttributes(),n=A.attrs;for(const A in n)null!==n[A]?e[A]!==n[A]&&"ychange"!==A&&t.setAttribute(A,n[A]):t.removeAttribute(A);for(const A in e)void 0===n[A]&&t.removeAttribute(A)}const i=Al(A),r=i.length,o=t.toArray(),s=o.length,c=De(r,s);let E=0,B=0;for(;E{for(;s-E-B>0&&r-E-B>0;){const A=o[E],c=i[E],a=o[s-B-1],g=i[r-B-1];if(A instanceof Ti&&c instanceof Array)nl(A,c)||sl(A,c,n),E+=1;else{let i=A instanceof Ni&&Bl(A,c),r=a instanceof Ni&&Bl(a,g);if(i&&r){const e=ol(A,c,n),t=ol(a,g,n);e.foundMappedChild&&!t.foundMappedChild?r=!1:!e.foundMappedChild&&t.foundMappedChild||e.equalityFactor0&&(t.slice(E,E+A).forEach((e=>n.delete(e))),t.delete(E,A)),E+B!(t instanceof Array)&&e.nodeName===t.type.name;let al=null;const gl=()=>{const e=al;al=null,e.forEach(((e,t)=>{const A=t.state.tr,n=Zg.getState(t.state);n&&n.binding&&!n.binding.isDestroyed&&(e.forEach(((e,t)=>{A.setMeta(t,e)})),t.dispatch(A))}))},ll=(e,t,A)=>{if(0===e)return tn(t,0);let n=null===t._first?null:t._first.content.type;for(;null!==n&&t!==n;){if(n instanceof Ti){if(n._length>=e)return tn(n,e);if(e-=n._length,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{do{n=null===n._item?null:n._item.parent,e--}while(n!==t&&null!==n&&null!==n._item&&null===n._item.next);null!==n&&n!==t&&(n=null===n._item?null:n._item.next.content.type)}}else{const i=(A.get(n)||{nodeSize:0}).nodeSize;if(null!==n._first&&e1)return new XA(null===n._item?null:n._item.id,null===n._item?KA(n):null,null);if(e-=i,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{if(0===e)return n=null===n._item?n:n._item.parent,new XA(null===n._item?null:n._item.id,null===n._item?KA(n):null,null);do{n=n._item.parent,e--}while(n!==t&&null===n._item.next);n!==t&&(n=n._item.next.content.type)}}}if(null===n)throw Et();if(0===e&&n.constructor!==Ti&&n!==t)return Ql(n._item.parent,n._item)}return tn(t,t._length)},Ql=(e,t)=>{let A=null,n=null;return null===e._item?n=KA(e):A=_A(e._item.id.client,e._item.id.clock),new XA(A,n,t.id)},hl=(e,t,A,n)=>{const i=((e,t,A=!0)=>{const n=t.store,i=e.item,r=e.type,o=e.tname,s=e.assoc;let c=null,E=0;if(null!==i){if(Bn(n,i.client)<=i.clock)return null;const e=A?nr(n,i):{item:ln(n,i),diff:0},t=e.item;if(!(t instanceof cr))return null;if(c=t.parent,null===c._item||!c._item.deleted){E=t.deleted||!t.countable?0:e.diff+(s>=0?0:1);let A=t.left;for(;null!==A;)!A.deleted&&A.countable&&(E+=A.length),A=A.left}}else{if(null!==o)c=t.get(o);else{if(null===r)throw Et();{if(Bn(n,r.client)<=r.clock)return null;const{item:e}=A?nr(n,r):{item:ln(n,r)};if(!(e instanceof cr&&e.content instanceof Ar))return null;c=e.content.type}}E=s>=0?c._length:0}return((e,t,A=0)=>new $A(e,t,A))(c,E,e.assoc)})(A,e);if(null===i||i.type!==t&&!WA(t,i.type._item))return null;let r=i.type,o=0;if(r.constructor===Ti)o=i.index;else if(null===r._item||!r._item.deleted){let e=r._first,t=0;for(;te!==t,wl=e=>{const t=document.createElement("span");t.classList.add("ProseMirror-yjs-cursor"),t.setAttribute("style",`border-color: ${e.color}`);const A=document.createElement("div");A.setAttribute("style",`background-color: ${e.color}`),A.insertBefore(document.createTextNode(e.name),null);const n=document.createTextNode("⁠"),i=document.createTextNode("⁠");return t.insertBefore(n,null),t.insertBefore(A,null),t.insertBefore(i,null),t},Ml=e=>({style:`background-color: ${e.color}70`,class:"ProseMirror-yjs-selection"}),Rl=/^#[0-9a-fA-F]{6}$/,dl=(e,t,A,n,i)=>{const r=Zg.getState(e),o=r.doc,s=[];return null!=r.snapshot||null!=r.prevSnapshot||null===r.binding?f.create(e.doc,[]):(t.getStates().forEach(((t,c)=>{if(A(o.clientID,c,t)&&null!=t.cursor){const A=t.user||{};null==A.color?A.color="#ffa500":Rl.test(A.color)||console.warn("A user uses an unsupported color format",A),null==A.name&&(A.name=`User: ${c}`);let E=hl(o,r.type,qA(t.cursor.anchor),r.binding.mapping),B=hl(o,r.type,qA(t.cursor.head),r.binding.mapping);if(null!==E&&null!==B){const t=Fe(e.doc.content.size-1,0);E=De(E,t),B=De(B,t),s.push(D.widget(B,(()=>n(A)),{key:c+"",side:10}));const r=De(E,B),o=Fe(E,B);s.push(D.inline(r,o,i(A),{inclusiveEnd:!0,inclusiveStart:!1}))}}})),f.create(e.doc,s))},Il=(e,{awarenessStateFilter:t=ul,cursorBuilder:A=wl,selectionBuilder:n=Ml,getSelection:i=(e=>e.selection)}={},o="cursor")=>new r({key:Pg,state:{init:(i,r)=>dl(r,e,t,A,n),apply(i,r,o,s){const c=Zg.getState(s),E=i.getMeta(Pg);return c&&c.isChangeOrigin||E&&E.awarenessUpdated?dl(s,e,t,A,n):r.map(i.mapping,i.doc)}},props:{decorations:e=>Pg.getState(e)},view:t=>{const A=()=>{t.docView&&((e,t)=>{al||(al=new Map,$t(0,gl)),we(al,e,he).set(t,{awarenessUpdated:!0})})(t,Pg)},n=()=>{const A=Zg.getState(t.state),n=e.getLocalState()||{};if(null!=A.binding)if(t.hasFocus()){const r=i(t.state),s=ll(r.anchor,A.type,A.binding.mapping),c=ll(r.head,A.type,A.binding.mapping);null!=n.cursor&&An(qA(n.cursor.anchor),s)&&An(qA(n.cursor.head),c)||e.setLocalStateField(o,{anchor:s,head:c})}else null!=n.cursor&&null!==hl(A.doc,A.type,qA(n.cursor.anchor),A.binding.mapping)&&e.setLocalStateField(o,null)};return e.on("change",A),t.dom.addEventListener("focusin",n),t.dom.addEventListener("focusout",n),{update:n,destroy:()=>{t.dom.removeEventListener("focusin",n),t.dom.removeEventListener("focusout",n),e.off("change",A),e.setLocalStateField(o,null)}}}}),kl=new Set(["paragraph"]),Gl=s.create({name:"collaboration",priority:1e3,addOptions:()=>({document:null,field:"default",fragment:null}),onCreate(){this.editor.extensionManager.extensions.find((e=>"history"===e.name))&&console.warn('[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-history".')},addCommands:()=>({undo:()=>({tr:e,state:t,dispatch:A})=>(e.setMeta("preventDispatch",!0),0!==vg.getState(t).undoManager.undoStack.length&&(!A||(e=>{const t=vg.getState(e).undoManager;if(null!=t)return t.undo(),!0})(t))),redo:()=>({tr:e,state:t,dispatch:A})=>(e.setMeta("preventDispatch",!0),0!==vg.getState(t).undoManager.redoStack.length&&(!A||(e=>{const t=vg.getState(e).undoManager;if(null!=t)return t.redo(),!0})(t)))}),addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo()}},addProseMirrorPlugins(){const e=this.options.fragment?this.options.fragment:this.options.document.getXmlFragment(this.options.field),t=(({protectedNodes:e=kl,trackedOrigins:t=[],undoManager:A=null}={})=>new r({key:vg,state:{init:(n,i)=>{const r=Zg.getState(i),o=A||new Fn(r.type,{trackedOrigins:new Set([Zg].concat(t)),deleteFilter:t=>((e,t)=>!(e instanceof cr&&e.content instanceof Ar&&(e.content.type instanceof Ui||e.content.type instanceof Ni&&t.has(e.content.type.nodeName))&&0!==e.content.type._length))(t,e),captureTransaction:e=>!1!==e.meta.get("addToHistory")});return{undoManager:o,prevSel:null,hasUndoOps:o.undoStack.length>0,hasRedoOps:o.redoStack.length>0}},apply:(e,t,A,n)=>{const i=Zg.getState(n).binding,r=t.undoManager,o=r.undoStack.length>0,s=r.redoStack.length>0;return i?{undoManager:r,prevSel:_g(i,A),hasUndoOps:o,hasRedoOps:s}:o!==t.hasUndoOps||s!==t.hasRedoOps?Object.assign({},t,{hasUndoOps:r.undoStack.length>0,hasRedoOps:r.redoStack.length>0}):t}},view:e=>{const t=Zg.getState(e.state),A=vg.getState(e.state).undoManager;return A.on("stack-item-added",(({stackItem:A})=>{const n=t.binding;n&&A.meta.set(n,vg.getState(e.state).prevSel)})),A.on("stack-item-popped",(({stackItem:e})=>{const A=t.binding;A&&(A.beforeTransactionSelection=e.meta.get(A)||A.beforeTransactionSelection)})),{destroy:()=>{A.destroy()}}}}))(),A=t.spec.view;t.spec.view=e=>{const{undoManager:t}=vg.getState(e.state);t.restore&&(t.restore(),t.restore=()=>{});const n=A?A(e):void 0;return{destroy:()=>{const e=t.trackedOrigins.has(t),A=t._observers;t.restore=()=>{e&&t.trackedOrigins.add(t),t.doc.on("afterTransaction",t.afterTransactionHandler),t._observers=A},(null==n?void 0:n.destroy)&&n.destroy()}}};const n=this.options.ySyncOptions,i=this.options.onFirstRender,o=((e,{colors:t=Vg,colorMapping:A=new Map,permanentUserData:n=null,onFirstRender:i=(()=>{})}={})=>{let o=!1;const s=new r({props:{editable:e=>{const t=Zg.getState(e);return null==t.snapshot&&null==t.prevSnapshot}},key:Zg,state:{init:()=>({type:e,doc:e.doc,binding:null,snapshot:null,prevSnapshot:null,isChangeOrigin:!1,isUndoRedoOperation:!1,addToHistory:!0,colors:t,colorMapping:A,permanentUserData:n}),apply:(e,t)=>{const A=e.getMeta(Zg);if(void 0!==A){t=Object.assign({},t);for(const e in A)t[e]=A[e]}return t.addToHistory=!1!==e.getMeta("addToHistory"),t.isChangeOrigin=void 0!==A&&!!A.isChangeOrigin,t.isUndoRedoOperation=void 0!==A&&!!A.isChangeOrigin&&!!A.isUndoRedoOperation,null!==t.binding&&(void 0===A||null==A.snapshot&&null==A.prevSnapshot||$t(0,(()=>{null==t.binding||t.binding.isDestroyed||(null==A.restore?t.binding._renderSnapshot(A.snapshot,A.prevSnapshot,t):(t.binding._renderSnapshot(A.snapshot,A.snapshot,t),delete t.restore,delete t.snapshot,delete t.prevSnapshot,t.binding.mux((()=>{t.binding._prosemirrorChanged(t.binding.prosemirrorView.state.doc)}))))}))),t}},view:t=>{const A=new Kg(e,t);return A._forceRerender(),i(),{update:()=>{const e=s.getState(t.state);if(null==e.snapshot&&null==e.prevSnapshot&&(o||null!==t.state.doc.content.findDiffStart(t.state.doc.type.createAndFill().content))){if(o=!0,!1===e.addToHistory&&!e.isChangeOrigin){const e=vg.getState(t.state),A=e&&e.undoManager;A&&A.stopCapturing()}A.mux((()=>{e.doc.transact((n=>{n.meta.set("addToHistory",e.addToHistory),A._prosemirrorChanged(t.state.doc)}),Zg)}))}},destroy:()=>{A.destroy()}}}});return s})(e,{...n?{...n}:{},...i?{onFirstRender:i}:{}});return[o,t]}}),fl=e=>Array.from(e.entries()).map((([e,t])=>({clientId:e,...t.user}))),Cl=()=>null,Dl=s.create({name:"collaborationCursor",addOptions:()=>({provider:null,user:{name:null,color:null},render:e=>{const t=document.createElement("span");t.classList.add("collaboration-cursor__caret"),t.setAttribute("style",`border-color: ${e.color}`);const A=document.createElement("div");return A.classList.add("collaboration-cursor__label"),A.setAttribute("style",`background-color: ${e.color}`),A.insertBefore(document.createTextNode(e.name),null),t.insertBefore(A,null),t},selectionRender:Ml,onUpdate:Cl}),onCreate(){this.options.onUpdate!==Cl&&console.warn('[tiptap warn]: DEPRECATED: The "onUpdate" option is deprecated. Please use `editor.storage.collaborationCursor.users` instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor')},addStorage:()=>({users:[]}),addCommands(){return{updateUser:e=>()=>(this.options.user=e,this.options.provider.awareness.setLocalStateField("user",this.options.user),!0),user:e=>({editor:t})=>(console.warn('[tiptap warn]: DEPRECATED: The "user" command is deprecated. Please use "updateUser" instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor'),t.commands.updateUser(e))}},addProseMirrorPlugins(){return[Il((()=>(this.options.provider.awareness.setLocalStateField("user",this.options.user),this.storage.users=fl(this.options.provider.awareness.states),this.options.provider.awareness.on("update",(()=>{this.storage.users=fl(this.options.provider.awareness.states)})),this.options.provider.awareness))(),{cursorBuilder:this.options.render,selectionBuilder:this.options.selectionRender})]}}),Fl=Math.floor,Yl=127,ml=Number.MAX_SAFE_INTEGER,Ul="undefined"!=typeof TextEncoder?new TextEncoder:null,bl=Ul?e=>Ul.encode(e):e=>{const t=unescape(encodeURIComponent(e)),A=t.length,n=new Uint8Array(A);for(let e=0;e{const A=e.cbuf.length;e.cpos===A&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(2*A),e.cpos=0),e.cbuf[e.cpos++]=t},yl=(e,t)=>{for(;t>Yl;)Nl(e,128|Yl&t),t=Fl(t/128);Nl(e,Yl&t)},pl=new Uint8Array(3e4),Tl=pl.length/3,Hl=Ul&&Ul.encodeInto?(e,t)=>{if(t.length{const A=unescape(encodeURIComponent(t)),n=A.length;yl(e,n);for(let t=0;t{yl(e,t.byteLength),((e,t)=>{const A=e.cbuf.length,n=e.cpos,i=(r=A-n)<(o=t.length)?r:o;var r,o;const s=t.length-i;e.cbuf.set(t.subarray(0,i),n),e.cpos+=i,s>0&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(((e,t)=>e>t?e:t)(2*A,s)),e.cbuf.set(t.subarray(i)),e.cpos=s)})(e,t)},zl=e=>new Error(e),Jl=zl("Unexpected end of array"),jl=zl("Integer out of Range"),Zl=e=>e.arr[e.pos++],vl=e=>{let t=0,A=1;const n=e.arr.length;for(;e.posml)throw jl}throw Jl},Pl=Sl?e=>Sl.decode((e=>((e,t)=>{const A=new Uint8Array(e.arr.buffer,e.pos+e.arr.byteOffset,t);return e.pos+=t,A})(e,vl(e)))(e)):e=>{let t=vl(e);if(0===t)return"";{let A=String.fromCodePoint(Zl(e));if(--t<100)for(;t--;)A+=String.fromCodePoint(Zl(e));else for(;t>0;){const n=t<1e4?t:1e4,i=e.arr.subarray(e.pos,e.pos+n);e.pos+=n,A+=String.fromCodePoint.apply(null,i),t-=n}return decodeURIComponent(escape(A))}};var Ll;!function(e){e[e.Token=0]="Token",e[e.PermissionDenied=1]="PermissionDenied",e[e.Authenticated=2]="Authenticated"}(Ll||(Ll={}));const Vl=e=>Array.from(e.entries()).map((([e,t])=>({clientId:e,...t})));var Ol;async function _l(e){return new Promise((t=>{setTimeout(t,e)}))}function Kl(e,t){let A=t.delay;if(0===A)return 0;if(t.factor&&(A*=Math.pow(t.factor,e.attemptNum-1),0!==t.maxDelay&&(A=Math.min(A,t.maxDelay))),t.jitter){const e=Math.ceil(t.minDelay),n=Math.floor(A);A=Math.floor(Math.random()*(n-e+1))+e}return Math.round(A)}!function(e){e[e.Connecting=0]="Connecting",e[e.Open=1]="Open",e[e.Closing=2]="Closing",e[e.Closed=3]="Closed"}(Ol||(Ol={}));const Wl=()=>new Map,Xl=(e,t,A)=>{let n=e.get(t);return void 0===n&&e.set(t,n=A()),n},ql=()=>new Set,$l=Array.from,eQ=String.fromCharCode,tQ=/^\s*/g,AQ=/([A-Z])/g,nQ=(e,t)=>(e=>e.replace(tQ,""))(e.replace(AQ,(e=>`${t}${(e=>e.toLowerCase())(e)}`))),iQ="undefined"!=typeof TextEncoder?new TextEncoder:null,rQ=iQ?e=>iQ.encode(e):e=>{const t=unescape(encodeURIComponent(e)),A=t.length,n=new Uint8Array(A);for(let e=0;eBQ(e).length,gQ=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),lQ=(e,t)=>{if(null==e||null==t)return((e,t)=>e===t)(e,t);if(e.constructor!==t.constructor)return!1;if(e===t)return!0;switch(e.constructor){case ArrayBuffer:e=new Uint8Array(e),t=new Uint8Array(t);case Uint8Array:if(e.byteLength!==t.byteLength)return!1;for(let A=0;A(()=>{if(void 0===uQ)if(QQ){uQ=Wl();const e=process.argv;let t=null;for(let A=0;A{if(0!==e.length){const[t,A]=e.split("=");uQ.set(`--${nQ(t,"-")}`,A),uQ.set(`-${nQ(t,"-")}`,A)}}))):uQ=Wl();return uQ})().has(e),MQ=e=>{return void 0===(t=QQ?process.env[e.toUpperCase()]:EQ.getItem(e))?null:t;var t};(e=>{wQ("--"+e)||MQ(e)})("production");const RQ=QQ&&(e=>["true","1","2"].includes(e))(process.env.FORCE_COLOR);!wQ("no-colors")&&(!QQ||process.stdout.isTTY||RQ)&&(!QQ||wQ("color")||RQ||null!==MQ("COLORTERM")||(MQ("TERM")||"").includes("color"));const dQ=Math.floor,IQ=128,kQ=127,GQ=Number.MAX_SAFE_INTEGER;class fQ{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const CQ=()=>new fQ,DQ=e=>{let t=e.cpos;for(let A=0;A{const t=new Uint8Array(DQ(e));let A=0;for(let n=0;n{const A=e.cbuf.length;e.cpos===A&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(2*A),e.cpos=0),e.cbuf[e.cpos++]=t},mQ=(e,t)=>{for(;t>kQ;)YQ(e,IQ|kQ&t),t=dQ(t/128);YQ(e,kQ&t)},UQ=new Uint8Array(3e4),bQ=UQ.length/3,SQ=iQ&&iQ.encodeInto?(e,t)=>{if(t.length{const A=unescape(encodeURIComponent(t)),n=A.length;mQ(e,n);for(let t=0;t{mQ(e,t.byteLength),((e,t)=>{const A=e.cbuf.length,n=e.cpos,i=(r=A-n)<(o=t.length)?r:o;var r,o;const s=t.length-i;e.cbuf.set(t.subarray(0,i),n),e.cpos+=i,s>0&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(((e,t)=>e>t?e:t)(2*A,s)),e.cbuf.set(t.subarray(i)),e.cpos=s)})(e,t)},yQ=e=>new Error(e),pQ=yQ("Unexpected end of array"),TQ=yQ("Integer out of Range");class HQ{constructor(e){this.arr=e,this.pos=0}}const xQ=e=>new HQ(e),zQ=e=>((e,t)=>{const A=new Uint8Array(e.arr.buffer,e.pos+e.arr.byteOffset,t);return e.pos+=t,A})(e,jQ(e)),JQ=e=>e.arr[e.pos++],jQ=e=>{let t=0,A=1;const n=e.arr.length;for(;e.posGQ)throw TQ}throw pQ},ZQ=oQ?e=>oQ.decode(zQ(e)):e=>{let t=jQ(e);if(0===t)return"";{let A=String.fromCodePoint(JQ(e));if(--t<100)for(;t--;)A+=String.fromCodePoint(JQ(e));else for(;t>0;){const n=t<1e4?t:1e4,i=e.arr.subarray(e.pos,e.pos+n);e.pos+=n,A+=String.fromCodePoint.apply(null,i),t-=n}return decodeURIComponent(escape(A))}},vQ=hQ?e=>{let t="";for(let A=0;ABuffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64"),PQ=hQ?e=>{const t=atob(e),A=new Uint8Array(t.length);for(let e=0;e{const t=Buffer.from(e,"base64");return((e,t,A)=>new Uint8Array(e,t,A))(t.buffer,t.byteOffset,t.byteLength)},LQ=new Map,VQ="undefined"==typeof BroadcastChannel?class{constructor(e){this.room=e,this.onmessage=null,this._onChange=t=>t.key===e&&null!==this.onmessage&&this.onmessage({data:PQ(t.newValue||"")}),cQ||addEventListener("storage",this._onChange)}postMessage(e){EQ.setItem(this.room,vQ(new Uint8Array(e)))}close(){cQ||removeEventListener("storage",this._onChange)}}:BroadcastChannel,OQ=e=>Xl(LQ,e,(()=>{const t=ql(),A=new VQ(e);return A.onmessage=e=>t.forEach((t=>t(e.data,"broadcastchannel"))),{bc:A,subs:t}})),_Q=Date.now;class KQ{constructor(){this._observers=Wl()}on(e,t){Xl(this._observers,e,ql).add(t)}once(e,t){const A=(...n)=>{this.off(e,A),t(...n)};this.on(e,A)}off(e,t){const A=this._observers.get(e);void 0!==A&&(A.delete(t),0===A.size&&this._observers.delete(e))}emit(e,t){return $l((this._observers.get(e)||Wl()).values()).forEach((e=>e(...t)))}destroy(){this._observers=Wl()}}class WQ extends KQ{constructor(e){super(),this.doc=e,this.clientID=e.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval((()=>{const e=_Q();null!==this.getLocalState()&&15e3<=e-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const t=[];this.meta.forEach(((A,n)=>{n!==this.clientID&&3e4<=e-A.lastUpdated&&this.states.has(n)&&t.push(n)})),t.length>0&&XQ(this,t,"timeout")}),dQ(3e3)),e.on("destroy",(()=>{this.destroy()})),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(e){const t=this.clientID,A=this.meta.get(t),n=void 0===A?0:A.clock+1,i=this.states.get(t);null===e?this.states.delete(t):this.states.set(t,e),this.meta.set(t,{clock:n,lastUpdated:_Q()});const r=[],o=[],s=[],c=[];null===e?c.push(t):null==i?null!=e&&r.push(t):(o.push(t),lQ(i,e)||s.push(t)),(r.length>0||s.length>0||c.length>0)&&this.emit("change",[{added:r,updated:s,removed:c},"local"]),this.emit("update",[{added:r,updated:o,removed:c},"local"])}setLocalStateField(e,t){const A=this.getLocalState();null!==A&&this.setLocalState({...A,[e]:t})}getStates(){return this.states}}const XQ=(e,t,A)=>{const n=[];for(let A=0;A0&&(e.emit("change",[{added:[],updated:[],removed:n},A]),e.emit("update",[{added:[],updated:[],removed:n},A]))},qQ=(e,t,A=e.states)=>{const n=t.length,i=CQ();mQ(i,n);for(let r=0;re.apply(this,t))),this}off(e,t){const A=this.callbacks[e];return A&&(t?this.callbacks[e]=A.filter((e=>e!==t)):delete this.callbacks[e]),this}removeAllListeners(){this.callbacks={}}}var eh,th;!function(e){e[e.Sync=0]="Sync",e[e.Awareness=1]="Awareness",e[e.Auth=2]="Auth",e[e.QueryAwareness=3]="QueryAwareness",e[e.Stateless=5]="Stateless",e[e.CLOSE=7]="CLOSE",e[e.SyncStatus=8]="SyncStatus"}(eh||(eh={})),function(e){e.Connecting="connecting",e.Connected="connected",e.Disconnected="disconnected"}(th||(th={}));class Ah{constructor(e){this.data=e,this.encoder=CQ(),this.decoder=xQ(new Uint8Array(this.data))}peekVarString(){return(e=>{const t=e.pos,A=ZQ(e);return e.pos=t,A})(this.decoder)}readVarUint(){return jQ(this.decoder)}readVarString(){return ZQ(this.decoder)}readVarUint8Array(){return zQ(this.decoder)}writeVarUint(e){return mQ(this.encoder,e)}writeVarString(e){return SQ(this.encoder,e)}writeVarUint8Array(e){return NQ(this.encoder,e)}length(){return DQ(this.encoder)}}class nh extends $Q{constructor(e){super(),this.messageQueue=[],this.configuration={url:"",document:void 0,WebSocketPolyfill:void 0,parameters:{},connect:!0,broadcast:!0,forceSyncInterval:!1,messageReconnectTimeout:3e4,delay:1e3,initialDelay:0,factor:2,maxAttempts:0,minDelay:1e3,maxDelay:3e4,jitter:!0,timeout:0,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,quiet:!1,providerMap:new Map},this.webSocket=null,this.webSocketHandlers={},this.shouldConnect=!0,this.status=th.Disconnected,this.lastMessageReceived=0,this.identifier=0,this.intervals={forceSync:null,connectionChecker:null},this.connectionAttempt=null,this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.closeTries=0,this.setConfiguration(e),this.configuration.WebSocketPolyfill=e.WebSocketPolyfill?e.WebSocketPolyfill:WebSocket,this.on("open",this.configuration.onOpen),this.on("open",this.onOpen.bind(this)),this.on("connect",this.configuration.onConnect),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("status",this.configuration.onStatus),this.on("status",this.onStatus.bind(this)),this.on("disconnect",this.configuration.onDisconnect),this.on("close",this.configuration.onClose),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("close",this.onClose.bind(this)),this.on("message",this.onMessage.bind(this)),this.intervals.connectionChecker=setInterval(this.checkConnection.bind(this),this.configuration.messageReconnectTimeout/10),void 0!==e.connect&&(this.shouldConnect=e.connect),this.shouldConnect&&this.connect()}async onOpen(e){this.receivedOnOpenPayload=e}async onStatus(e){this.receivedOnStatusPayload=e}attach(e){let t;return this.configuration.providerMap.set(e.configuration.name,e),this.status===th.Disconnected&&this.shouldConnect&&(t=this.connect()),this.receivedOnOpenPayload&&e.onOpen(this.receivedOnOpenPayload),this.receivedOnStatusPayload&&e.onStatus(this.receivedOnStatusPayload),t}detach(e){this.configuration.providerMap.delete(e.configuration.name)}setConfiguration(e={}){this.configuration={...this.configuration,...e}}async connect(){if(this.status===th.Connected)return;this.cancelWebsocketRetry&&(this.cancelWebsocketRetry(),this.cancelWebsocketRetry=void 0),this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.shouldConnect=!0;const{retryPromise:e,cancelFunc:t}=(()=>{let e=!1;const t=async function(e,t){const A=function(e){return e||(e={}),{delay:void 0===e.delay?200:e.delay,initialDelay:void 0===e.initialDelay?0:e.initialDelay,minDelay:void 0===e.minDelay?0:e.minDelay,maxDelay:void 0===e.maxDelay?0:e.maxDelay,factor:void 0===e.factor?0:e.factor,maxAttempts:void 0===e.maxAttempts?3:e.maxAttempts,timeout:void 0===e.timeout?0:e.timeout,jitter:!0===e.jitter,handleError:void 0===e.handleError?null:e.handleError,handleTimeout:void 0===e.handleTimeout?null:e.handleTimeout,beforeAttempt:void 0===e.beforeAttempt?null:e.beforeAttempt,calculateDelay:void 0===e.calculateDelay?null:e.calculateDelay}}(t);for(const e of["delay","initialDelay","minDelay","maxDelay","maxAttempts","timeout"]){const t=A[e];if(!Number.isInteger(t)||t<0)throw new Error(`Value for ${e} must be an integer greater than or equal to 0`)}if(A.factor.constructor!==Number||A.factor<0)throw new Error("Value for factor must be a number greater than or equal to 0");if(A.delay{if(A.handleError&&await A.handleError(e,n,A),n.aborted||0===n.attemptsRemaining)throw e;n.attemptNum++;const r=i(n,A);return r&&await _l(r),t()};return n.attemptsRemaining>0&&n.attemptsRemaining--,A.timeout?new Promise(((t,i)=>{const o=setTimeout((()=>{if(A.handleTimeout)try{t(A.handleTimeout(n,A))}catch(e){i(e)}else{const e=new Error(`Retry timeout (attemptNum: ${n.attemptNum}, timeout: ${A.timeout})`);e.code="ATTEMPT_TIMEOUT",i(e)}}),A.timeout);e(n,A).then((e=>{clearTimeout(o),t(e)})).catch((e=>{clearTimeout(o),r(e).then(t).catch(i)}))})):e(n,A).catch(r)}()}(this.createWebSocketConnection.bind(this),{delay:this.configuration.delay,initialDelay:this.configuration.initialDelay,factor:this.configuration.factor,maxAttempts:this.configuration.maxAttempts,minDelay:this.configuration.minDelay,maxDelay:this.configuration.maxDelay,jitter:this.configuration.jitter,timeout:this.configuration.timeout,beforeAttempt:t=>{this.shouldConnect&&!e||t.abort()}}).catch((e=>{if(e&&"ATTEMPT_ABORTED"!==e.code)throw e}));return{retryPromise:t,cancelFunc:()=>{e=!0}}})();return this.cancelWebsocketRetry=t,e}attachWebSocketListeners(e,t){const{identifier:A}=e;this.webSocketHandlers[A]={message:e=>this.emit("message",e),close:e=>this.emit("close",{event:e}),open:e=>this.emit("open",e),error:e=>{t(e)}};const n=this.webSocketHandlers[e.identifier];Object.keys(n).forEach((t=>{e.addEventListener(t,n[t])}))}cleanupWebSocket(){if(!this.webSocket)return;const{identifier:e}=this.webSocket,t=this.webSocketHandlers[e];Object.keys(t).forEach((A=>{var n;null===(n=this.webSocket)||void 0===n||n.removeEventListener(A,t[A]),delete this.webSocketHandlers[e]})),this.webSocket.close(),this.webSocket=null}createWebSocketConnection(){return new Promise(((e,t)=>{this.webSocket&&(this.messageQueue=[],this.cleanupWebSocket()),this.lastMessageReceived=0,this.identifier+=1;const A=new this.configuration.WebSocketPolyfill(this.url);A.binaryType="arraybuffer",A.identifier=this.identifier,this.attachWebSocketListeners(A,t),this.webSocket=A,this.status=th.Connecting,this.emit("status",{status:th.Connecting}),this.connectionAttempt={resolve:e,reject:t}}))}onMessage(e){var t;this.resolveConnectionAttempt(),this.lastMessageReceived=_Q();const A=new Ah(e.data).peekVarString();null===(t=this.configuration.providerMap.get(A))||void 0===t||t.onMessage(e)}resolveConnectionAttempt(){this.connectionAttempt&&(this.connectionAttempt.resolve(),this.connectionAttempt=null,this.status=th.Connected,this.emit("status",{status:th.Connected}),this.emit("connect"),this.messageQueue.forEach((e=>this.send(e))),this.messageQueue=[])}stopConnectionAttempt(){this.connectionAttempt=null}rejectConnectionAttempt(){var e;null===(e=this.connectionAttempt)||void 0===e||e.reject(),this.connectionAttempt=null}checkConnection(){var e;this.status===th.Connected&&this.lastMessageReceived&&(this.configuration.messageReconnectTimeout>=_Q()-this.lastMessageReceived||(this.closeTries+=1,this.closeTries>2?(this.onClose({event:{code:4408,reason:"forced"}}),this.closeTries=0):(null===(e=this.webSocket)||void 0===e||e.close(),this.messageQueue=[])))}get serverUrl(){for(;"/"===this.configuration.url[this.configuration.url.length-1];)return this.configuration.url.slice(0,this.configuration.url.length-1);return this.configuration.url}get url(){const e=(()=>((e,t)=>{const A=[];for(const n in e)A.push(t(e[n],n));return A})(this.configuration.parameters,((e,t)=>`${encodeURIComponent(t)}=${encodeURIComponent(e)}`)).join("&"))();return`${this.serverUrl}${0===e.length?"":`?${e}`}`}disconnect(){if(this.shouldConnect=!1,null!==this.webSocket)try{this.webSocket.close(),this.messageQueue=[]}catch{}}send(e){var t;(null===(t=this.webSocket)||void 0===t?void 0:t.readyState)===Ol.Open?this.webSocket.send(e):this.messageQueue.push(e)}onClose({event:e}){this.closeTries=0,this.cleanupWebSocket(),this.status===th.Connected&&(this.status=th.Disconnected,this.emit("status",{status:th.Disconnected}),this.emit("disconnect",{event:e})),4401===e.code&&("Unauthorized"===e.reason?console.warn("[HocuspocusProvider] An authentication token is required, but you didn’t send one. Try adding a `token` to your HocuspocusProvider configuration. Won’t try again."):console.warn(`[HocuspocusProvider] Connection closed with status Unauthorized: ${e.reason}`),this.shouldConnect=!1),4403!==e.code||this.configuration.quiet?(1009===e.code&&(console.warn(`[HocuspocusProvider] Connection closed with status MessageTooBig: ${e.reason}`),this.shouldConnect=!1),this.connectionAttempt?this.rejectConnectionAttempt():this.shouldConnect&&this.connect(),this.shouldConnect||this.status!==th.Disconnected&&(this.status=th.Disconnected,this.emit("status",{status:th.Disconnected}),this.emit("disconnect",{event:e}))):console.warn("[HocuspocusProvider] The provided authentication token isn’t allowed to connect to this server. Will try again.")}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),clearInterval(this.intervals.connectionChecker),this.stopConnectionAttempt(),this.disconnect(),this.removeAllListeners(),this.cleanupWebSocket()}}const ih=(e,t)=>{mQ(e,0);const A=(e=>((e,t=new pA)=>(e instanceof Map?JA(t,e):((e,t)=>{JA(e,En(t.store))})(t,e),t.toUint8Array()))(e,new NA))(t);NQ(e,A)},rh=(e,t,A)=>{mQ(e,1),NQ(e,((e,t)=>((e,t=new Uint8Array([0]),A=new TA)=>{((e,t,A=new Map)=>{HA(e,t.store,A),fA(e,GA(t.store))})(A,e,zA(t));const n=[A.toUint8Array()];if(e.store.pendingDs&&n.push(e.store.pendingDs),e.store.pendingStructs&&n.push(Nn(e.store.pendingStructs.update,t)),n.length>1){if(A.constructor===yA)return Un(n.map(((e,t)=>0===t?e:Hn(e))));if(A.constructor===TA)return Sn(n)}return n[0]})(e,t,new yA))(t,A))},oh=(e,t,A)=>{try{((e,t,A)=>{xA(e,t,A,UA)})(t,zQ(e),A)}catch(e){console.error("Caught error while handling a Yjs update",e)}},sh=oh;class ch{constructor(){this.encoder=CQ()}get(e){return e.encoder}toUint8Array(){return FQ(this.encoder)}}class Eh{constructor(e){this.broadcasted=!1,this.message=e}setBroadcasted(e){return this.broadcasted=e,this}apply(e,t){const{message:A}=this,n=A.readVarUint(),i=A.length();switch(n){case eh.Sync:this.applySyncMessage(e,t);break;case eh.Awareness:this.applyAwarenessMessage(e);break;case eh.Auth:this.applyAuthMessage(e);break;case eh.QueryAwareness:this.applyQueryAwarenessMessage(e);break;case eh.Stateless:e.receiveStateless(ZQ(A.decoder));break;case eh.SyncStatus:this.applySyncStatusMessage(e,1===(e=>{let t=e.arr[e.pos++],A=63&t,n=64;const i=(64&t)>0?-1:1;if(!(t&IQ))return i*A;const r=e.arr.length;for(;e.posGQ)throw TQ}throw pQ})(A.decoder));break;default:throw new Error(`Can’t apply message of unknown type: ${n}`)}A.length()>i+1&&(this.broadcasted?e.broadcast(ch,{encoder:A.encoder}):e.send(ch,{encoder:A.encoder}))}applySyncMessage(e,t){const{message:A}=this;A.writeVarUint(eh.Sync);const n=((e,t,A,n)=>{const i=jQ(e);switch(i){case 0:((e,t,A)=>{rh(t,A,zQ(e))})(e,t,A);break;case 1:oh(e,A,n);break;case 2:sh(e,A,n);break;default:throw new Error("Unknown message type")}return i})(A.decoder,A.encoder,e.document,e);t&&1===n&&(e.synced=!0)}applySyncStatusMessage(e,t){t&&e.decrementUnsyncedChanges()}applyAwarenessMessage(e){if(!e.awareness)return;const{message:t}=this;((e,t,A)=>{const n=xQ(t),i=_Q(),r=[],o=[],s=[],c=[],E=jQ(n);for(let t=0;t0||s.length>0||c.length>0)&&e.emit("change",[{added:r,updated:s,removed:c},A]),(r.length>0||o.length>0||c.length>0)&&e.emit("update",[{added:r,updated:o,removed:c},A])})(e.awareness,t.readVarUint8Array(),e)}applyAuthMessage(e){const{message:t}=this;((e,t,A)=>{switch(vl(e)){case Ll.PermissionDenied:t(Pl(e));break;case Ll.Authenticated:A(Pl(e))}})(t.decoder,e.permissionDeniedHandler.bind(e),e.authenticatedHandler.bind(e))}applyQueryAwarenessMessage(e){if(!e.awareness)return;const{message:t}=this;t.writeVarUint(eh.Awareness),t.writeVarUint8Array(qQ(e.awareness,Array.from(e.awareness.getStates().keys())))}}class Bh{constructor(e,t={}){this.message=new e,this.encoder=this.message.get(t)}create(){return FQ(this.encoder)}send(e){null==e||e.send(this.create())}broadcast(e){((e,t,A=null)=>{const n=OQ(e);n.bc.postMessage(t),n.subs.forEach((e=>e(t,A)))})(e,this.create())}}class ah extends ch{constructor(){super(...arguments),this.type=eh.Auth,this.description="Authentication"}get(e){if(void 0===e.token)throw new Error("The authentication message requires `token` as an argument.");var t,A;return SQ(this.encoder,e.documentName),mQ(this.encoder,this.type),A=e.token,yl(t=this.encoder,Ll.Token),Hl(t,A),this.encoder}}class gh extends ch{constructor(){super(...arguments),this.type=eh.Awareness,this.description="Awareness states update"}get(e){if(void 0===e.awareness)throw new Error("The awareness message requires awareness as an argument");if(void 0===e.clients)throw new Error("The awareness message requires clients as an argument");let t;return SQ(this.encoder,e.documentName),mQ(this.encoder,this.type),t=void 0===e.states?qQ(e.awareness,e.clients):qQ(e.awareness,e.clients,e.states),NQ(this.encoder,t),this.encoder}}class lh extends ch{constructor(){super(...arguments),this.type=eh.CLOSE,this.description="Ask the server to close the connection"}get(e){return SQ(this.encoder,e.documentName),mQ(this.encoder,this.type),this.encoder}}class Qh extends ch{constructor(){super(...arguments),this.type=eh.QueryAwareness,this.description="Queries awareness states"}get(e){return SQ(this.encoder,e.documentName),mQ(this.encoder,this.type),this.encoder}}class hh extends ch{constructor(){super(...arguments),this.type=eh.Stateless,this.description="A stateless message"}get(e){var t;return SQ(this.encoder,e.documentName),mQ(this.encoder,this.type),SQ(this.encoder,null!==(t=e.payload)&&void 0!==t?t:""),this.encoder}}class uh extends ch{constructor(){super(...arguments),this.type=eh.Sync,this.description="First sync step"}get(e){if(void 0===e.document)throw new Error("The sync step one message requires document as an argument");return SQ(this.encoder,e.documentName),mQ(this.encoder,this.type),ih(this.encoder,e.document),this.encoder}}class wh extends ch{constructor(){super(...arguments),this.type=eh.Sync,this.description="Second sync step"}get(e){if(void 0===e.document)throw new Error("The sync step two message requires document as an argument");return SQ(this.encoder,e.documentName),mQ(this.encoder,this.type),rh(this.encoder,e.document),this.encoder}}class Mh extends ch{constructor(){super(...arguments),this.type=eh.Sync,this.description="A document update"}get(e){var t,A;return SQ(this.encoder,e.documentName),mQ(this.encoder,this.type),A=e.update,mQ(t=this.encoder,2),NQ(t,A),this.encoder}}class Rh extends Error{constructor(){super(...arguments),this.code=1001}}class dh extends $Q{constructor(e){var t,A,n;super(),this.configuration={name:"",document:void 0,awareness:void 0,token:null,parameters:{},broadcast:!0,forceSyncInterval:!1,onAuthenticated:()=>null,onAuthenticationFailed:()=>null,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onSynced:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,onStateless:()=>null,quiet:!1,connect:!0,preserveConnection:!0},this.subscribedToBroadcastChannel=!1,this.isSynced=!1,this.unsyncedChanges=0,this.status=th.Disconnected,this.isAuthenticated=!1,this.authorizedScope=void 0,this.mux=(()=>{let e=!0;return(t,A)=>{if(e){e=!1;try{t()}finally{e=!0}}else void 0!==A&&A()}})(),this.intervals={forceSync:null},this.isConnected=!0,this.boundBroadcastChannelSubscriber=this.broadcastChannelSubscriber.bind(this),this.boundPageUnload=this.pageUnload.bind(this),this.boundOnOpen=this.onOpen.bind(this),this.boundOnClose=this.onClose.bind(this),this.boundOnStatus=this.onStatus.bind(this),this.forwardConnect=e=>this.emit("connect",e),this.forwardOpen=e=>this.emit("open",e),this.forwardClose=e=>this.emit("close",e),this.forwardDisconnect=e=>this.emit("disconnect",e),this.forwardDestroy=e=>this.emit("destroy",e),this.setConfiguration(e),this.configuration.document=e.document?e.document:new YA,this.configuration.awareness=void 0!==e.awareness?e.awareness:new WQ(this.document),this.on("open",this.configuration.onOpen),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("synced",this.configuration.onSynced),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("stateless",this.configuration.onStateless),this.on("authenticated",this.configuration.onAuthenticated),this.on("authenticationFailed",this.configuration.onAuthenticationFailed),this.configuration.websocketProvider.on("connect",this.configuration.onConnect),this.configuration.websocketProvider.on("connect",this.forwardConnect),this.configuration.websocketProvider.on("open",this.boundOnOpen),this.configuration.websocketProvider.on("open",this.forwardOpen),this.configuration.websocketProvider.on("close",this.boundOnClose),this.configuration.websocketProvider.on("close",this.configuration.onClose),this.configuration.websocketProvider.on("close",this.forwardClose),this.configuration.websocketProvider.on("status",this.boundOnStatus),this.configuration.websocketProvider.on("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.on("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.on("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.on("destroy",this.forwardDestroy),null===(t=this.awareness)||void 0===t||t.on("update",(()=>{this.emit("awarenessUpdate",{states:Vl(this.awareness.getStates())})})),null===(A=this.awareness)||void 0===A||A.on("change",(()=>{this.emit("awarenessChange",{states:Vl(this.awareness.getStates())})})),this.document.on("update",this.documentUpdateHandler.bind(this)),null===(n=this.awareness)||void 0===n||n.on("update",this.awarenessUpdateHandler.bind(this)),this.registerEventListeners(),this.configuration.forceSyncInterval&&(this.intervals.forceSync=setInterval(this.forceSync.bind(this),this.configuration.forceSyncInterval)),this.configuration.websocketProvider.attach(this)}onStatus({status:e}){this.status=e,this.configuration.onStatus({status:e}),this.emit("status",{status:e})}setConfiguration(e={}){!e.websocketProvider&&e.url&&(this.configuration.websocketProvider=new nh({url:e.url,connect:e.connect,parameters:e.parameters})),this.configuration={...this.configuration,...e}}get document(){return this.configuration.document}get awareness(){return this.configuration.awareness}get hasUnsyncedChanges(){return this.unsyncedChanges>0}incrementUnsyncedChanges(){this.unsyncedChanges+=1,this.emit("unsyncedChanges",this.unsyncedChanges)}decrementUnsyncedChanges(){this.unsyncedChanges-=1,0===this.unsyncedChanges&&(this.synced=!0),this.emit("unsyncedChanges",this.unsyncedChanges)}forceSync(){this.send(uh,{document:this.document,documentName:this.configuration.name})}pageUnload(){this.awareness&&XQ(this.awareness,[this.document.clientID],"window unload")}registerEventListeners(){"undefined"!=typeof window&&window.addEventListener("unload",this.boundPageUnload)}sendStateless(e){this.send(hh,{documentName:this.configuration.name,payload:e})}documentUpdateHandler(e,t){t!==this&&(this.incrementUnsyncedChanges(),this.send(Mh,{update:e,documentName:this.configuration.name},!0))}awarenessUpdateHandler({added:e,updated:t,removed:A},n){const i=e.concat(t).concat(A);this.send(gh,{awareness:this.awareness,clients:i,documentName:this.configuration.name},!0)}get synced(){return this.isSynced}set synced(e){this.isSynced!==e&&(this.isSynced=e,this.emit("synced",{state:e}),this.emit("sync",{state:e}))}receiveStateless(e){this.emit("stateless",{payload:e})}get isAuthenticationRequired(){return!!this.configuration.token&&!this.isAuthenticated}async connect(){return this.configuration.broadcast&&this.subscribeToBroadcastChannel(),this.configuration.websocketProvider.shouldConnect=!0,this.configuration.websocketProvider.attach(this)}disconnect(){this.disconnectBroadcastChannel(),this.configuration.websocketProvider.detach(this),this.isConnected=!1,this.configuration.preserveConnection||this.configuration.websocketProvider.disconnect()}async onOpen(e){let t;this.isAuthenticated=!1,this.isConnected=!0,this.emit("open",{event:e});try{t=await this.getToken()}catch(e){return void this.permissionDeniedHandler(`Failed to get token: ${e}`)}this.isAuthenticationRequired&&this.send(ah,{token:t,documentName:this.configuration.name}),this.startSync()}async getToken(){return"function"==typeof this.configuration.token?await this.configuration.token():this.configuration.token}startSync(){this.incrementUnsyncedChanges(),this.send(uh,{document:this.document,documentName:this.configuration.name}),this.awareness&&null!==this.awareness.getLocalState()&&this.send(gh,{awareness:this.awareness,clients:[this.document.clientID],documentName:this.configuration.name})}send(e,t,A=!1){if(!this.isConnected)return;A&&this.mux((()=>{this.broadcast(e,t)}));const n=new Bh(e,t);this.emit("outgoingMessage",{message:n.message}),n.send(this.configuration.websocketProvider)}onMessage(e){const t=new Ah(e.data),A=t.readVarString();t.writeVarString(A),this.emit("message",{event:e,message:new Ah(e.data)}),new Eh(t).apply(this,!0)}onClose(e){this.isAuthenticated=!1,this.synced=!1,this.awareness&&XQ(this.awareness,Array.from(this.awareness.getStates().keys()).filter((e=>e!==this.document.clientID)),this)}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),this.awareness&&(XQ(this.awareness,[this.document.clientID],"provider destroy"),this.awareness.off("update",this.awarenessUpdateHandler),this.awareness.destroy()),this.document.off("update",this.documentUpdateHandler),this.removeAllListeners(),this.configuration.websocketProvider.off("connect",this.configuration.onConnect),this.configuration.websocketProvider.off("connect",this.forwardConnect),this.configuration.websocketProvider.off("open",this.boundOnOpen),this.configuration.websocketProvider.off("open",this.forwardOpen),this.configuration.websocketProvider.off("close",this.boundOnClose),this.configuration.websocketProvider.off("close",this.configuration.onClose),this.configuration.websocketProvider.off("close",this.forwardClose),this.configuration.websocketProvider.off("status",this.boundOnStatus),this.configuration.websocketProvider.off("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.off("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.off("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.off("destroy",this.forwardDestroy),this.send(lh,{documentName:this.configuration.name}),this.disconnect(),"undefined"!=typeof window&&window.removeEventListener("unload",this.boundPageUnload)}permissionDeniedHandler(e){this.emit("authenticationFailed",{reason:e}),this.isAuthenticated=!1,this.disconnect(),this.status=th.Disconnected}authenticatedHandler(e){this.isAuthenticated=!0,this.authorizedScope=e,this.emit("authenticated")}get broadcastChannel(){return`${this.configuration.name}`}broadcastChannelSubscriber(e){this.mux((()=>{const t=new Ah(e),A=t.readVarString();t.writeVarString(A),new Eh(t).setBroadcasted(!0).apply(this,!1)}))}subscribeToBroadcastChannel(){var e;this.subscribedToBroadcastChannel||(e=this.boundBroadcastChannelSubscriber,OQ(this.broadcastChannel).subs.add(e),this.subscribedToBroadcastChannel=!0),this.mux((()=>{this.broadcast(uh,{document:this.document,documentName:this.configuration.name}),this.broadcast(wh,{document:this.document,documentName:this.configuration.name}),this.broadcast(Qh,{document:this.document,documentName:this.configuration.name}),this.awareness&&this.broadcast(gh,{awareness:this.awareness,clients:[this.document.clientID],document:this.document,documentName:this.configuration.name})}))}disconnectBroadcastChannel(){this.awareness&&this.send(gh,{awareness:this.awareness,clients:[this.document.clientID],states:new Map,documentName:this.configuration.name},!0),this.subscribedToBroadcastChannel&&(((e,t)=>{const A=OQ(e);A.subs.delete(t)&&0===A.subs.size&&(A.bc.close(),LQ.delete(e))})(this.broadcastChannel,this.boundBroadcastChannelSubscriber),this.subscribedToBroadcastChannel=!1)}broadcast(e,t){this.configuration.broadcast&&this.subscribedToBroadcastChannel&&new Bh(e,t).broadcast(this.broadcastChannel)}setAwarenessField(e,t){if(!this.awareness)throw new Rh(`Cannot set awareness field "${e}" to ${JSON.stringify(t)}. You have disabled Awareness for this provider by explicitly passing awareness: null in the provider configuration.`);this.awareness.setLocalStateField(e,t)}}crypto.getRandomValues.bind(crypto);const Ih={};function kh(e,t){"string"!=typeof t&&(t=kh.defaultChars);const A=function(e){let t=Ih[e];if(t)return t;t=Ih[e]=[];for(let e=0;e<128;e++){const A=String.fromCharCode(e);t.push(A)}for(let A=0;A=55296&&e<=57343?"���":String.fromCharCode(e),n+=6;continue}}if(240==(248&r)&&n+91114111?t+="����":(e-=65536,t+=String.fromCharCode(55296+(e>>10),56320+(1023&e))),n+=9;continue}}t+="�"}}return t}))}kh.defaultChars=";/?:@&=+$,#",kh.componentChars="";const Gh={};function fh(e,t,A){"string"!=typeof t&&(A=t,t=fh.defaultChars),void 0===A&&(A=!0);const n=function(e){let t=Gh[e];if(t)return t;t=Gh[e]=[];for(let e=0;e<128;e++){const A=String.fromCharCode(e);/^[0-9a-z]$/i.test(A)?t.push(A):t.push("%"+("0"+e.toString(16).toUpperCase()).slice(-2))}for(let A=0;A=55296&&o<=57343){if(o>=55296&&o<=56319&&t+1=56320&&A<=57343){i+=encodeURIComponent(e[t]+e[t+1]),t++;continue}}i+="%EF%BF%BD"}else i+=encodeURIComponent(e[t])}return i}function Ch(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&-1!==e.hostname.indexOf(":")?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function Dh(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}fh.defaultChars=";/?:@&=+$,-_.!~*'()#",fh.componentChars="-_.!~*'()";const Fh=/^([a-z0-9.+-]+:)/i,Yh=/:[0-9]*$/,mh=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Uh=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),bh=["'"].concat(Uh),Sh=["%","/","?",";","#"].concat(bh),Nh=["/","?","#"],yh=/^[+a-z0-9A-Z_-]{0,63}$/,ph=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Th={javascript:!0,"javascript:":!0},Hh={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function xh(e,t){if(e&&e instanceof Dh)return e;const A=new Dh;return A.parse(e,t),A}Dh.prototype.parse=function(e,t){let A,n,i,r=e;if(r=r.trim(),!t&&1===e.split("#").length){const e=mh.exec(r);if(e)return this.pathname=e[1],e[2]&&(this.search=e[2]),this}let o=Fh.exec(r);if(o&&(o=o[0],A=o.toLowerCase(),this.protocol=o,r=r.substr(o.length)),(t||o||r.match(/^\/\/[^@\/]+@[^@\/]+/))&&(i="//"===r.substr(0,2),!i||o&&Th[o]||(r=r.substr(2),this.slashes=!0)),!Th[o]&&(i||o&&!Hh[o])){let e,t,A=-1;for(let e=0;e127?n+="x":n+=A[e];if(!n.match(yh)){const n=e.slice(0,t),i=e.slice(t+1),o=A.match(ph);o&&(n.push(o[1]),i.unshift(o[2])),i.length&&(r=i.join(".")+r),this.hostname=n.join(".");break}}}}this.hostname.length>255&&(this.hostname=""),o&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const s=r.indexOf("#");-1!==s&&(this.hash=r.substr(s),r=r.slice(0,s));const c=r.indexOf("?");return-1!==c&&(this.search=r.substr(c),r=r.slice(0,c)),r&&(this.pathname=r),Hh[A]&&this.hostname&&!this.pathname&&(this.pathname=""),this},Dh.prototype.parseHost=function(e){let t=Yh.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const zh=Object.freeze({__proto__:null,decode:kh,encode:fh,format:Ch,parse:xh}),Jh=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,jh=/[\0-\x1F\x7F-\x9F]/,Zh=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,vh=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,Ph=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,Lh=Object.freeze({__proto__:null,Any:Jh,Cc:jh,Cf:/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,P:Zh,S:vh,Z:Ph}),Vh=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((e=>e.charCodeAt(0)))),Oh=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((e=>e.charCodeAt(0))));var _h;const Kh=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Wh=null!==(_h=String.fromCodePoint)&&void 0!==_h?_h:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e),t};var Xh,qh,$h,eu;function tu(e){return e>=Xh.ZERO&&e<=Xh.NINE}!function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(Xh||(Xh={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(qh||(qh={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}($h||($h={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(eu||(eu={}));class Au{constructor(e,t,A){this.decodeTree=e,this.emitCodePoint=t,this.errors=A,this.state=$h.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=eu.Strict}startEntity(e){this.decodeMode=e,this.state=$h.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,t){switch(this.state){case $h.EntityStart:return e.charCodeAt(t)===Xh.NUM?(this.state=$h.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=$h.NamedEntity,this.stateNamedEntity(e,t));case $h.NumericStart:return this.stateNumericStart(e,t);case $h.NumericDecimal:return this.stateNumericDecimal(e,t);case $h.NumericHex:return this.stateNumericHex(e,t);case $h.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===Xh.LOWER_X?(this.state=$h.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=$h.NumericDecimal,this.stateNumericDecimal(e,t))}addToNumericResult(e,t,A,n){if(t!==A){const i=A-t;this.result=this.result*Math.pow(n,i)+parseInt(e.substr(t,i),n),this.consumed+=i}}stateNumericHex(e,t){const A=t;for(;t=Xh.UPPER_A&&n<=Xh.UPPER_F||n>=Xh.LOWER_A&&n<=Xh.LOWER_F)))return this.addToNumericResult(e,A,t,16),this.emitNumericEntity(i,3);t+=1}var n;return this.addToNumericResult(e,A,t,16),-1}stateNumericDecimal(e,t){const A=t;for(;t=55296&&e<=57343||e>1114111?65533:null!==(t=Kh.get(e))&&void 0!==t?t:e}(this.result),this.consumed),this.errors&&(e!==Xh.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,t){const{decodeTree:A}=this;let n=A[this.treeIndex],i=(n&qh.VALUE_LENGTH)>>14;for(;t=Xh.UPPER_A&&e<=Xh.UPPER_Z||e>=Xh.LOWER_A&&e<=Xh.LOWER_Z||tu(e)}(r)))?0:this.emitNotTerminatedNamedEntity();if(n=A[this.treeIndex],i=(n&qh.VALUE_LENGTH)>>14,0!==i){if(o===Xh.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==eu.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}var r;return-1}emitNotTerminatedNamedEntity(){var e;const{result:t,decodeTree:A}=this;return this.emitNamedEntityData(t,(A[t]&qh.VALUE_LENGTH)>>14,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,A){const{decodeTree:n}=this;return this.emitCodePoint(1===t?n[e]&~qh.VALUE_LENGTH:n[e+1],A),3===t&&this.emitCodePoint(n[e+2],A),A}end(){var e;switch(this.state){case $h.NamedEntity:return 0===this.result||this.decodeMode===eu.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case $h.NumericDecimal:return this.emitNumericEntity(0,2);case $h.NumericHex:return this.emitNumericEntity(0,3);case $h.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case $h.EntityStart:return 0}}}function nu(e){let t="";const A=new Au(e,(e=>t+=Wh(e)));return function(e,n){let i=0,r=0;for(;(r=e.indexOf("&",r))>=0;){t+=e.slice(i,r),A.startEntity(n);const o=A.write(e,r+1);if(o<0){i=r+A.end();break}i=r+o,r=0===o?i+1:i}const o=t+e.slice(i);return t="",o}}function iu(e,t,A,n){const i=(t&qh.BRANCH_LENGTH)>>7,r=t&qh.JUMP_TABLE;if(0===i)return 0!==r&&n===r?A:-1;if(r){const t=n-r;return t<0||t>=i?-1:e[A+t]-1}let o=A,s=o+i-1;for(;o<=s;){const t=o+s>>>1,A=e[t];if(An))return e[t+i];s=t-1}}return-1}const ru=nu(Vh);function ou(e,t=eu.Legacy){return ru(e,t)}function su(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)}nu(Oh);const cu=Object.prototype.hasOwnProperty;function Eu(e){return Array.prototype.slice.call(arguments,1).forEach((function(t){if(t){if("object"!=typeof t)throw new TypeError(t+"must be object");Object.keys(t).forEach((function(A){e[A]=t[A]}))}})),e}function Bu(e,t,A){return[].concat(e.slice(0,t),A,e.slice(t+1))}function au(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||!(65535&~e&&65534!=(65535&e))||e>=0&&e<=8||11===e||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function gu(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e))):String.fromCharCode(e)}const lu=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,Qu=new RegExp(lu.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),hu=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function uu(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(Qu,(function(e,t,A){return t||function(e,t){if(35===t.charCodeAt(0)&&hu.test(t)){const A="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return au(A)?gu(A):e}const A=ou(e);return A!==e?A:e}(e,A)}))}const wu=/[&<>"]/,Mu=/[&<>"]/g,Ru={"&":"&","<":"<",">":">",'"':"""};function du(e){return Ru[e]}function Iu(e){return wu.test(e)?e.replace(Mu,du):e}const ku=/[.?*+^$[\]\\(){}|-]/g;function Gu(e){switch(e){case 9:case 32:return!0}return!1}function fu(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function Cu(e){return Zh.test(e)||vh.test(e)}function Du(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Fu(e){return e=e.trim().replace(/\s+/g," "),"Ṿ"==="ẞ".toLowerCase()&&(e=e.replace(/ẞ/g,"ß")),e.toLowerCase().toUpperCase()}const Yu=Object.freeze({__proto__:null,lib:{mdurl:zh,ucmicro:Lh},assign:Eu,isString:su,has:function(e,t){return cu.call(e,t)},unescapeMd:function(e){return e.indexOf("\\")<0?e:e.replace(lu,"$1")},unescapeAll:uu,isValidEntityCode:au,fromCodePoint:gu,escapeHtml:Iu,arrayReplaceAt:Bu,isSpace:Gu,isWhiteSpace:fu,isMdAsciiPunct:Du,isPunctChar:Cu,escapeRE:function(e){return e.replace(ku,"\\$&")},normalizeReference:Fu}),mu=Object.freeze({__proto__:null,parseLinkLabel:function(e,t,A){let n,i,r,o;const s=e.posMax,c=e.pos;for(e.pos=t+1,n=1;e.pos32))return r;if(41===n){if(0===o)break;o--}i++}return t===i||0!==o||(r.str=uu(e.slice(t,i)),r.pos=i,r.ok=!0),r},parseLinkTitle:function(e,t,A,n){let i,r=t;const o={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(n)o.str=n.str,o.marker=n.marker;else{if(r>=A)return o;let n=e.charCodeAt(r);if(34!==n&&39!==n&&40!==n)return o;t++,r++,40===n&&(n=41),o.marker=n}for(;r"+Iu(r.content)+""},Uu.code_block=function(e,t,A,n,i){return""+Iu(e[t].content)+"\n"},Uu.fence=function(e,t,A,n,i){const r=e[t],o=r.info?uu(r.info).trim():"";let s,c="",E="";if(o){const e=o.split(/(\s+)/g);c=e[0],E=e.slice(2).join("")}if(s=A.highlight&&A.highlight(r.content,c,E)||Iu(r.content),0===s.indexOf("${s}\n`}return`
${s}
\n`},Uu.image=function(e,t,A,n,i){const r=e[t];return r.attrs[r.attrIndex("alt")][1]=i.renderInlineAsText(r.children,A,n),i.renderToken(e,t,A)},Uu.hardbreak=function(e,t,A){return A.xhtmlOut?"
\n":"
\n"},Uu.softbreak=function(e,t,A){return A.breaks?A.xhtmlOut?"
\n":"
\n":"\n"},Uu.text=function(e,t){return Iu(e[t].content)},Uu.html_block=function(e,t){return e[t].content},Uu.html_inline=function(e,t){return e[t].content},bu.prototype.renderAttrs=function(e){let t,A,n;if(!e.attrs)return"";for(n="",t=0,A=e.attrs.length;t\n":">",i},bu.prototype.renderInline=function(e,t,A){let n="";const i=this.rules;for(let r=0,o=e.length;r=0&&(A=this.attrs[t][1]),A},Nu.prototype.attrJoin=function(e,t){const A=this.attrIndex(e);A<0?this.attrPush([e,t]):this.attrs[A][1]=this.attrs[A][1]+" "+t},yu.prototype.Token=Nu;const pu=/\r\n?|\n/g,Tu=/\0/g;const Hu=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,xu=/\((c|tm|r)\)/i,zu=/\((c|tm|r)\)/gi,Ju={c:"©",r:"®",tm:"™"};function ju(e,t){return Ju[t.toLowerCase()]}function Zu(e){let t=0;for(let A=e.length-1;A>=0;A--){const n=e[A];"text"!==n.type||t||(n.content=n.content.replace(zu,ju)),"link_open"===n.type&&"auto"===n.info&&t--,"link_close"===n.type&&"auto"===n.info&&t++}}function vu(e){let t=0;for(let A=e.length-1;A>=0;A--){const n=e[A];"text"!==n.type||t||Hu.test(n.content)&&(n.content=n.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),"link_open"===n.type&&"auto"===n.info&&t--,"link_close"===n.type&&"auto"===n.info&&t++}}const Pu=/['"]/,Lu=/['"]/g;function Vu(e,t,A){return e.slice(0,t)+A+e.slice(t+1)}function Ou(e,t){let A;const n=[];for(let i=0;i=0&&!(n[A].level<=o);A--);if(n.length=A+1,"text"!==r.type)continue;let s=r.content,c=0,E=s.length;e:for(;c=0)Q=s.charCodeAt(B.index-1);else for(A=i-1;A>=0&&"softbreak"!==e[A].type&&"hardbreak"!==e[A].type;A--)if(e[A].content){Q=e[A].content.charCodeAt(e[A].content.length-1);break}let h=32;if(c=48&&Q<=57&&(g=a=!1),a&&g&&(a=u,g=w),a||g){if(g)for(A=n.length-1;A>=0;A--){let a=n[A];if(n[A].level=0;r--){const o=n[r];if("link_close"!==o.type){if("html_inline"===o.type&&(/^\s]/i.test(o.content)&&i>0&&i--,/^<\/a\s*>/i.test(o.content)&&i++),!(i>0)&&"text"===o.type&&e.md.linkify.test(o.content)){const i=o.content;let s=e.md.linkify.match(i);const c=[];let E=o.level,B=0;s.length>0&&0===s[0].index&&r>0&&"text_special"===n[r-1].type&&(s=s.slice(1));for(let t=0;tB){const t=new e.Token("text","",0);t.content=i.slice(B,r),t.level=E,c.push(t)}const o=new e.Token("link_open","a",1);o.attrs=[["href",A]],o.level=E++,o.markup="linkify",o.info="auto",c.push(o);const a=new e.Token("text","",0);a.content=n,a.level=E,c.push(a);const g=new e.Token("link_close","a",-1);g.level=--E,g.markup="linkify",g.info="auto",c.push(g),B=s[t].lastIndex}if(B=0;t--)"inline"===e.tokens[t].type&&(xu.test(e.tokens[t].content)&&Zu(e.tokens[t].children),Hu.test(e.tokens[t].content)&&vu(e.tokens[t].children))}],["smartquotes",function(e){if(e.md.options.typographer)for(let t=e.tokens.length-1;t>=0;t--)"inline"===e.tokens[t].type&&Pu.test(e.tokens[t].content)&&Ou(e.tokens[t].children,e)}],["text_join",function(e){let t,A;const n=e.tokens,i=n.length;for(let e=0;e=n)return-1;let r=e.src.charCodeAt(i++);if(r<48||r>57)return-1;for(;;){if(i>=n)return-1;if(r=e.src.charCodeAt(i++),!(r>=48&&r<=57)){if(41===r||46===r)break;return-1}if(i-A>=10)return-1}return i0&&this.level++,this.tokens.push(n),n},Wu.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},Wu.prototype.skipEmptyLines=function(e){for(let t=this.lineMax;et;)if(!Gu(this.src.charCodeAt(--e)))return e+1;return e},Wu.prototype.skipChars=function(e,t){for(let A=this.src.length;eA;)if(t!==this.src.charCodeAt(--e))return e+1;return e},Wu.prototype.getLines=function(e,t,A,n){if(e>=t)return"";const i=new Array(t-e);for(let r=0,o=e;oA?new Array(e-A+1).join(" ")+this.src.slice(E,c):this.src.slice(E,c)}return i.join("")},Wu.prototype.Token=Nu;const tw="<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",Aw="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",nw=new RegExp("^(?:"+tw+"|"+Aw+"|\x3c!---?>|\x3c!--(?:[^-]|-[^-]|--[^>])*--\x3e|<[?][\\s\\S]*?[?]>|]*>|)"),iw=new RegExp("^(?:"+tw+"|"+Aw+")"),rw=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(iw.source+"\\s*$"),/^$/,!1]],ow=[["table",function(e,t,A,n){if(t+2>A)return!1;let i=t+1;if(e.sCount[i]=4)return!1;let r=e.bMarks[i]+e.tShift[i];if(r>=e.eMarks[i])return!1;const o=e.src.charCodeAt(r++);if(124!==o&&45!==o&&58!==o)return!1;if(r>=e.eMarks[i])return!1;const s=e.src.charCodeAt(r++);if(124!==s&&45!==s&&58!==s&&!Gu(s))return!1;if(45===o&&Gu(s))return!1;for(;r=4)return!1;E=qu(c),E.length&&""===E[0]&&E.shift(),E.length&&""===E[E.length-1]&&E.pop();const a=E.length;if(0===a||a!==B.length)return!1;if(n)return!0;const g=e.parentType;e.parentType="table";const l=e.md.block.ruler.getRules("blockquote"),Q=[t,0];e.push("table_open","table",1).map=Q,e.push("thead_open","thead",1).map=[t,t+1],e.push("tr_open","tr",1).map=[t,t+1];for(let t=0;t=4)break;if(E=qu(c),E.length&&""===E[0]&&E.shift(),E.length&&""===E[E.length-1]&&E.pop(),u+=a-E.length,u>65536)break;i===t+2&&(e.push("tbody_open","tbody",1).map=h=[t+2,0]),e.push("tr_open","tr",1).map=[i,i+1];for(let t=0;t=4))break;n++,i=n}e.line=i;const r=e.push("code_block","code",0);return r.content=e.getLines(t,i,4+e.blkIndent,!1)+"\n",r.map=[t,e.line],!0}],["fence",function(e,t,A,n){let i=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(i+3>r)return!1;const o=e.src.charCodeAt(i);if(126!==o&&96!==o)return!1;let s=i;i=e.skipChars(i,o);let c=i-s;if(c<3)return!1;const E=e.src.slice(s,i),B=e.src.slice(i,r);if(96===o&&B.indexOf(String.fromCharCode(o))>=0)return!1;if(n)return!0;let a=t,g=!1;for(;!(a++,a>=A||(i=s=e.bMarks[a]+e.tShift[a],r=e.eMarks[a],i=4||(i=e.skipChars(i,o),i-s=4)return!1;if(62!==e.src.charCodeAt(i))return!1;if(n)return!0;const s=[],c=[],E=[],B=[],a=e.md.block.ruler.getRules("blockquote"),g=e.parentType;e.parentType="blockquote";let l,Q=!1;for(l=t;l=r)break;if(62===e.src.charCodeAt(i++)&&!t){let t,A,n=e.sCount[l]+1;32===e.src.charCodeAt(i)?(i++,n++,A=!1,t=!0):9===e.src.charCodeAt(i)?(t=!0,(e.bsCount[l]+n)%4==3?(i++,n++,A=!1):A=!0):t=!1;let o=n;for(s.push(e.bMarks[l]),e.bMarks[l]=i;i=r,c.push(e.bsCount[l]),e.bsCount[l]=e.sCount[l]+1+(t?1:0),E.push(e.sCount[l]),e.sCount[l]=o-n,B.push(e.tShift[l]),e.tShift[l]=i-e.bMarks[l];continue}if(Q)break;let n=!1;for(let t=0,i=a.length;t";const w=[t,0];u.map=w,e.md.block.tokenize(e,t,l),e.push("blockquote_close","blockquote",-1).markup=">",e.lineMax=o,e.parentType=g,w[1]=e.line;for(let A=0;A=4)return!1;let r=e.bMarks[t]+e.tShift[t];const o=e.src.charCodeAt(r++);if(42!==o&&45!==o&&95!==o)return!1;let s=1;for(;r=4)return!1;if(e.listIndent>=0&&e.sCount[c]-e.listIndent>=4&&e.sCount[c]=e.blkIndent&&(l=!0),(g=ew(e,c))>=0){if(B=!0,o=e.bMarks[c]+e.tShift[c],a=Number(e.src.slice(o,g-1)),l&&1!==a)return!1}else{if(!((g=$u(e,c))>=0))return!1;B=!1}if(l&&e.skipSpaces(g)>=e.eMarks[c])return!1;if(n)return!0;const Q=e.src.charCodeAt(g-1),h=e.tokens.length;B?(s=e.push("ordered_list_open","ol",1),1!==a&&(s.attrs=[["start",a]])):s=e.push("bullet_list_open","ul",1);const u=[c,0];s.map=u,s.markup=String.fromCharCode(Q);let w=!1;const M=e.md.block.ruler.getRules("list"),R=e.parentType;for(e.parentType="list";c=i?1:n-t,l>4&&(l=1);const h=t+l;s=e.push("list_item_open","li",1),s.markup=String.fromCharCode(Q);const u=[c,0];s.map=u,B&&(s.info=e.src.slice(o,g-1));const R=e.tight,d=e.tShift[c],I=e.sCount[c],k=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=h,e.tight=!0,e.tShift[c]=a-e.bMarks[c],e.sCount[c]=n,a>=i&&e.isEmpty(c+1)?e.line=Math.min(e.line+2,A):e.md.block.tokenize(e,c,A,!0),e.tight&&!w||(E=!1),w=e.line-c>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=k,e.tShift[c]=d,e.sCount[c]=I,e.tight=R,s=e.push("list_item_close","li",-1),s.markup=String.fromCharCode(Q),c=e.line,u[1]=c,c>=A)break;if(e.sCount[c]=4)break;let G=!1;for(let t=0,n=M.length;t=4)return!1;if(91!==e.src.charCodeAt(i))return!1;function s(t){const A=e.lineMax;if(t>=A||e.isEmpty(t))return null;let n=!1;if(e.sCount[t]-e.blkIndent>3&&(n=!0),e.sCount[t]<0&&(n=!0),!n){const n=e.md.block.ruler.getRules("reference"),i=e.parentType;e.parentType="reference";let r=!1;for(let i=0,o=n.length;i=4)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(i))return!1;let o=e.src.slice(i,r),s=0;for(;s=4)return!1;let o=e.src.charCodeAt(i);if(35!==o||i>=r)return!1;let s=1;for(o=e.src.charCodeAt(++i);35===o&&i6||ii&&Gu(e.src.charCodeAt(c-1))&&(r=c),e.line=t+1;const E=e.push("heading_open","h"+String(s),1);E.markup="########".slice(0,s),E.map=[t,e.line];const B=e.push("inline","",0);return B.content=e.src.slice(i,r).trim(),B.map=[t,e.line],B.children=[],e.push("heading_close","h"+String(s),-1).markup="########".slice(0,s),!0},["paragraph","reference","blockquote"]],["lheading",function(e,t,A){const n=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const i=e.parentType;e.parentType="paragraph";let r,o=0,s=t+1;for(;s3)continue;if(e.sCount[s]>=e.blkIndent){let t=e.bMarks[s]+e.tShift[s];const A=e.eMarks[s];if(t=A))){o=61===r?1:2;break}}if(e.sCount[s]<0)continue;let t=!1;for(let i=0,r=n.length;i3)continue;if(e.sCount[r]<0)continue;let t=!1;for(let i=0,o=n.length;i=A))&&!(e.sCount[o]=r){e.line=A;break}const t=e.line;let c=!1;for(let r=0;r=e.line)throw new Error("block rule didn't increment state.line");break}if(!c)throw new Error("none of the block rules matched");e.tight=!s,e.isEmpty(e.line-1)&&(s=!0),o=e.line,o0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],i={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(n),this.tokens_meta.push(i),n},cw.prototype.scanDelims=function(e,t){const A=this.posMax,n=this.src.charCodeAt(e),i=e>0?this.src.charCodeAt(e-1):32;let r=e;for(;r?@[]^_`{|}~-".split("").forEach((function(e){aw[e.charCodeAt(0)]=1}));const lw={tokenize:function(e,t){const A=e.src.charCodeAt(e.pos);if(t)return!1;if(126!==A)return!1;const n=e.scanDelims(e.pos,!0);let i=n.length;const r=String.fromCharCode(A);if(i<2)return!1;let o;i%2&&(o=e.push("text","",0),o.content=r,i--);for(let t=0;t=0;A--){const n=t[A];if(95!==n.marker&&42!==n.marker)continue;if(-1===n.end)continue;const i=t[n.end],r=A>0&&t[A-1].end===n.end+1&&t[A-1].marker===n.marker&&t[A-1].token===n.token-1&&t[n.end+1].token===i.token+1,o=String.fromCharCode(n.marker),s=e.tokens[n.token];s.type=r?"strong_open":"em_open",s.tag=r?"strong":"em",s.nesting=1,s.markup=r?o+o:o,s.content="";const c=e.tokens[i.token];c.type=r?"strong_close":"em_close",c.tag=r?"strong":"em",c.nesting=-1,c.markup=r?o+o:o,c.content="",r&&(e.tokens[t[A-1].token].content="",e.tokens[t[n.end+1].token].content="",A--)}}const hw={tokenize:function(e,t){const A=e.src.charCodeAt(e.pos);if(t)return!1;if(95!==A&&42!==A)return!1;const n=e.scanDelims(e.pos,42===A);for(let t=0;t\x00-\x20]*)$/,Mw=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,Rw=/^&([a-z][a-z0-9]{1,31});/i;function dw(e){const t={},A=e.length;if(!A)return;let n=0,i=-2;const r=[];for(let o=0;os;c-=r[c]+1){const t=e[c];if(t.marker===A.marker&&t.open&&t.end<0){let n=!1;if((t.close||A.open)&&(t.length+A.length)%3==0&&(t.length%3==0&&A.length%3==0||(n=!0)),!n){const n=c>0&&!e[c-1].open?r[c-1]+1:0;r[o]=o-c+n,r[c]=n,A.open=!1,t.end=o,t.close=!1,E=-1,i=-2;break}}}-1!==E&&(t[A.marker][(A.open?3:0)+(A.length||0)%3]=E)}}const Iw=[["text",function(e,t){let A=e.pos;for(;A0)return!1;const A=e.pos;if(A+3>e.posMax)return!1;if(58!==e.src.charCodeAt(A))return!1;if(47!==e.src.charCodeAt(A+1))return!1;if(47!==e.src.charCodeAt(A+2))return!1;const n=e.pending.match(Bw);if(!n)return!1;const i=n[1],r=e.md.linkify.matchAtStart(e.src.slice(A-i.length));if(!r)return!1;let o=r.url;if(o.length<=i.length)return!1;o=o.replace(/\*+$/,"");const s=e.md.normalizeLink(o);if(!e.md.validateLink(s))return!1;if(!t){e.pending=e.pending.slice(0,-i.length);const t=e.push("link_open","a",1);t.attrs=[["href",s]],t.markup="linkify",t.info="auto",e.push("text","",0).content=e.md.normalizeLinkText(o);const A=e.push("link_close","a",-1);A.markup="linkify",A.info="auto"}return e.pos+=o.length-i.length,!0}],["newline",function(e,t){let A=e.pos;if(10!==e.src.charCodeAt(A))return!1;const n=e.pending.length-1,i=e.posMax;if(!t)if(n>=0&&32===e.pending.charCodeAt(n))if(n>=1&&32===e.pending.charCodeAt(n-1)){let t=n-1;for(;t>=1&&32===e.pending.charCodeAt(t-1);)t--;e.pending=e.pending.slice(0,t),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(A++;A=n)return!1;let i=e.src.charCodeAt(A);if(10===i){for(t||e.push("hardbreak","br",0),A++;A=55296&&i<=56319&&A+1=56320&&t<=57343&&(r+=e.src[A+1],A++)}const o="\\"+r;if(!t){const t=e.push("text_special","",0);t.content=i<256&&0!==aw[i]?r:o,t.markup=o,t.info="escape"}return e.pos=A+1,!0}],["backticks",function(e,t){let A=e.pos;if(96!==e.src.charCodeAt(A))return!1;const n=A;A++;const i=e.posMax;for(;A=a)return!1;if(c=Q,i=e.md.helpers.parseLinkDestination(e.src,Q,e.posMax),i.ok){for(o=e.md.normalizeLink(i.str),e.md.validateLink(o)?Q=i.pos:o="",c=Q;Q=a||41!==e.src.charCodeAt(Q))&&(E=!0),Q++}if(E){if(void 0===e.env.references)return!1;if(Q=0?n=e.src.slice(c,Q++):Q=l+1):Q=l+1,n||(n=e.src.slice(g,l)),r=e.env.references[Fu(n)],!r)return e.pos=B,!1;o=r.href,s=r.title}if(!t){e.pos=g,e.posMax=l;const t=[["href",o]];e.push("link_open","a",1).attrs=t,s&&t.push(["title",s]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=Q,e.posMax=a,!0}],["image",function(e,t){let A,n,i,r,o,s,c,E,B="";const a=e.pos,g=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;const l=e.pos+2,Q=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(Q<0)return!1;if(r=Q+1,r=g)return!1;for(E=r,s=e.md.helpers.parseLinkDestination(e.src,r,e.posMax),s.ok&&(B=e.md.normalizeLink(s.str),e.md.validateLink(B)?r=s.pos:B=""),E=r;r=g||41!==e.src.charCodeAt(r))return e.pos=a,!1;r++}else{if(void 0===e.env.references)return!1;if(r=0?i=e.src.slice(E,r++):r=Q+1):r=Q+1,i||(i=e.src.slice(l,Q)),o=e.env.references[Fu(i)],!o)return e.pos=a,!1;B=o.href,c=o.title}if(!t){n=e.src.slice(l,Q);const t=[];e.md.inline.parse(n,e.md,e.env,t);const A=e.push("image","img",0),i=[["src",B],["alt",""]];A.attrs=i,A.children=t,A.content=n,c&&i.push(["title",c])}return e.pos=r,e.posMax=g,!0}],["autolink",function(e,t){let A=e.pos;if(60!==e.src.charCodeAt(A))return!1;const n=e.pos,i=e.posMax;for(;;){if(++A>=i)return!1;const t=e.src.charCodeAt(A);if(60===t)return!1;if(62===t)break}const r=e.src.slice(n+1,A);if(ww.test(r)){const A=e.md.normalizeLink(r);if(!e.md.validateLink(A))return!1;if(!t){const t=e.push("link_open","a",1);t.attrs=[["href",A]],t.markup="autolink",t.info="auto",e.push("text","",0).content=e.md.normalizeLinkText(r);const n=e.push("link_close","a",-1);n.markup="autolink",n.info="auto"}return e.pos+=r.length+2,!0}if(uw.test(r)){const A=e.md.normalizeLink("mailto:"+r);if(!e.md.validateLink(A))return!1;if(!t){const t=e.push("link_open","a",1);t.attrs=[["href",A]],t.markup="autolink",t.info="auto",e.push("text","",0).content=e.md.normalizeLinkText(r);const n=e.push("link_close","a",-1);n.markup="autolink",n.info="auto"}return e.pos+=r.length+2,!0}return!1}],["html_inline",function(e,t){if(!e.md.options.html)return!1;const A=e.posMax,n=e.pos;if(60!==e.src.charCodeAt(n)||n+2>=A)return!1;const i=e.src.charCodeAt(n+1);if(33!==i&&63!==i&&47!==i&&!function(e){const t=32|e;return t>=97&&t<=122}(i))return!1;const r=e.src.slice(n).match(nw);if(!r)return!1;if(!t){const t=e.push("html_inline","",0);t.content=r[0],/^\s]/i.test(t.content)&&e.linkLevel++,/^<\/a\s*>/i.test(t.content)&&e.linkLevel--}return e.pos+=r[0].length,!0}],["entity",function(e,t){const A=e.pos,n=e.posMax;if(38!==e.src.charCodeAt(A))return!1;if(A+1>=n)return!1;if(35===e.src.charCodeAt(A+1)){const n=e.src.slice(A).match(Mw);if(n){if(!t){const t="x"===n[1][0].toLowerCase()?parseInt(n[1].slice(1),16):parseInt(n[1],10),A=e.push("text_special","",0);A.content=au(t)?gu(t):gu(65533),A.markup=n[0],A.info="entity"}return e.pos+=n[0].length,!0}}else{const n=e.src.slice(A).match(Rw);if(n){const A=ou(n[0]);if(A!==n[0]){if(!t){const t=e.push("text_special","",0);t.content=A,t.markup=n[0],t.info="entity"}return e.pos+=n[0].length,!0}}}return!1}]],kw=[["balance_pairs",function(e){const t=e.tokens_meta,A=e.tokens_meta.length;dw(e.delimiters);for(let e=0;e0&&n++,"text"===i[t].type&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;o||e.pos++,r[t]=e.pos},Gw.prototype.tokenize=function(e){const t=this.ruler.getRules(""),A=t.length,n=e.posMax,i=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}if(o){if(e.pos>=n)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},Gw.prototype.parse=function(e,t,A,n){const i=new this.State(e,t,A,n);this.tokenize(i);const r=this.ruler2.getRules(""),o=r.length;for(let e=0;e=3&&":"===e[t-3]||t>=3&&"/"===e[t-3]?0:n.match(A.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,A){const n=e.slice(t);return A.re.mailto||(A.re.mailto=new RegExp("^"+A.re.src_email_name+"@"+A.re.src_host_strict,"i")),A.re.mailto.test(n)?n.match(A.re.mailto)[0].length:0}}},Uw="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",bw="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function Sw(e){const t=e.re=function(e){const t={};e=e||{},t.src_Any=Jh.source,t.src_Cc=jh.source,t.src_Z=Ph.source,t.src_P=Zh.source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join("|"),t.src_ZCc=[t.src_Z,t.src_Cc].join("|");return t.src_pseudo_letter="(?:(?![><|]|"+t.src_ZPCc+")"+t.src_Any+")",t.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",t.src_auth="(?:(?:(?!"+t.src_ZCc+"|[@/\\[\\]()]).)+@)?",t.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",t.src_host_terminator="(?=$|[><|]|"+t.src_ZPCc+")(?!"+(e["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+t.src_ZPCc+"))",t.src_path="(?:[/?#](?:(?!"+t.src_ZCc+"|[><|]|[()[\\]{}.,\"'?!\\-;]).|\\[(?:(?!"+t.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+t.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+t.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+t.src_ZCc+'|["]).)+\\"|\\\'(?:(?!'+t.src_ZCc+"|[']).)+\\'|\\'(?="+t.src_pseudo_letter+"|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+t.src_ZCc+"|[.]|$)|"+(e["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+t.src_ZCc+"|$)|;(?!"+t.src_ZCc+"|$)|\\!+(?!"+t.src_ZCc+"|[!]|$)|\\?(?!"+t.src_ZCc+"|[?]|$))+|\\/)?",t.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',t.src_xn="xn--[a-z0-9\\-]{1,59}",t.src_domain_root="(?:"+t.src_xn+"|"+t.src_pseudo_letter+"{1,63})",t.src_domain="(?:"+t.src_xn+"|(?:"+t.src_pseudo_letter+")|(?:"+t.src_pseudo_letter+"(?:-|"+t.src_pseudo_letter+"){0,61}"+t.src_pseudo_letter+"))",t.src_host="(?:(?:(?:(?:"+t.src_domain+")\\.)*"+t.src_domain+"))",t.tpl_host_fuzzy="(?:"+t.src_ip4+"|(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%)))",t.tpl_host_no_ip_fuzzy="(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%))",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+t.src_ZPCc+"|>|$))",t.tpl_email_fuzzy='(^|[><|]|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}(e.__opts__),A=e.__tlds__.slice();function n(e){return e.replace("%TLDS%",t.src_tlds)}e.onCompile(),e.__tlds_replaced__||A.push(Uw),A.push(t.src_xn),t.src_tlds=A.join("|"),t.email_fuzzy=RegExp(n(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(n(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(n(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(n(t.tpl_host_fuzzy_test),"i");const i=[];function r(e,t){throw new Error('(LinkifyIt) Invalid schema "'+e+'": '+t)}e.__compiled__={},Object.keys(e.__schemas__).forEach((function(t){const A=e.__schemas__[t];if(null===A)return;const n={validate:null,link:null};if(e.__compiled__[t]=n,"[object Object]"===Cw(A))return"[object RegExp]"!==Cw(A.validate)?Dw(A.validate)?n.validate=A.validate:r(t,A):n.validate=function(e){return function(t,A){const n=t.slice(A);return e.test(n)?n.match(e)[0].length:0}}(A.validate),void(Dw(A.normalize)?n.normalize=A.normalize:A.normalize?r(t,A):n.normalize=function(e,t){t.normalize(e)});!function(e){return"[object String]"===Cw(e)}(A)?r(t,A):i.push(t)})),i.forEach((function(t){e.__compiled__[e.__schemas__[t]]&&(e.__compiled__[t].validate=e.__compiled__[e.__schemas__[t]].validate,e.__compiled__[t].normalize=e.__compiled__[e.__schemas__[t]].normalize)})),e.__compiled__[""]={validate:null,normalize:function(e,t){t.normalize(e)}};const o=Object.keys(e.__compiled__).filter((function(t){return t.length>0&&e.__compiled__[t]})).map(Fw).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+o+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+o+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),function(e){e.__index__=-1,e.__text_cache__=""}(e)}function Nw(e,t){const A=e.__index__,n=e.__last_index__,i=e.__text_cache__.slice(A,n);this.schema=e.__schema__.toLowerCase(),this.index=A+t,this.lastIndex=n+t,this.raw=i,this.text=i,this.url=i}function yw(e,t){const A=new Nw(e,t);return e.__compiled__[A.schema].normalize(A,e),A}function pw(e,t){if(!(this instanceof pw))return new pw(e,t);t||Object.keys(e||{}).reduce((function(e,t){return e||Yw.hasOwnProperty(t)}),!1)&&(t=e,e={}),this.__opts__=fw({},Yw,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=fw({},mw,e),this.__compiled__={},this.__tlds__=bw,this.__tlds_replaced__=!1,this.re={},Sw(this)}pw.prototype.add=function(e,t){return this.__schemas__[e]=t,Sw(this),this},pw.prototype.set=function(e){return this.__opts__=fw(this.__opts__,e),this},pw.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;let t,A,n,i,r,o,s,c,E;if(this.re.schema_test.test(e))for(s=this.re.schema_search,s.lastIndex=0;null!==(t=s.exec(e));)if(i=this.testSchemaAt(e,t[2],s.lastIndex),i){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+i;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=e.search(this.re.host_fuzzy_test),c>=0&&(this.__index__<0||c=0&&null!==(n=e.match(this.re.email_fuzzy))&&(r=n.index+n[1].length,o=n.index+n[0].length,(this.__index__<0||rthis.__last_index__)&&(this.__schema__="mailto:",this.__index__=r,this.__last_index__=o))),this.__index__>=0},pw.prototype.pretest=function(e){return this.re.pretest.test(e)},pw.prototype.testSchemaAt=function(e,t,A){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,A,this):0},pw.prototype.match=function(e){const t=[];let A=0;this.__index__>=0&&this.__text_cache__===e&&(t.push(yw(this,A)),A=this.__last_index__);let n=A?e.slice(A):e;for(;this.test(n);)t.push(yw(this,A)),n=n.slice(this.__last_index__),A+=this.__last_index__;return t.length?t:null},pw.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;const t=this.re.schema_at_start.exec(e);if(!t)return null;const A=this.testSchemaAt(e,t[2],t[0].length);return A?(this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+A,yw(this,0)):null},pw.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter((function(e,t,A){return e!==A[t-1]})).reverse(),Sw(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,Sw(this),this)},pw.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)},pw.prototype.onCompile=function(){};const Tw=2147483647,Hw=36,xw=/^xn--/,zw=/[^\0-\x7F]/,Jw=/[\x2E\u3002\uFF0E\uFF61]/g,jw={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Zw=Math.floor,vw=String.fromCharCode;function Pw(e){throw new RangeError(jw[e])}function Lw(e,t){const A=e.split("@");let n="";A.length>1&&(n=A[0]+"@",e=A[1]);const i=function(e,t){const A=[];let n=e.length;for(;n--;)A[n]=t(e[n]);return A}((e=e.replace(Jw,".")).split("."),t).join(".");return n+i}function Vw(e){const t=[];let A=0;const n=e.length;for(;A=55296&&i<=56319&&A>1,e+=Zw(e/t);e>455;n+=Hw)e=Zw(e/35);return Zw(n+36*e/(e+38))},Kw=function(e){const t=[],A=e.length;let n=0,i=128,r=72,o=e.lastIndexOf("-");o<0&&(o=0);for(let A=0;A=128&&Pw("not-basic"),t.push(e.charCodeAt(A));for(let c=o>0?o+1:0;c=A&&Pw("invalid-input");const o=(s=e.charCodeAt(c++))>=48&&s<58?s-48+26:s>=65&&s<91?s-65:s>=97&&s<123?s-97:Hw;o>=Hw&&Pw("invalid-input"),o>Zw((Tw-n)/t)&&Pw("overflow"),n+=o*t;const E=i<=r?1:i>=r+26?26:i-r;if(oZw(Tw/B)&&Pw("overflow"),t*=B}const E=t.length+1;r=_w(n-o,E,0==o),Zw(n/E)>Tw-i&&Pw("overflow"),i+=Zw(n/E),n%=E,t.splice(n++,0,i)}var s;return String.fromCodePoint(...t)},Ww=function(e){const t=[],A=(e=Vw(e)).length;let n=128,i=0,r=72;for(const A of e)A<128&&t.push(vw(A));const o=t.length;let s=o;for(o&&t.push("-");s=n&&tZw((Tw-i)/c)&&Pw("overflow"),i+=(A-n)*c,n=A;for(const A of e)if(ATw&&Pw("overflow"),A===n){let e=i;for(let A=Hw;;A+=Hw){const n=A<=r?1:A>=r+26?26:A-r;if(eString.fromCodePoint(...e)},decode:Kw,encode:Ww,toASCII:function(e){return Lw(e,(function(e){return zw.test(e)?"xn--"+Ww(e):e}))},toUnicode:function(e){return Lw(e,(function(e){return xw.test(e)?Kw(e.slice(4).toLowerCase()):e}))}},qw={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},$w=/^(vbscript|javascript|file|data):/,eM=/^data:image\/(gif|png|jpeg|webp);/;function tM(e){const t=e.trim().toLowerCase();return!$w.test(t)||eM.test(t)}const AM=["http:","https:","mailto:"];function nM(e){const t=xh(e,!0);if(t.hostname&&(!t.protocol||AM.indexOf(t.protocol)>=0))try{t.hostname=Xw.toASCII(t.hostname)}catch(e){}return fh(Ch(t))}function iM(e){const t=xh(e,!0);if(t.hostname&&(!t.protocol||AM.indexOf(t.protocol)>=0))try{t.hostname=Xw.toUnicode(t.hostname)}catch(e){}return kh(Ch(t),kh.defaultChars+"%")}function rM(e,t){if(!(this instanceof rM))return new rM(e,t);t||su(e)||(t=e||{},e="default"),this.inline=new Gw,this.block=new sw,this.core=new Ku,this.renderer=new bu,this.linkify=new pw,this.validateLink=tM,this.normalizeLink=nM,this.normalizeLinkText=iM,this.utils=Yu,this.helpers=Eu({},mu),this.options={},this.configure(e),t&&this.set(t)}rM.prototype.set=function(e){return Eu(this.options,e),this},rM.prototype.configure=function(e){const t=this;if(su(e)){const t=e;if(!(e=qw[t]))throw new Error('Wrong `markdown-it` preset "'+t+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach((function(A){e.components[A].rules&&t[A].ruler.enableOnly(e.components[A].rules),e.components[A].rules2&&t[A].ruler2.enableOnly(e.components[A].rules2)})),this},rM.prototype.enable=function(e,t){let A=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(t){A=A.concat(this[t].ruler.enable(e,!0))}),this),A=A.concat(this.inline.ruler2.enable(e,!0));const n=e.filter((function(e){return A.indexOf(e)<0}));if(n.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+n);return this},rM.prototype.disable=function(e,t){let A=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(t){A=A.concat(this[t].ruler.disable(e,!0))}),this),A=A.concat(this.inline.ruler2.disable(e,!0));const n=e.filter((function(e){return A.indexOf(e)<0}));if(n.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+n);return this},rM.prototype.use=function(e){const t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},rM.prototype.parse=function(e,t){if("string"!=typeof e)throw new Error("Input data should be a String");const A=new this.core.State(e,this,t);return this.core.process(A),A.tokens},rM.prototype.render=function(e,t){return this.renderer.render(this.parse(e,t=t||{}),this.options,t)},rM.prototype.parseInline=function(e,t){const A=new this.core.State(e,this,t);return A.inlineMode=!0,this.core.process(A),A.tokens},rM.prototype.renderInline=function(e,t){return this.renderer.render(this.parseInline(e,t=t||{}),this.options,t)};const oM=new P({nodes:{doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM:()=>["p",0]},blockquote:{content:"block+",group:"block",parseDOM:[{tag:"blockquote"}],toDOM:()=>["blockquote",0]},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM:()=>["div",["hr"]]},heading:{attrs:{level:{default:1}},content:"(text | image)*",group:"block",defining:!0,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM:e=>["h"+e.attrs.level,0]},code_block:{content:"text*",group:"block",code:!0,defining:!0,marks:"",attrs:{params:{default:""}},parseDOM:[{tag:"pre",preserveWhitespace:"full",getAttrs:e=>({params:e.getAttribute("data-params")||""})}],toDOM:e=>["pre",e.attrs.params?{"data-params":e.attrs.params}:{},["code",0]]},ordered_list:{content:"list_item+",group:"block",attrs:{order:{default:1},tight:{default:!1}},parseDOM:[{tag:"ol",getAttrs:e=>({order:e.hasAttribute("start")?+e.getAttribute("start"):1,tight:e.hasAttribute("data-tight")})}],toDOM:e=>["ol",{start:1==e.attrs.order?null:e.attrs.order,"data-tight":e.attrs.tight?"true":null},0]},bullet_list:{content:"list_item+",group:"block",attrs:{tight:{default:!1}},parseDOM:[{tag:"ul",getAttrs:e=>({tight:e.hasAttribute("data-tight")})}],toDOM:e=>["ul",{"data-tight":e.attrs.tight?"true":null},0]},list_item:{content:"block+",defining:!0,parseDOM:[{tag:"li"}],toDOM:()=>["li",0]},text:{group:"inline"},image:{inline:!0,attrs:{src:{},alt:{default:null},title:{default:null}},group:"inline",draggable:!0,parseDOM:[{tag:"img[src]",getAttrs:e=>({src:e.getAttribute("src"),title:e.getAttribute("title"),alt:e.getAttribute("alt")})}],toDOM:e=>["img",e.attrs]},hard_break:{inline:!0,group:"inline",selectable:!1,parseDOM:[{tag:"br"}],toDOM:()=>["br"]}},marks:{em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"},{style:"font-style=normal",clearMark:e=>"em"==e.type.name}],toDOM:()=>["em"]},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:e=>"normal"!=e.style.fontWeight&&null},{style:"font-weight=400",clearMark:e=>"strong"==e.type.name},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM:()=>["strong"]},link:{attrs:{href:{},title:{default:null}},inclusive:!1,parseDOM:[{tag:"a[href]",getAttrs:e=>({href:e.getAttribute("href"),title:e.getAttribute("title")})}],toDOM:e=>["a",e.attrs]},code:{parseDOM:[{tag:"code"}],toDOM:()=>["code"]}}});class sM{constructor(e,t){this.schema=e,this.tokenHandlers=t,this.stack=[{type:e.topNodeType,attrs:null,content:[],marks:L.none}]}top(){return this.stack[this.stack.length-1]}push(e){this.stack.length&&this.top().content.push(e)}addText(e){if(!e)return;let t,A=this.top(),n=A.content,i=n[n.length-1],r=this.schema.text(e,A.marks);i&&(t=function(e,t){if(e.isText&&t.isText&&L.sameSet(e.marks,t.marks))return e.withText(e.text+t.text)}(i,r))?n[n.length-1]=t:n.push(r)}openMark(e){let t=this.top();t.marks=e.addToSet(t.marks)}closeMark(e){let t=this.top();t.marks=e.removeFromSet(t.marks)}parseTokens(e){for(let t=0;t{e.openNode(t,cM(i,A,n,r)),e.addText(BM(A.content)),e.closeNode()}:(A[n+"_open"]=(e,A,n,r)=>e.openNode(t,cM(i,A,n,r)),A[n+"_close"]=e=>e.closeNode())}else if(i.node){let t=e.nodeType(i.node);A[n]=(e,A,n,r)=>e.addNode(t,cM(i,A,n,r))}else if(i.mark){let t=e.marks[i.mark];EM(i,n)?A[n]=(e,A,n,r)=>{e.openMark(t.create(cM(i,A,n,r))),e.addText(BM(A.content)),e.closeMark(t)}:(A[n+"_open"]=(e,A,n,r)=>e.openMark(t.create(cM(i,A,n,r))),A[n+"_close"]=e=>e.closeMark(t))}else{if(!i.ignore)throw new RangeError("Unrecognized parsing spec "+JSON.stringify(i));EM(i,n)?A[n]=aM:(A[n+"_open"]=aM,A[n+"_close"]=aM)}}return A.text=(e,t)=>e.addText(t.content),A.inline=(e,t)=>e.parseTokens(t.children),A.softbreak=A.softbreak||(e=>e.addText(" ")),A}(e,A)}parse(e,t={}){let A,n=new sM(this.schema,this.tokenHandlers);n.parseTokens(this.tokenizer.parse(e,t));do{A=n.closeNode()}while(n.stack.length);return A||this.schema.topNodeType.createAndFill()}}(oM,rM("commonmark",{html:!1}),{blockquote:{block:"blockquote"},paragraph:{block:"paragraph"},list_item:{block:"list_item"},bullet_list:{block:"bullet_list",getAttrs:(e,t,A)=>({tight:gM(t,A)})},ordered_list:{block:"ordered_list",getAttrs:(e,t,A)=>({order:+e.attrGet("start")||1,tight:gM(t,A)})},heading:{block:"heading",getAttrs:e=>({level:+e.tag.slice(1)})},code_block:{block:"code_block",noCloseToken:!0},fence:{block:"code_block",getAttrs:e=>({params:e.info||""}),noCloseToken:!0},hr:{node:"horizontal_rule"},image:{node:"image",getAttrs:e=>({src:e.attrGet("src"),title:e.attrGet("title")||null,alt:e.children[0]&&e.children[0].content||null})},hardbreak:{node:"hard_break"},em:{mark:"em"},strong:{mark:"strong"},link:{mark:"link",getAttrs:e=>({href:e.attrGet("href"),title:e.attrGet("title")||null})},code_inline:{mark:"code",noCloseToken:!0}});const lM=new class{constructor(e,t,A={}){this.nodes=e,this.marks=t,this.options=A}serialize(e,t={}){t=Object.assign({},this.options,t);let A=new hM(this.nodes,this.marks,t);return A.renderContent(e),A.out}}({blockquote(e,t){e.wrapBlock("> ",null,t,(()=>e.renderContent(t)))},code_block(e,t){const A=t.textContent.match(/`{3,}/gm),n=A?A.sort().slice(-1)[0]+"`":"```";e.write(n+(t.attrs.params||"")+"\n"),e.text(t.textContent,!1),e.write("\n"),e.write(n),e.closeBlock(t)},heading(e,t){e.write(e.repeat("#",t.attrs.level)+" "),e.renderInline(t,!1),e.closeBlock(t)},horizontal_rule(e,t){e.write(t.attrs.markup||"---"),e.closeBlock(t)},bullet_list(e,t){e.renderList(t," ",(()=>(t.attrs.bullet||"*")+" "))},ordered_list(e,t){let A=t.attrs.order||1,n=String(A+t.childCount-1).length,i=e.repeat(" ",n+2);e.renderList(t,i,(t=>{let i=String(A+t);return e.repeat(" ",n-i.length)+i+". "}))},list_item(e,t){e.renderContent(t)},paragraph(e,t){e.renderInline(t),e.closeBlock(t)},image(e,t){e.write("!["+e.esc(t.attrs.alt||"")+"]("+t.attrs.src.replace(/[\(\)]/g,"\\$&")+(t.attrs.title?' "'+t.attrs.title.replace(/"/g,'\\"')+'"':"")+")")},hard_break(e,t,A,n){for(let i=n+1;i(e.inAutolink=function(e,t,A){if(e.attrs.title||!/^\w+:/.test(e.attrs.href))return!1;let n=t.child(A);return!(!n.isText||n.text!=e.attrs.href||n.marks[n.marks.length-1]!=e||A!=t.childCount-1&&e.isInSet(t.child(A+1).marks))}(t,A,n),e.inAutolink?"<":"["),close(e,t,A,n){let{inAutolink:i}=e;return e.inAutolink=void 0,i?">":"]("+t.attrs.href.replace(/[\(\)"]/g,"\\$&")+(t.attrs.title?` "${t.attrs.title.replace(/"/g,'\\"')}"`:"")+")"},mixable:!0},code:{open:(e,t,A,n)=>QM(A.child(n),-1),close:(e,t,A,n)=>QM(A.child(n-1),1),escape:!1}});function QM(e,t){let A,n=/`+/g,i=0;if(e.isText)for(;A=n.exec(e.text);)i=Math.max(i,A[0].length);let r=i>0&&t>0?" `":"`";for(let e=0;e0&&t<0&&(r+=" "),r}class hM{constructor(e,t,A){this.nodes=e,this.marks=t,this.options=A,this.delim="",this.out="",this.closed=null,this.inAutolink=void 0,this.atBlockStart=!1,this.inTightList=!1,void 0===this.options.tightLists&&(this.options.tightLists=!1),void 0===this.options.hardBreakNodeName&&(this.options.hardBreakNodeName="hard_break")}flushClose(e=2){if(this.closed){if(this.atBlank()||(this.out+="\n"),e>1){let t=this.delim,A=/\s+$/.exec(t);A&&(t=t.slice(0,t.length-A[0].length));for(let A=1;Athis.render(t,e,n)))}renderInline(e,t=!0){this.atBlockStart=t;let A=[],n="",i=(t,i,r)=>{let o=t?t.marks:[];t&&t.type.name===this.options.hardBreakNodeName&&(o=o.filter((t=>{if(r+1==e.childCount)return!1;let A=e.child(r+1);return t.isInSet(A.marks)&&(!A.isText||/\S/.test(A.text))})));let s=n;if(n="",t&&t.isText&&o.some((e=>{let t=this.marks[e.type.name];return t&&t.expelEnclosingWhitespace&&!e.isInSet(A)}))){let[e,n,i]=/^(\s*)(.*)$/m.exec(t.text);n&&(s+=n,(t=i?t.withText(i):null)||(o=A))}if(t&&t.isText&&o.some((t=>{let A=this.marks[t.type.name];return A&&A.expelEnclosingWhitespace&&(r==e.childCount-1||!t.isInSet(e.child(r+1).marks))}))){let[e,i,r]=/^(.*?)(\s*)$/m.exec(t.text);r&&(n=r,(t=i?t.withText(i):null)||(o=A))}let c=o.length?o[o.length-1]:null,E=c&&!1===this.marks[c.type.name].escape,B=o.length-(E?1:0);e:for(let e=0;en?o=o.slice(0,n).concat(t).concat(o.slice(n,e)).concat(o.slice(e+1,B)):n>e&&(o=o.slice(0,e).concat(o.slice(e+1,n)).concat(t).concat(o.slice(n,B)));continue e}}}let a=0;for(;a0&&(this.atBlockStart=!1)};e.forEach(i),i(null,0,e.childCount),this.atBlockStart=!1}renderList(e,t,A){this.closed&&this.closed.type==e.type?this.flushClose(3):this.inTightList&&this.flushClose(1);let n=void 0!==e.attrs.tight?e.attrs.tight:this.options.tightLists,i=this.inTightList;this.inTightList=n,e.forEach(((i,r,o)=>{o&&n&&this.flushClose(1),this.wrapBlock(t,A(o),e,(()=>this.render(i,e,o)))})),this.inTightList=i}esc(e,t=!1){return e=e.replace(/[`*\\~\[\]_]/g,((t,A)=>"_"==t&&A>0&&A+1])/,"\\$&").replace(/^(\s*)(#{1,6})(\s|$)/,"$1\\$2$3").replace(/^(\s*\d+)\.\s/,"$1\\. ")),this.options.escapeExtraCharacters&&(e=e.replace(this.options.escapeExtraCharacters,"\\$&")),e}quote(e){let t=-1==e.indexOf('"')?'""':-1==e.indexOf("'")?"''":"()";return t[0]+e+t[1]}repeat(e,t){let A="";for(let n=0;n=0;n--)if(e[n].level===A)return n;return-1}function kM(e,t){return"inline"===e[t].type&&"paragraph_open"===e[t-1].type&&function(e){return"list_item_open"===e.type}(e[t-2])&&function(e){return 0===e.content.indexOf("[ ] ")||0===e.content.indexOf("[x] ")||0===e.content.indexOf("[X] ")}(e[t])}function GM(e,t){if(e.children.unshift(function(e,t){var A=new t("html_inline","",0),n=uM?' disabled="" ':"";return 0===e.content.indexOf("[ ] ")?A.content='':0!==e.content.indexOf("[x] ")&&0!==e.content.indexOf("[X] ")||(A.content=''),A}(e,t)),e.children[1].content=e.children[1].content.slice(3),e.content=e.content.slice(3),wM)if(MM){e.children.pop();var A="task-item-"+Math.ceil(1e7*Math.random()-1e3);e.children[0].content=e.children[0].content.slice(0,-1)+' id="'+A+'">',e.children.push(function(e,t,A){var n=new A("html_inline","",0);return n.content='",n.attrs=[{for:t}],n}(e.content,A,t))}else e.children.unshift(function(e){var t=new e("html_inline","",0);return t.content="",t}(t))}var fM=Object.defineProperty,CM=(e,t,A)=>(((e,t,A)=>{t in e?fM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:A}):e[t]=A})(e,"symbol"!=typeof t?t+"":t,A),A);const DM=s.create({name:"markdownTightLists",addOptions:()=>({tight:!0,tightClass:"tight",listTypes:["bulletList","orderedList"]}),addGlobalAttributes(){return[{types:this.options.listTypes,attributes:{tight:{default:this.options.tight,parseHTML:e=>"true"===e.getAttribute("data-tight")||!e.querySelector("p"),renderHTML:e=>({class:e.tight?this.options.tightClass:null,"data-tight":e.tight?"true":null})}}}]},addCommands(){var e=this;return{toggleTight:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return A=>{let{editor:n,commands:i}=A;return e.options.listTypes.some((e=>function(e){if(!n.isActive(e))return!1;const A=n.getAttributes(e);return i.updateAttributes(e,{tight:null!=t?t:!(null!=A&&A.tight)})}(e)))}}}}}),FM=rM();function YM(e,t){return FM.inline.State.prototype.scanDelims.call({src:e,posMax:e.length}),new FM.inline.State(e,null,null,[]).scanDelims(t,!0)}function mM(e,t,A,n){let i=e.substring(0,A)+e.substring(A+t.length);return i=i.substring(0,A+n)+t+i.substring(A+n),i}class UM extends hM{constructor(e,t,A){super(e,t,null!=A?A:{}),CM(this,"inTable",!1),this.inlines=[]}render(e,t,A){super.render(e,t,A);const n=this.inlines[this.inlines.length-1];if(null!=n&&n.start&&null!=n&&n.end){const{delimiter:e,start:t,end:A}=this.normalizeInline(n);this.out=function(e,t,A,n){let i={text:e,from:A,to:n};return i=function(e,t,A,n){let i=A,r=e;for(;iA&&!YM(r,i).can_close;)r=mM(r,t,i,-1),i--;return{text:r,from:A,to:i}}(i.text,t,i.from,i.to),i.to-i.from({markdown:{serialize:{open(e,t){var A,n;return this.editor.storage.markdown.options.html?null!==(A=null===(n=SM(t))||void 0===n?void 0:n[0])&&void 0!==A?A:"":(console.warn(`Tiptap Markdown: "${t.type.name}" mark is only available in html mode`),"")},close(e,t){var A,n;return this.editor.storage.markdown.options.html&&null!==(A=null===(n=SM(t))||void 0===n?void 0:n[1])&&void 0!==A?A:""}},parse:{}}})});function SM(e){const t=e.type.schema,A=t.text(" ",[e]),n=V(H.from(A),t).match(/^(<.*?>) (<\/.*?>)$/);return n?[n[1],n[2]]:null}function NM(e){const t=`${e}`;return(new window.DOMParser).parseFromString(t,"text/html").body}const yM=R.create({name:"markdownHTMLNode",addStorage:()=>({markdown:{serialize(e,t,A){this.editor.storage.markdown.options.html?e.write(function(e,t){const A=e.type.schema,n=V(H.from(e),A);return e.isBlock&&(t instanceof H||t.type.name===A.topNodeType.name)?function(e){const t=NM(e).firstElementChild;return t.innerHTML=t.innerHTML.trim()?`\n${t.innerHTML}\n`:"\n",t.outerHTML}(n):n}(t,A)):(console.warn(`Tiptap Markdown: "${t.type.name}" node is only available in html mode`),e.write(`[${t.type.name}]`)),t.isBlock&&e.closeBlock(t)},parse:{}}})}),pM=R.create({name:"blockquote"}).extend({addStorage:()=>({markdown:{serialize:lM.nodes.blockquote,parse:{}}})}),TM=R.create({name:"bulletList"}).extend({addStorage:()=>({markdown:{serialize(e,t){return e.renderList(t," ",(()=>(this.editor.storage.markdown.options.bulletListMarker||"-")+" "))},parse:{}}})}),HM=R.create({name:"codeBlock"}).extend({addStorage:()=>({markdown:{serialize(e,t){e.write("```"+(t.attrs.language||"")+"\n"),e.text(t.textContent,!1),e.ensureNewLine(),e.write("```"),e.closeBlock(t)},parse:{setup(e){var t;e.set({langPrefix:null!==(t=this.options.languageClassPrefix)&&void 0!==t?t:"language-"})},updateDOM(e){e.innerHTML=e.innerHTML.replace(/\n<\/code><\/pre>/g,"")}}}})}),xM=R.create({name:"hardBreak"}).extend({addStorage:()=>({markdown:{serialize(e,t,A,n){for(let i=n+1;i({markdown:{serialize:lM.nodes.heading,parse:{}}})}),JM=R.create({name:"horizontalRule"}).extend({addStorage:()=>({markdown:{serialize:lM.nodes.horizontal_rule,parse:{}}})}),jM=R.create({name:"image"}).extend({addStorage:()=>({markdown:{serialize:lM.nodes.image,parse:{}}})}),ZM=R.create({name:"listItem"}).extend({addStorage:()=>({markdown:{serialize:lM.nodes.list_item,parse:{}}})}),vM=R.create({name:"orderedList"}).extend({addStorage:()=>({markdown:{serialize(e,t,A,n){const i=t.attrs.start||1,r=String(i+t.childCount-1).length,o=e.repeat(" ",r+2),s=function(e,t,A){let n=0;for(;A-n>0&&t.child(A-n-1).type.name===e.type.name;n++);return n}(t,A,n),c=s%2?") ":". ";e.renderList(t,o,(t=>{const A=String(i+t);return e.repeat(" ",r-A.length)+A+c}))},parse:{}}})}),PM=R.create({name:"paragraph"}).extend({addStorage:()=>({markdown:{serialize:lM.nodes.paragraph,parse:{}}})});function LM(e){var t,A;return null!==(t=null==e||null===(A=e.content)||void 0===A?void 0:A.content)&&void 0!==t?t:[]}const VM=R.create({name:"table"}).extend({addStorage:()=>({markdown:{serialize(e,t,A){!function(e){const t=LM(e),A=t[0],n=t.slice(1);return!LM(A).some((e=>"tableHeader"!==e.type.name||OM(e)||e.childCount>1))&&!n.some((e=>LM(e).some((e=>"tableHeader"===e.type.name||OM(e)||e.childCount>1))))}(t)?yM.storage.markdown.serialize.call(this,e,t,A):(e.inTable=!0,t.forEach(((t,A,n)=>{if(e.write("| "),t.forEach(((t,A,n)=>{n&&e.write(" | ");const i=t.firstChild;i.textContent.trim()&&e.renderInline(i)})),e.write(" |"),e.ensureNewLine(),!n){const A=Array.from({length:t.childCount}).map((()=>"---")).join(" | ");e.write(`| ${A} |`),e.ensureNewLine()}})),e.closeBlock(t),e.inTable=!1)},parse:{}}})});function OM(e){return e.attrs.colspan>1||e.attrs.rowspan>1}const _M=R.create({name:"taskItem"}).extend({addStorage:()=>({markdown:{serialize(e,t){e.write((t.attrs.checked?"[x]":"[ ]")+" "),e.renderContent(t)},parse:{updateDOM(e){[...e.querySelectorAll(".task-list-item")].forEach((e=>{const t=e.querySelector("input");e.setAttribute("data-type","taskItem"),t&&(e.setAttribute("data-checked",t.checked),t.remove())}))}}}})}),KM=R.create({name:"taskList"}).extend({addStorage:()=>({markdown:{serialize:TM.storage.markdown.serialize,parse:{setup(e){e.use(RM)},updateDOM(e){[...e.querySelectorAll(".contains-task-list")].forEach((e=>{e.setAttribute("data-type","taskList")}))}}}})}),WM=R.create({name:"text"}).extend({addStorage:()=>({markdown:{serialize(e,t){e.text(function(e){return null==e?void 0:e.replace(//g,">")}(t.text))},parse:{}}})}),XM=g.create({name:"bold"}).extend({addStorage:()=>({markdown:{serialize:lM.marks.strong,parse:{}}})}),qM=g.create({name:"code"}).extend({addStorage:()=>({markdown:{serialize:lM.marks.code,parse:{}}})}),$M=g.create({name:"italic"}).extend({addStorage:()=>({markdown:{serialize:lM.marks.em,parse:{}}})}),eR=g.create({name:"link"}).extend({addStorage:()=>({markdown:{serialize:lM.marks.link,parse:{}}})}),tR=g.create({name:"strike"}).extend({addStorage:()=>({markdown:{serialize:{open:"~~",close:"~~",expelEnclosingWhitespace:!0},parse:{}}})}),AR=[pM,TM,HM,xM,zM,JM,yM,jM,ZM,vM,PM,VM,_M,KM,WM,XM,qM,bM,$M,eR,tR];function nR(e){var t,A;const n=null===(t=e.storage)||void 0===t?void 0:t.markdown,i=null===(A=AR.find((t=>t.name===e.name)))||void 0===A?void 0:A.storage.markdown;return n||i?{...i,...n}:null}class iR{constructor(e){CM(this,"editor",null),this.editor=e}serialize(e){const t=new UM(this.nodes,this.marks,{hardBreakNodeName:xM.name});return t.renderContent(e),t.out}get nodes(){var e;return{...Object.fromEntries(Object.keys(this.editor.schema.nodes).map((e=>[e,this.serializeNode(yM)]))),...Object.fromEntries(null!==(e=this.editor.extensionManager.extensions.filter((e=>"node"===e.type&&this.serializeNode(e))).map((e=>[e.name,this.serializeNode(e)])))&&void 0!==e?e:[])}}get marks(){var e;return{...Object.fromEntries(Object.keys(this.editor.schema.marks).map((e=>[e,this.serializeMark(bM)]))),...Object.fromEntries(null!==(e=this.editor.extensionManager.extensions.filter((e=>"mark"===e.type&&this.serializeMark(e))).map((e=>[e.name,this.serializeMark(e)])))&&void 0!==e?e:[])}}serializeNode(e){var t;return null===(t=nR(e))||void 0===t||null===(t=t.serialize)||void 0===t?void 0:t.bind({editor:this.editor,options:e.options})}serializeMark(e){var t;const A=null===(t=nR(e))||void 0===t?void 0:t.serialize;return A?{...A,open:"function"==typeof A.open?A.open.bind({editor:this.editor,options:e.options}):A.open,close:"function"==typeof A.close?A.close.bind({editor:this.editor,options:e.options}):A.close}:null}}class rR{constructor(e,t){CM(this,"editor",null),CM(this,"md",null);let{html:A,linkify:n,breaks:i}=t;this.editor=e,this.md=this.withPatchedRenderer(rM({html:A,linkify:n,breaks:i}))}parse(e){let{inline:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"==typeof e){this.editor.extensionManager.extensions.forEach((e=>{var t;return null===(t=nR(e))||void 0===t||null===(t=t.parse)||void 0===t||null===(t=t.setup)||void 0===t?void 0:t.call({editor:this.editor,options:e.options},this.md)}));const A=NM(this.md.render(e));return this.editor.extensionManager.extensions.forEach((e=>{var t;return null===(t=nR(e))||void 0===t||null===(t=t.parse)||void 0===t||null===(t=t.updateDOM)||void 0===t?void 0:t.call({editor:this.editor,options:e.options},A)})),this.normalizeDOM(A,{inline:t,content:e}),A.innerHTML}return e}normalizeDOM(e,t){let{inline:A,content:n}=t;return this.normalizeBlocks(e),e.querySelectorAll("*").forEach((e=>{var t;(null===(t=e.nextSibling)||void 0===t?void 0:t.nodeType)!==Node.TEXT_NODE||e.closest("pre")||(e.nextSibling.textContent=e.nextSibling.textContent.replace(/^\n/,""))})),A&&this.normalizeInline(e,n),e}normalizeBlocks(e){const t=Object.values(this.editor.schema.nodes).filter((e=>e.isBlock)).map((e=>{var t;return null===(t=e.spec.parseDOM)||void 0===t?void 0:t.map((e=>e.tag))})).flat().filter(Boolean).join(",");t&&[...e.querySelectorAll(t)].forEach((e=>{e.parentElement.matches("p")&&function(e){const t=e.parentElement,A=t.cloneNode();for(;t.firstChild&&t.firstChild!==e;)A.appendChild(t.firstChild);A.childNodes.length>0&&t.parentElement.insertBefore(A,t),t.parentElement.insertBefore(e,t),0===t.childNodes.length&&t.remove()}(e)}))}normalizeInline(e,t){var A;if(null!==(A=e.firstElementChild)&&void 0!==A&&A.matches("p")){var n,i,r,o;const A=e.firstElementChild,{nextElementSibling:s}=A,c=null!==(n=null===(i=t.match(/^\s+/))||void 0===i?void 0:i[0])&&void 0!==n?n:"",E=s?"":null!==(r=null===(o=t.match(/\s+$/))||void 0===o?void 0:o[0])&&void 0!==r?r:"";if(t.match(/^\n\n/))return void(A.innerHTML=`${A.innerHTML}${E}`);!function(e){const t=e.parentNode;for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}(A),e.innerHTML=`${c}${e.innerHTML}${E}`}}withPatchedRenderer(e){const t=e=>function(){const t=e(...arguments);return"\n"===t?t:"\n"===t[t.length-1]?t.slice(0,-1):t};return e.renderer.rules.hardbreak=t(e.renderer.rules.hardbreak),e.renderer.rules.softbreak=t(e.renderer.rules.softbreak),e.renderer.rules.fence=t(e.renderer.rules.fence),e.renderer.rules.code_block=t(e.renderer.rules.code_block),e.renderer.renderToken=t(e.renderer.renderToken.bind(e.renderer)),e}}const oR=s.create({name:"markdownClipboard",addOptions:()=>({transformPastedText:!1,transformCopiedText:!1}),addProseMirrorPlugins(){return[new r({key:new o("markdownClipboard"),props:{clipboardTextParser:(e,t,A)=>{if(A||!this.options.transformPastedText)return null;const n=this.editor.storage.markdown.parser.parse(e,{inline:!0});return O.fromSchema(this.editor.schema).parseSlice(NM(n),{preserveWhitespace:!0,context:t})},clipboardTextSerializer:e=>this.options.transformCopiedText?this.editor.storage.markdown.serializer.serialize(e.content):null}})]}}),sR=s.create({name:"markdown",priority:50,addOptions:()=>({html:!0,tightLists:!0,tightListClass:"tight",bulletListMarker:"-",linkify:!1,breaks:!1,transformPastedText:!1,transformCopiedText:!1}),addCommands(){const e=_.Commands.config.addCommands();return{setContent:(t,A,n)=>i=>e.setContent(i.editor.storage.markdown.parser.parse(t),A,n)(i),insertContentAt:(t,A,n)=>i=>e.insertContentAt(t,i.editor.storage.markdown.parser.parse(A,{inline:!0}),n)(i)}},onBeforeCreate(){this.editor.storage.markdown={options:{...this.options},parser:new rR(this.editor,this.options),serializer:new iR(this.editor),getMarkdown:()=>this.editor.storage.markdown.serializer.serialize(this.editor.state.doc)},this.editor.options.initialContent=this.editor.options.content,this.editor.options.content=this.editor.storage.markdown.parser.parse(this.editor.options.content)},onCreate(){this.editor.options.content=this.editor.options.initialContent,delete this.editor.options.initialContent},addStorage:()=>({}),addExtensions(){return[DM.configure({tight:this.options.tightLists,tightClass:this.options.tightListClass}),oR.configure({transformPastedText:this.options.transformPastedText,transformCopiedText:this.options.transformCopiedText})]}});function cR({types:e,node:t}){return Array.isArray(e)&&e.includes(t.type)||t.type===e}const ER=s.create({name:"trailingNode",addOptions:()=>({node:"paragraph",notAfter:["paragraph"]}),addProseMirrorPlugins(){const e=new o(this.name),t=Object.entries(this.editor.schema.nodes).map((([,e])=>e)).filter((e=>this.options.notAfter.includes(e.name)));return[new r({key:e,appendTransaction:(t,A,n)=>{const{doc:i,tr:r,schema:o}=n;if(e.getState(n))return r.insert(i.content.size,o.nodes[this.options.node].create())},state:{init:(e,A)=>!cR({node:A.tr.doc.lastChild,types:t}),apply:(e,A)=>e.docChanged?!cR({node:e.doc.lastChild,types:t}):A}})]}});function BR(e,t){return function(){return e.apply(t,arguments)}}const{toString:aR}=Object.prototype,{getPrototypeOf:gR}=Object,lR=(QR=Object.create(null),e=>{const t=aR.call(e);return QR[t]||(QR[t]=t.slice(8,-1).toLowerCase())});var QR;const hR=e=>(e=e.toLowerCase(),t=>lR(t)===e),uR=e=>t=>typeof t===e,{isArray:wR}=Array,MR=uR("undefined"),RR=hR("ArrayBuffer"),dR=uR("string"),IR=uR("function"),kR=uR("number"),GR=e=>null!==e&&"object"==typeof e,fR=e=>{if("object"!==lR(e))return!1;const t=gR(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},CR=hR("Date"),DR=hR("File"),FR=hR("Blob"),YR=hR("FileList"),mR=hR("URLSearchParams");function UR(e,t,{allOwnKeys:A=!1}={}){if(null==e)return;let n,i;if("object"!=typeof e&&(e=[e]),wR(e))for(n=0,i=e.length;n0;)if(n=A[i],t===n.toLowerCase())return n;return null}const SR="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,NR=e=>!MR(e)&&e!==SR,yR=(pR="undefined"!=typeof Uint8Array&&gR(Uint8Array),e=>pR&&e instanceof pR);var pR;const TR=hR("HTMLFormElement"),HR=(({hasOwnProperty:e})=>(t,A)=>e.call(t,A))(Object.prototype),xR=hR("RegExp"),zR=(e,t)=>{const A=Object.getOwnPropertyDescriptors(e),n={};UR(A,((A,i)=>{let r;!1!==(r=t(A,i,e))&&(n[i]=r||A)})),Object.defineProperties(e,n)},JR="abcdefghijklmnopqrstuvwxyz",jR="0123456789",ZR={DIGIT:jR,ALPHA:JR,ALPHA_DIGIT:JR+JR.toUpperCase()+jR},vR=hR("AsyncFunction"),PR={isArray:wR,isArrayBuffer:RR,isBuffer:function(e){return null!==e&&!MR(e)&&null!==e.constructor&&!MR(e.constructor)&&IR(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||IR(e.append)&&("formdata"===(t=lR(e))||"object"===t&&IR(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&RR(e.buffer),t},isString:dR,isNumber:kR,isBoolean:e=>!0===e||!1===e,isObject:GR,isPlainObject:fR,isUndefined:MR,isDate:CR,isFile:DR,isBlob:FR,isRegExp:xR,isFunction:IR,isStream:e=>GR(e)&&IR(e.pipe),isURLSearchParams:mR,isTypedArray:yR,isFileList:YR,forEach:UR,merge:function e(){const{caseless:t}=NR(this)&&this||{},A={},n=(n,i)=>{const r=t&&bR(A,i)||i;A[r]=fR(A[r])&&fR(n)?e(A[r],n):fR(n)?e({},n):wR(n)?n.slice():n};for(let e=0,t=arguments.length;e(UR(t,((t,n)=>{e[n]=A&&IR(t)?BR(t,A):t}),{allOwnKeys:n}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,A,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),A&&Object.assign(e.prototype,A)},toFlatObject:(e,t,A,n)=>{let i,r,o;const s={};if(t=t||{},null==e)return t;do{for(i=Object.getOwnPropertyNames(e),r=i.length;r-- >0;)o=i[r],n&&!n(o,e,t)||s[o]||(t[o]=e[o],s[o]=!0);e=!1!==A&&gR(e)}while(e&&(!A||A(e,t))&&e!==Object.prototype);return t},kindOf:lR,kindOfTest:hR,endsWith:(e,t,A)=>{e=String(e),(void 0===A||A>e.length)&&(A=e.length);const n=e.indexOf(t,A-=t.length);return-1!==n&&n===A},toArray:e=>{if(!e)return null;if(wR(e))return e;let t=e.length;if(!kR(t))return null;const A=new Array(t);for(;t-- >0;)A[t]=e[t];return A},forEachEntry:(e,t)=>{const A=(e&&e[Symbol.iterator]).call(e);let n;for(;(n=A.next())&&!n.done;){const A=n.value;t.call(e,A[0],A[1])}},matchAll:(e,t)=>{let A;const n=[];for(;null!==(A=e.exec(t));)n.push(A);return n},isHTMLForm:TR,hasOwnProperty:HR,hasOwnProp:HR,reduceDescriptors:zR,freezeMethods:e=>{zR(e,((t,A)=>{if(IR(e)&&-1!==["arguments","caller","callee"].indexOf(A))return!1;IR(e[A])&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+A+"'")}))}))},toObjectSet:(e,t)=>{const A={},n=e=>{e.forEach((e=>{A[e]=!0}))};return wR(e)?n(e):n(String(e).split(t)),A},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,A){return t.toUpperCase()+A})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:bR,global:SR,isContextDefined:NR,ALPHABET:ZR,generateString:(e=16,t=ZR.ALPHA_DIGIT)=>{let A="";const{length:n}=t;for(;e--;)A+=t[Math.random()*n|0];return A},isSpecCompliantForm:function(e){return!!(e&&IR(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),A=(e,n)=>{if(GR(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[n]=e;const i=wR(e)?[]:{};return UR(e,((e,t)=>{const r=A(e,n+1);!MR(r)&&(i[t]=r)})),t[n]=void 0,i}}return e};return A(e,0)},isAsyncFn:vR,isThenable:e=>e&&(GR(e)||IR(e))&&IR(e.then)&&IR(e.catch)};function LR(e,t,A,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),A&&(this.config=A),n&&(this.request=n),i&&(this.response=i)}PR.inherits(LR,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:PR.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const VR=LR.prototype,OR={};function _R(e){return PR.isPlainObject(e)||PR.isArray(e)}function KR(e){return PR.endsWith(e,"[]")?e.slice(0,-2):e}function WR(e,t,A){return e?e.concat(t).map((function(e,t){return e=KR(e),!A&&t?"["+e+"]":e})).join(A?".":""):t}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{OR[e]={value:e}})),Object.defineProperties(LR,OR),Object.defineProperty(VR,"isAxiosError",{value:!0}),LR.from=(e,t,A,n,i,r)=>{const o=Object.create(VR);return PR.toFlatObject(e,o,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),LR.call(o,e.message,t,A,n,i),o.cause=e,o.name=e.name,r&&Object.assign(o,r),o};const XR=PR.toFlatObject(PR,{},null,(function(e){return/^is[A-Z]/.test(e)}));function qR(e,t,A){if(!PR.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,A=PR.toFlatObject(A,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!PR.isUndefined(t[e])}));const n=A.metaTokens,i=A.visitor||E,r=A.dots,o=A.indexes,s=(A.Blob||"undefined"!=typeof Blob&&Blob)&&PR.isSpecCompliantForm(t);if(!PR.isFunction(i))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(PR.isDate(e))return e.toISOString();if(!s&&PR.isBlob(e))throw new LR("Blob is not supported. Use a Buffer instead.");return PR.isArrayBuffer(e)||PR.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function E(e,A,i){let s=e;if(e&&!i&&"object"==typeof e)if(PR.endsWith(A,"{}"))A=n?A:A.slice(0,-2),e=JSON.stringify(e);else if(PR.isArray(e)&&function(e){return PR.isArray(e)&&!e.some(_R)}(e)||(PR.isFileList(e)||PR.endsWith(A,"[]"))&&(s=PR.toArray(e)))return A=KR(A),s.forEach((function(e,n){!PR.isUndefined(e)&&null!==e&&t.append(!0===o?WR([A],n,r):null===o?A:A+"[]",c(e))})),!1;return!!_R(e)||(t.append(WR(i,A,r),c(e)),!1)}const B=[],a=Object.assign(XR,{defaultVisitor:E,convertValue:c,isVisitable:_R});if(!PR.isObject(e))throw new TypeError("data must be an object");return function e(A,n){if(!PR.isUndefined(A)){if(-1!==B.indexOf(A))throw Error("Circular reference detected in "+n.join("."));B.push(A),PR.forEach(A,(function(A,r){!0===(!(PR.isUndefined(A)||null===A)&&i.call(t,A,PR.isString(r)?r.trim():r,n,a))&&e(A,n?n.concat(r):[r])})),B.pop()}}(e),t}function $R(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function ed(e,t){this._pairs=[],e&&qR(e,this,t)}const td=ed.prototype;function Ad(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function nd(e,t,A){if(!t)return e;const n=A&&A.encode||Ad,i=A&&A.serialize;let r;if(r=i?i(t,A):PR.isURLSearchParams(t)?t.toString():new ed(t,A).toString(n),r){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e}td.append=function(e,t){this._pairs.push([e,t])},td.toString=function(e){const t=e?function(t){return e.call(this,t,$R)}:$R;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const id=class{constructor(){this.handlers=[]}use(e,t,A){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!A&&A.synchronous,runWhen:A?A.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){PR.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},rd={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},od={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:ed,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},sd="undefined"!=typeof window&&"undefined"!=typeof document,cd=(Ed="undefined"!=typeof navigator&&navigator.product,sd&&["ReactNative","NativeScript","NS"].indexOf(Ed)<0);var Ed;const Bd="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,ad={...Object.freeze({__proto__:null,hasBrowserEnv:sd,hasStandardBrowserWebWorkerEnv:Bd,hasStandardBrowserEnv:cd}),...od};function gd(e){function t(e,A,n,i){let r=e[i++];if("__proto__"===r)return!0;const o=Number.isFinite(+r),s=i>=e.length;return r=!r&&PR.isArray(n)?n.length:r,s?(n[r]=PR.hasOwnProp(n,r)?[n[r],A]:A,!o):(n[r]&&PR.isObject(n[r])||(n[r]=[]),t(e,A,n[r],i)&&PR.isArray(n[r])&&(n[r]=function(e){const t={},A=Object.keys(e);let n;const i=A.length;let r;for(n=0;n{t(function(e){return PR.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),n,A,0)})),A}return null}const ld={transitional:rd,adapter:["xhr","http"],transformRequest:[function(e,t){const A=t.getContentType()||"",n=A.indexOf("application/json")>-1,i=PR.isObject(e);if(i&&PR.isHTMLForm(e)&&(e=new FormData(e)),PR.isFormData(e))return n?JSON.stringify(gd(e)):e;if(PR.isArrayBuffer(e)||PR.isBuffer(e)||PR.isStream(e)||PR.isFile(e)||PR.isBlob(e))return e;if(PR.isArrayBufferView(e))return e.buffer;if(PR.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let r;if(i){if(A.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return qR(e,new ad.classes.URLSearchParams,Object.assign({visitor:function(e,t,A,n){return ad.isNode&&PR.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((r=PR.isFileList(e))||A.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return qR(r?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||n?(t.setContentType("application/json",!1),function(e){if(PR.isString(e))try{return(0,JSON.parse)(e),PR.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||ld.transitional,A=t&&t.forcedJSONParsing,n="json"===this.responseType;if(e&&PR.isString(e)&&(A&&!this.responseType||n)){const A=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(e){if(A){if("SyntaxError"===e.name)throw LR.from(e,LR.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ad.classes.FormData,Blob:ad.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};PR.forEach(["delete","get","head","post","put","patch"],(e=>{ld.headers[e]={}}));const Qd=ld,hd=PR.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ud=Symbol("internals");function wd(e){return e&&String(e).trim().toLowerCase()}function Md(e){return!1===e||null==e?e:PR.isArray(e)?e.map(Md):String(e)}function Rd(e,t,A,n,i){return PR.isFunction(n)?n.call(this,t,A):(i&&(t=A),PR.isString(t)?PR.isString(n)?-1!==t.indexOf(n):PR.isRegExp(n)?n.test(t):void 0:void 0)}class dd{constructor(e){e&&this.set(e)}set(e,t,A){const n=this;function i(e,t,A){const i=wd(t);if(!i)throw new Error("header name must be a non-empty string");const r=PR.findKey(n,i);(!r||void 0===n[r]||!0===A||void 0===A&&!1!==n[r])&&(n[r||t]=Md(e))}const r=(e,t)=>PR.forEach(e,((e,A)=>i(e,A,t)));return PR.isPlainObject(e)||e instanceof this.constructor?r(e,t):PR.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?r((e=>{const t={};let A,n,i;return e&&e.split("\n").forEach((function(e){i=e.indexOf(":"),A=e.substring(0,i).trim().toLowerCase(),n=e.substring(i+1).trim(),!A||t[A]&&hd[A]||("set-cookie"===A?t[A]?t[A].push(n):t[A]=[n]:t[A]=t[A]?t[A]+", "+n:n)})),t})(e),t):null!=e&&i(t,e,A),this}get(e,t){if(e=wd(e)){const A=PR.findKey(this,e);if(A){const e=this[A];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),A=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=A.exec(e);)t[n[1]]=n[2];return t}(e);if(PR.isFunction(t))return t.call(this,e,A);if(PR.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=wd(e)){const A=PR.findKey(this,e);return!(!A||void 0===this[A]||t&&!Rd(0,this[A],A,t))}return!1}delete(e,t){const A=this;let n=!1;function i(e){if(e=wd(e)){const i=PR.findKey(A,e);!i||t&&!Rd(0,A[i],i,t)||(delete A[i],n=!0)}}return PR.isArray(e)?e.forEach(i):i(e),n}clear(e){const t=Object.keys(this);let A=t.length,n=!1;for(;A--;){const i=t[A];e&&!Rd(0,this[i],i,e,!0)||(delete this[i],n=!0)}return n}normalize(e){const t=this,A={};return PR.forEach(this,((n,i)=>{const r=PR.findKey(A,i);if(r)return t[r]=Md(n),void delete t[i];const o=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,A)=>t.toUpperCase()+A))}(i):String(i).trim();o!==i&&delete t[i],t[o]=Md(n),A[o]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return PR.forEach(this,((A,n)=>{null!=A&&!1!==A&&(t[n]=e&&PR.isArray(A)?A.join(", "):A)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const A=new this(e);return t.forEach((e=>A.set(e))),A}static accessor(e){const t=(this[ud]=this[ud]={accessors:{}}).accessors,A=this.prototype;function n(e){const n=wd(e);t[n]||(function(e,t){const A=PR.toCamelCase(" "+t);["get","set","has"].forEach((n=>{Object.defineProperty(e,n+A,{value:function(e,A,i){return this[n].call(this,t,e,A,i)},configurable:!0})}))}(A,e),t[n]=!0)}return PR.isArray(e)?e.forEach(n):n(e),this}}dd.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),PR.reduceDescriptors(dd.prototype,(({value:e},t)=>{let A=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[A]=e}}})),PR.freezeMethods(dd);const Id=dd;function kd(e,t){const A=this||Qd,n=t||A,i=Id.from(n.headers);let r=n.data;return PR.forEach(e,(function(e){r=e.call(A,r,i.normalize(),t?t.status:void 0)})),i.normalize(),r}function Gd(e){return!(!e||!e.__CANCEL__)}function fd(e,t,A){LR.call(this,null==e?"canceled":e,LR.ERR_CANCELED,t,A),this.name="CanceledError"}PR.inherits(fd,LR,{__CANCEL__:!0});const Cd=ad.hasStandardBrowserEnv?{write(e,t,A,n,i,r){const o=[e+"="+encodeURIComponent(t)];PR.isNumber(A)&&o.push("expires="+new Date(A).toGMTString()),PR.isString(n)&&o.push("path="+n),PR.isString(i)&&o.push("domain="+i),!0===r&&o.push("secure"),document.cookie=o.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Dd(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Fd=ad.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let A;function n(A){let n=A;return e&&(t.setAttribute("href",n),n=t.href),t.setAttribute("href",n),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return A=n(window.location.href),function(e){const t=PR.isString(e)?n(e):e;return t.protocol===A.protocol&&t.host===A.host}}():function(){return!0};function Yd(e,t){let A=0;const n=function(e,t){e=e||10;const A=new Array(e),n=new Array(e);let i,r=0,o=0;return t=void 0!==t?t:1e3,function(s){const c=Date.now(),E=n[o];i||(i=c),A[r]=s,n[r]=c;let B=o,a=0;for(;B!==r;)a+=A[B++],B%=e;if(r=(r+1)%e,r===o&&(o=(o+1)%e),c-i{const r=i.loaded,o=i.lengthComputable?i.total:void 0,s=r-A,c=n(s);A=r;const E={loaded:r,total:o,progress:o?r/o:void 0,bytes:s,rate:c||void 0,estimated:c&&o&&r<=o?(o-r)/c:void 0,event:i};E[t?"download":"upload"]=!0,e(E)}}const md="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,A){let n=e.data;const i=Id.from(e.headers).normalize();let r,o,{responseType:s,withXSRFToken:c}=e;function E(){e.cancelToken&&e.cancelToken.unsubscribe(r),e.signal&&e.signal.removeEventListener("abort",r)}if(PR.isFormData(n))if(ad.hasStandardBrowserEnv||ad.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if(!1!==(o=i.getContentType())){const[e,...t]=o?o.split(";").map((e=>e.trim())).filter(Boolean):[];i.setContentType([e||"multipart/form-data",...t].join("; "))}let B=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",A=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(t+":"+A))}const a=Dd(e.baseURL,e.url);function g(){if(!B)return;const n=Id.from("getAllResponseHeaders"in B&&B.getAllResponseHeaders());!function(e,t,A){const n=A.config.validateStatus;A.status&&n&&!n(A.status)?t(new LR("Request failed with status code "+A.status,[LR.ERR_BAD_REQUEST,LR.ERR_BAD_RESPONSE][Math.floor(A.status/100)-4],A.config,A.request,A)):e(A)}((function(e){t(e),E()}),(function(e){A(e),E()}),{data:s&&"text"!==s&&"json"!==s?B.response:B.responseText,status:B.status,statusText:B.statusText,headers:n,config:e,request:B}),B=null}if(B.open(e.method.toUpperCase(),nd(a,e.params,e.paramsSerializer),!0),B.timeout=e.timeout,"onloadend"in B?B.onloadend=g:B.onreadystatechange=function(){B&&4===B.readyState&&(0!==B.status||B.responseURL&&0===B.responseURL.indexOf("file:"))&&setTimeout(g)},B.onabort=function(){B&&(A(new LR("Request aborted",LR.ECONNABORTED,e,B)),B=null)},B.onerror=function(){A(new LR("Network Error",LR.ERR_NETWORK,e,B)),B=null},B.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),A(new LR(t,(e.transitional||rd).clarifyTimeoutError?LR.ETIMEDOUT:LR.ECONNABORTED,e,B)),B=null},ad.hasStandardBrowserEnv&&(c&&PR.isFunction(c)&&(c=c(e)),c||!1!==c&&Fd(a))){const t=e.xsrfHeaderName&&e.xsrfCookieName&&Cd.read(e.xsrfCookieName);t&&i.set(e.xsrfHeaderName,t)}void 0===n&&i.setContentType(null),"setRequestHeader"in B&&PR.forEach(i.toJSON(),(function(e,t){B.setRequestHeader(t,e)})),PR.isUndefined(e.withCredentials)||(B.withCredentials=!!e.withCredentials),s&&"json"!==s&&(B.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&B.addEventListener("progress",Yd(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&B.upload&&B.upload.addEventListener("progress",Yd(e.onUploadProgress)),(e.cancelToken||e.signal)&&(r=t=>{B&&(A(!t||t.type?new fd(null,e,B):t),B.abort(),B=null)},e.cancelToken&&e.cancelToken.subscribe(r),e.signal&&(e.signal.aborted?r():e.signal.addEventListener("abort",r)));const l=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(a);l&&-1===ad.protocols.indexOf(l)?A(new LR("Unsupported protocol "+l+":",LR.ERR_BAD_REQUEST,e)):B.send(n||null)}))},Ud={http:null,xhr:md};PR.forEach(Ud,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const bd=e=>`- ${e}`,Sd=e=>PR.isFunction(e)||null===e||!1===e,Nd=e=>{e=PR.isArray(e)?e:[e];const{length:t}=e;let A,n;const i={};for(let r=0;r`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));throw new LR("There is no suitable adapter to dispatch the request "+(t?e.length>1?"since :\n"+e.map(bd).join("\n"):" "+bd(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function yd(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fd(null,e)}function pd(e){return yd(e),e.headers=Id.from(e.headers),e.data=kd.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Nd(e.adapter||Qd.adapter)(e).then((function(t){return yd(e),t.data=kd.call(e,e.transformResponse,t),t.headers=Id.from(t.headers),t}),(function(t){return Gd(t)||(yd(e),t&&t.response&&(t.response.data=kd.call(e,e.transformResponse,t.response),t.response.headers=Id.from(t.response.headers))),Promise.reject(t)}))}const Td=e=>e instanceof Id?{...e}:e;function Hd(e,t){t=t||{};const A={};function n(e,t,A){return PR.isPlainObject(e)&&PR.isPlainObject(t)?PR.merge.call({caseless:A},e,t):PR.isPlainObject(t)?PR.merge({},t):PR.isArray(t)?t.slice():t}function i(e,t,A){return PR.isUndefined(t)?PR.isUndefined(e)?void 0:n(void 0,e,A):n(e,t,A)}function r(e,t){if(!PR.isUndefined(t))return n(void 0,t)}function o(e,t){return PR.isUndefined(t)?PR.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function s(A,i,r){return r in t?n(A,i):r in e?n(void 0,A):void 0}const c={url:r,method:r,data:r,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:s,headers:(e,t)=>i(Td(e),Td(t),!0)};return PR.forEach(Object.keys(Object.assign({},e,t)),(function(n){const r=c[n]||i,o=r(e[n],t[n],n);PR.isUndefined(o)&&r!==s||(A[n]=o)})),A}const xd={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{xd[e]=function(A){return typeof A===e||"a"+(t<1?"n ":" ")+e}}));const zd={};xd.transitional=function(e,t,A){function n(e,t){return"[Axios v1.6.8] Transitional option '"+e+"'"+t+(A?". "+A:"")}return(A,i,r)=>{if(!1===e)throw new LR(n(i," has been removed"+(t?" in "+t:"")),LR.ERR_DEPRECATED);return t&&!zd[i]&&(zd[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(A,i,r)}};const Jd={assertOptions:function(e,t,A){if("object"!=typeof e)throw new LR("options must be an object",LR.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let i=n.length;for(;i-- >0;){const r=n[i],o=t[r];if(o){const t=e[r],A=void 0===t||o(t,r,e);if(!0!==A)throw new LR("option "+r+" must be "+A,LR.ERR_BAD_OPTION_VALUE)}else if(!0!==A)throw new LR("Unknown option "+r,LR.ERR_BAD_OPTION)}},validators:xd},jd=Jd.validators;class Zd{constructor(e){this.defaults=e,this.interceptors={request:new id,response:new id}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const A=t.stack?t.stack.replace(/^.+\n/,""):"";e.stack?A&&!String(e.stack).endsWith(A.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+A):e.stack=A}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Hd(this.defaults,t);const{transitional:A,paramsSerializer:n,headers:i}=t;void 0!==A&&Jd.assertOptions(A,{silentJSONParsing:jd.transitional(jd.boolean),forcedJSONParsing:jd.transitional(jd.boolean),clarifyTimeoutError:jd.transitional(jd.boolean)},!1),null!=n&&(PR.isFunction(n)?t.paramsSerializer={serialize:n}:Jd.assertOptions(n,{encode:jd.function,serialize:jd.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let r=i&&PR.merge(i.common,i[t.method]);i&&PR.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete i[e]})),t.headers=Id.concat(r,i);const o=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,o.unshift(e.fulfilled,e.rejected))}));const c=[];let E;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let B,a=0;if(!s){const e=[pd.bind(this),void 0];for(e.unshift.apply(e,o),e.push.apply(e,c),B=e.length,E=Promise.resolve(t);a{if(!A._listeners)return;let t=A._listeners.length;for(;t-- >0;)A._listeners[t](e);A._listeners=null})),this.promise.then=e=>{let t;const n=new Promise((e=>{A.subscribe(e),t=e})).then(e);return n.cancel=function(){A.unsubscribe(t)},n},e((function(e,n,i){A.reason||(A.reason=new fd(e,n,i),t(A.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Pd((function(t){e=t})),cancel:e}}}const Ld=Pd,Vd={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Vd).forEach((([e,t])=>{Vd[t]=e}));const Od=Vd,_d=function e(t){const A=new vd(t),n=BR(vd.prototype.request,A);return PR.extend(n,vd.prototype,A,{allOwnKeys:!0}),PR.extend(n,A,null,{allOwnKeys:!0}),n.create=function(A){return e(Hd(t,A))},n}(Qd);_d.Axios=vd,_d.CanceledError=fd,_d.CancelToken=Ld,_d.isCancel=Gd,_d.VERSION="1.6.8",_d.toFormData=qR,_d.AxiosError=LR,_d.Cancel=_d.CanceledError,_d.all=function(e){return Promise.all(e)},_d.spread=function(e){return function(t){return e.apply(null,t)}},_d.isAxiosError=function(e){return PR.isObject(e)&&!0===e.isAxiosError},_d.mergeConfig=Hd,_d.AxiosHeaders=Id,_d.formToJSON=e=>gd(PR.isHTMLForm(e)?new FormData(e):e),_d.getAdapter=Nd,_d.HttpStatusCode=Od,_d.default=_d;const Kd=_d,Wd=["image/jpeg","image/gif","image/png","image/jpg"];async function Xd(e,t){const A=e instanceof DataTransferItem?e.getAsFile():e;return(null==t?void 0:t.options.uploadFunc)?t.options.uploadFunc(A):(null==t?void 0:t.options.uploadUrl)?async function(e,t){return(await Kd.postForm(t,{imgFile:e})).data.url||""}(A,t.options.uploadUrl):new Promise((e=>{const t=new FileReader;t.onloadend=()=>e(t.result),t.readAsDataURL(A)}))}const qd=s.create({name:"imageUploader",addCommands(){return{uploadImage:e=>()=>(Xd(e,this).then((e=>{Boolean(e)&&this.editor.chain().focus().setImage({src:e}).run()})),!0)}},addOptions:()=>({uploadUrl:"",uploadFunc:null}),addProseMirrorPlugins(){return[new r({key:new o("imageUploader"),props:{handlePaste:(e,t)=>{var A;const n=Array.from((null===(A=t.clipboardData)||void 0===A?void 0:A.items)||[]);if(n.some((e=>"text/html"===e.type)))return!1;const i=n.find((e=>Wd.includes(e.type)));return!!Boolean(i)&&(Xd(i,this).then((e=>{Boolean(e)&&this.editor.chain().focus().setImage({src:e}).run()})),!0)},handleDrop:(e,t)=>{var A;return!!Boolean(null===(A=t.dataTransfer)||void 0===A?void 0:A.files.length)&&(Xd(t.dataTransfer.files.item(0),this).then((e=>{Boolean(e)&&this.editor.chain().focus().setImage({src:e}).run()})),!0)}}})]}}),$d=s.create({name:"defaultTextStyle",addProseMirrorPlugins:()=>[new r({appendTransaction(e,t,A){if(1!==e.length||1!==e[0].steps.length)return;const n=e[0].doc.type.schema,i=n.marks.textStyle.create({}),r=n.marks.textStyle.create({});let o=A.tr;return e.forEach((e=>{e.steps.forEach((e=>{e.getMap().forEach(((e,t,n,s)=>{A.doc.nodesBetween(n,s,((e,t)=>{"heading"===e.type.name&&e.forEach(((e,A)=>{e.isText&&!Boolean(e.marks.find((e=>"textStyle"===e.type.name)))&&(o=o.addMark(t+A,t+A+e.nodeSize+1,i))})),"paragraph"===e.type.name&&e.forEach(((e,A)=>{e.isText&&!Boolean(e.marks.find((e=>"textStyle"===e.type.name)))&&(o=o.addMark(t+A,t+A+e.nodeSize+1,r))}))}))}))}))})),o}})]});var eI,tI;if("undefined"!=typeof WeakMap){let e=new WeakMap;eI=t=>e.get(t),tI=(t,A)=>(e.set(t,A),A)}else{const e=[],t=10;let A=0;eI=t=>{for(let A=0;A(A==t&&(A=0),e[A++]=n,e[A++]=i)}var AI=class{constructor(e,t,A,n){this.width=e,this.height=t,this.map=A,this.problems=n}findCell(e){for(let t=0;tn&&(r+=i.attrs.colspan)}}for(let e=0;e1&&(A=!0)}-1==t?t=r:t!=r&&(t=Math.max(t,r))}return t}(e),A=e.childCount,n=[];let i=0,r=null;const o=[];for(let e=0,i=t*A;e=A){(r||(r=[])).push({type:"overlong_rowspan",pos:c,n:g-e});break}const E=i+e*t;for(let e=0;e0;t--)if("row"==e.node(t).type.spec.tableRole)return e.node(0).resolve(e.before(t+1));return null}function sI(e){const t=e.selection.$head;for(let e=t.depth;e>0;e--)if("row"==t.node(e).type.spec.tableRole)return!0;return!1}function cI(e){const t=e.selection;if("$anchorCell"in t&&t.$anchorCell)return t.$anchorCell.pos>t.$headCell.pos?t.$anchorCell:t.$headCell;if("node"in t&&t.node&&"cell"==t.node.type.spec.tableRole)return t.$anchor;const A=oI(t.$head)||function(e){for(let t=e.nodeAfter,A=e.pos;t;t=t.firstChild,A++){const n=t.type.spec.tableRole;if("cell"==n||"header_cell"==n)return e.doc.resolve(A)}for(let t=e.nodeBefore,A=e.pos;t;t=t.lastChild,A--){const n=t.type.spec.tableRole;if("cell"==n||"header_cell"==n)return e.doc.resolve(A-t.nodeSize)}}(t.$head);if(A)return A;throw new RangeError(`No cell found around position ${t.head}`)}function EI(e){return"row"==e.parent.type.spec.tableRole&&!!e.nodeAfter}function BI(e,t){return e.depth==t.depth&&e.pos>=t.start(-1)&&e.pos<=t.end(-1)}function aI(e,t,A){const n=e.node(-1),i=AI.get(n),r=e.start(-1),o=i.nextCell(e.pos-r,t,A);return null==o?null:e.node(0).resolve(r+o)}function gI(e,t,A=1){const n={...e,colspan:e.colspan-A};return n.colwidth&&(n.colwidth=n.colwidth.slice(),n.colwidth.splice(t,A),n.colwidth.some((e=>e>0))||(n.colwidth=null)),n}function lI(e,t,A=1){const n={...e,colspan:e.colspan+A};if(n.colwidth){n.colwidth=n.colwidth.slice();for(let e=0;ee!=t.pos-i));s.unshift(t.pos-i);const c=s.map((e=>{const t=A.nodeAt(e);if(!t)throw RangeError(`No cell with offset ${e} found`);const n=i+e+1;return new K(o.resolve(n),o.resolve(n+t.content.size))}));super(c[0].$from,c[0].$to,c),this.$anchorCell=e,this.$headCell=t}map(t,A){const n=t.resolve(A.map(this.$anchorCell.pos)),i=t.resolve(A.map(this.$headCell.pos));if(EI(n)&&EI(i)&&BI(n,i)){const t=this.$anchorCell.node(-1)!=n.node(-1);return t&&this.isRowSelection()?e.rowSelection(n,i):t&&this.isColSelection()?e.colSelection(n,i):new e(n,i)}return G.between(n,i)}content(){const e=this.$anchorCell.node(-1),t=AI.get(e),A=this.$anchorCell.start(-1),n=t.rectBetween(this.$anchorCell.pos-A,this.$headCell.pos-A),i={},r=[];for(let A=n.top;A0||B>0){let e=c.attrs;if(E>0&&(e=gI(e,0,E)),B>0&&(e=gI(e,e.colspan-B,B)),s.leftn.bottom){const e={...c.attrs,rowspan:Math.min(s.bottom,n.bottom)-Math.max(s.top,n.top)};c=s.top0)&&Math.max(e+this.$anchorCell.nodeAfter.attrs.rowspan,t+this.$headCell.nodeAfter.attrs.rowspan)==this.$headCell.node(-1).childCount}static colSelection(t,A=t){const n=t.node(-1),i=AI.get(n),r=t.start(-1),o=i.findCell(t.pos-r),s=i.findCell(A.pos-r),c=t.node(0);return o.top<=s.top?(o.top>0&&(t=c.resolve(r+i.map[o.left])),s.bottom0&&(A=c.resolve(r+i.map[s.left])),o.bottom0)&&Math.max(n+this.$anchorCell.nodeAfter.attrs.colspan,i+this.$headCell.nodeAfter.attrs.colspan)==t.width}eq(t){return t instanceof e&&t.$anchorCell.pos==this.$anchorCell.pos&&t.$headCell.pos==this.$headCell.pos}static rowSelection(t,A=t){const n=t.node(-1),i=AI.get(n),r=t.start(-1),o=i.findCell(t.pos-r),s=i.findCell(A.pos-r),c=t.node(0);return o.left<=s.left?(o.left>0&&(t=c.resolve(r+i.map[o.top*i.width])),s.right0&&(A=c.resolve(r+i.map[s.top*i.width])),o.right{t.push(D.node(A,A+e.nodeSize,{class:"selectedCell"}))})),f.create(e.doc,t)}var wI=new o("fix-tables");function MI(e,t,A,n){const i=e.childCount,r=t.childCount;e:for(let o=0,s=0;o{"table"==t.type.spec.tableRole&&(A=function(e,t,A,n){const i=AI.get(t);if(!i.problems)return n;n||(n=e.tr);const r=[];for(let e=0;e0){let t="cell";A.firstChild&&(t=A.firstChild.type.spec.tableRole);const r=[];for(let A=0;At.width)for(let r=0,B=0;rt.height){const B=[];for(let e=0,n=(t.height-1)*t.width;e=t.width)&&A.nodeAt(t.map[n+e]).type==s.header_cell;B.push(i?E||(E=s.header_cell.createAndFill()):c||(c=s.cell.createAndFill()))}const a=s.row.create(null,H.from(B)),g=[];for(let e=t.height;e{if(!i)return!1;const r=A.selection;if(r instanceof QI)return CI(A,n,N.near(r.$headCell,t));if("horiz"!=e&&!r.empty)return!1;const o=SI(i,e,t);if(null==o)return!1;if("horiz"==e)return CI(A,n,N.near(A.doc.resolve(r.head+t),t));{const i=A.doc.resolve(o),r=aI(i,e,t);let s;return s=r?N.near(r,1):t<0?N.near(A.doc.resolve(i.before(-1)),-1):N.near(A.doc.resolve(i.after(-1)),1),CI(A,n,s)}}}function FI(e,t){return(A,n,i)=>{if(!i)return!1;const r=A.selection;let o;if(r instanceof QI)o=r;else{const n=SI(i,e,t);if(null==n)return!1;o=new QI(A.doc.resolve(n))}const s=aI(o.$headCell,e,t);return!!s&&CI(A,n,new QI(o.$anchorCell,s))}}function YI(e,t){const A=e.selection;if(!(A instanceof QI))return!1;if(t){const n=e.tr,i=iI(e.schema).cell.createAndFill().content;A.forEachCell(((e,t)=>{e.content.eq(i)||n.replace(n.mapping.map(t+1),n.mapping.map(t+e.nodeSize-1),new y(i,0,0))})),n.docChanged&&t(n)}return!0}function mI(e,t){const A=oI(e.state.doc.resolve(t));return!!A&&(e.dispatch(e.state.tr.setSelection(new QI(A))),!0)}function UI(e,t,A){if(!sI(e.state))return!1;let n=function(e){if(!e.size)return null;let{content:t,openStart:A,openEnd:n}=e;for(;1==t.childCount&&(A>0&&n>0||"table"==t.child(0).type.spec.tableRole);)A--,n--,t=t.child(0).content;const i=t.child(0),r=i.type.spec.tableRole,o=i.type.schema,s=[];if("row"==r)for(let e=0;e=0;t--){const{rowspan:i,colspan:r}=n.child(t).attrs;for(let t=e;t=t.length&&t.push(H.empty),A[i]n&&(s=s.type.createChecked(gI(s.attrs,s.attrs.colspan,A+s.attrs.colspan-n),s.content)),o.push(s),A+=s.attrs.colspan;for(let A=1;Ai&&(t=t.type.create({...t.attrs,rowspan:Math.max(1,i-t.attrs.rowspan)},t.content)),o.push(t)}e.push(H.from(o))}A=e,t=i}return{width:e,height:t,rows:A}}(n,o.right-o.left,o.bottom-o.top),GI(e.state,e.dispatch,r,o,n),!0}if(n){const t=cI(e.state),A=t.start(-1);return GI(e.state,e.dispatch,A,AI.get(t.node(-1)).findCell(t.pos-A),n),!0}return!1}function bI(e,t){var A;if(t.ctrlKey||t.metaKey)return;const n=NI(e,t.target);let i;if(t.shiftKey&&e.state.selection instanceof QI)r(e.state.selection.$anchorCell,t),t.preventDefault();else if(t.shiftKey&&n&&null!=(i=oI(e.state.selection.$anchor))&&(null==(A=yI(e,t))?void 0:A.pos)!=i.pos)r(i,t),t.preventDefault();else if(!n)return;function r(t,A){let n=yI(e,A);const i=null==rI.getState(e.state);if(!n||!BI(t,n)){if(!i)return;n=t}const r=new QI(t,n);if(i||!e.state.selection.eq(r)){const A=e.state.tr.setSelection(r);i&&A.setMeta(rI,t.pos),e.dispatch(A)}}function o(){e.root.removeEventListener("mouseup",o),e.root.removeEventListener("dragstart",o),e.root.removeEventListener("mousemove",s),null!=rI.getState(e.state)&&e.dispatch(e.state.tr.setMeta(rI,-1))}function s(A){const i=A,s=rI.getState(e.state);let c;if(null!=s)c=e.state.doc.resolve(s);else if(NI(e,i.target)!=n&&(c=yI(e,t),!c))return o();c&&r(c,i)}e.root.addEventListener("mouseup",o),e.root.addEventListener("dragstart",o),e.root.addEventListener("mousemove",s)}function SI(e,t,A){if(!(e.state.selection instanceof G))return null;const{$head:n}=e.state.selection;for(let i=n.depth-1;i>=0;i--){const r=n.node(i);if((A<0?n.index(i):n.indexAfter(i))!=(A<0?0:r.childCount))return null;if("cell"==r.type.spec.tableRole||"header_cell"==r.type.spec.tableRole){const r=n.before(i);return e.endOfTextblock("vert"==t?A>0?"down":"up":A>0?"right":"left")?r:null}}return null}function NI(e,t){for(;t&&t!=e.dom;t=t.parentNode)if("TD"==t.nodeName||"TH"==t.nodeName)return t;return null}function yI(e,t){const A=e.posAtCoords({left:t.clientX,top:t.clientY});return A&&A?oI(e.state.doc.resolve(A.pos)):null}var pI=class{constructor(e,t){this.node=e,this.cellMinWidth=t,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),TI(e,this.colgroup,this.table,t),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(e){return e.type==this.node.type&&(this.node=e,TI(e,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(e){return"attributes"==e.type&&(e.target==this.table||this.colgroup.contains(e.target))}};function TI(e,t,A,n,i,r){var o;let s=0,c=!0,E=t.firstChild;const B=e.firstChild;if(B){for(let e=0,A=0;e(i.spec.props.nodeViews[iI(n.schema).table.name]=(e,n)=>new A(e,t,n),new zI(-1,!1)),apply:(e,t)=>t.apply(e)},props:{attributes:e=>{const t=HI.getState(e);return t&&t.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(t,A)=>{!function(e,t,A,n,i){const r=HI.getState(e.state);if(r&&!r.dragging){const n=function(e){for(;e&&"TD"!=e.nodeName&&"TH"!=e.nodeName;)e=e.classList&&e.classList.contains("ProseMirror")?null:e.parentNode;return e}(t.target);let o=-1;if(n){const{left:i,right:r}=n.getBoundingClientRect();t.clientX-i<=A?o=JI(e,t,"left",A):r-t.clientX<=A&&(o=JI(e,t,"right",A))}if(o!=r.activeHandle){if(!i&&-1!==o){const t=e.state.doc.resolve(o),A=t.node(-1),n=AI.get(A),i=t.start(-1);if(n.colCount(t.pos-i)+t.nodeAfter.attrs.colspan-1==n.width-1)return}ZI(e,o)}}}(t,A,e,0,n)},mouseleave:e=>{!function(e){const t=HI.getState(e.state);t&&t.activeHandle>-1&&!t.dragging&&ZI(e,-1)}(e)},mousedown:(e,A)=>{!function(e,t,A){var n;const i=null!=(n=e.dom.ownerDocument.defaultView)?n:window,r=HI.getState(e.state);if(!r||-1==r.activeHandle||r.dragging)return!1;const o=e.state.doc.nodeAt(r.activeHandle),s=function(e,t,{colspan:A,colwidth:n}){const i=n&&n[n.length-1];if(i)return i;const r=e.domAtPos(t);let o=r.node.childNodes[r.offset].offsetWidth,s=A;if(n)for(let e=0;e{const t=HI.getState(e);if(t&&t.activeHandle>-1)return function(e,t){const A=[],n=e.doc.resolve(t),i=n.node(-1);if(!i)return f.empty;const r=AI.get(i),o=n.start(-1),s=r.colCount(n.pos-o)+n.nodeAfter.attrs.colspan;for(let e=0;e-1&&t.docChanged){let n=t.mapping.map(A.activeHandle,-1);return EI(t.doc.resolve(n))||(n=-1),new e(n,A.dragging)}return A}};function JI(e,t,A,n){const i=e.posAtCoords({left:t.clientX+("right"==A?-n:n),top:t.clientY});if(!i)return-1;const{pos:r}=i,o=oI(e.state.doc.resolve(r));if(!o)return-1;if("right"==A)return o.pos;const s=AI.get(o.node(-1)),c=o.start(-1),E=s.map.indexOf(o.pos-c);return E%s.width==0?-1:c+s.map[E-1]}function jI(e,t,A){return Math.max(A,e.startWidth+(t.clientX-e.startX))}function ZI(e,t){e.dispatch(e.state.tr.setMeta(HI,{setHandle:t}))}function vI(e){const t=e.selection,A=cI(e),n=A.node(-1),i=A.start(-1),r=AI.get(n);return{...t instanceof QI?r.rectBetween(t.$anchorCell.pos-i,t.$headCell.pos-i):r.findCell(A.pos-i),tableStart:i,map:r,table:n}}function PI(e,{map:t,tableStart:A,table:n},i){let r=i>0?-1:0;(function(e,t,A){const n=iI(t.type.schema).header_cell;for(let i=0;i0&&i0&&t.map[s-1]==c||i0?-1:0;(function(e,t,A){var n;const i=iI(t.type.schema).header_cell;for(let r=0;r0&&i0&&E==t.map[o-t.width]){const t=A.nodeAt(E).attrs;e.setNodeMarkup(e.mapping.slice(s).map(E+n),null,{...t,rowspan:t.rowspan-1}),r+=t.colspan-1}else if(i0&&A[r]==A[r-1]||n.right0&&A[i]==A[i-e]||n.bottomA[e.type.spec.tableRole],(e,t)=>{var A;const i=e.selection;let r,o;if(i instanceof QI){if(i.$anchorCell.pos!=i.$headCell.pos)return!1;r=i.$anchorCell.nodeAfter,o=i.$anchorCell.pos}else{if(r=function(e){for(let t=e.depth;t>0;t--){const A=e.node(t).type.spec.tableRole;if("cell"===A||"header_cell"===A)return e.node(t)}return null}(i.$from),!r)return!1;o=null==(A=oI(i.$from))?void 0:A.pos}if(null==r||null==o)return!1;if(1==r.attrs.colspan&&1==r.attrs.rowspan)return!1;if(t){let A=r.attrs;const s=[],c=A.colwidth;A.rowspan>1&&(A={...A,rowspan:1}),A.colspan>1&&(A={...A,colspan:1});const E=vI(e),B=e.tr;for(let e=0;ei.table.nodeAt(e)));for(let e=0;e{const t=e+i.tableStart,A=r.doc.nodeAt(t);A&&r.setNodeMarkup(t,E,A.attrs)})),A(r)}return!0}}qI("row",{useDeprecatedLogic:!0}),qI("column",{useDeprecatedLogic:!0});var $I=qI("cell",{useDeprecatedLogic:!0});function ek(e){return function(t,A){if(!sI(t))return!1;const n=function(e,t){if(t<0){const t=e.nodeBefore;if(t)return e.pos-t.nodeSize;for(let t=e.index(-1)-1,A=e.before();t>=0;t--){const n=e.node(-1).child(t),i=n.lastChild;if(i)return A-1-i.nodeSize;A-=n.nodeSize}}else{if(e.index()null,apply(e,t){const A=e.getMeta(rI);if(null!=A)return-1==A?null:A;if(null==t||!e.docChanged)return t;const{deleted:n,pos:i}=e.mapping.mapResult(t);return n?null:i}},props:{decorations:uI,handleDOMEvents:{mousedown:bI},createSelectionBetween:e=>null!=rI.getState(e.state)?e.state.selection:null,handleTripleClick:mI,handleKeyDown:fI,handlePaste:UI},appendTransaction:(t,A,n)=>function(e,t,A){const n=(t||e).selection,i=(t||e).doc;let r,o;if(n instanceof p&&(o=n.node.type.spec.tableRole)){if("cell"==o||"header_cell"==o)r=QI.create(i,n.from);else if("row"==o){const e=i.resolve(n.from+1);r=QI.rowSelection(e,e)}else if(!A){const e=AI.get(n.node),t=n.from+1;r=QI.create(i,t+1,t+e.map[e.width*e.height-1])}}else n instanceof G&&function({$from:e,$to:t}){if(e.pos==t.pos||e.pos=0&&!(e.after(i+1)=0&&!(t.before(e+1)>t.start(e));e--,n--);return A==n&&/row|table/.test(e.node(i).type.spec.tableRole)}(n)?r=G.create(i,n.from):n instanceof G&&function({$from:e,$to:t}){let A,n;for(let t=e.depth;t>0;t--){const n=e.node(t);if("cell"===n.type.spec.tableRole||"header_cell"===n.type.spec.tableRole){A=n;break}}for(let e=t.depth;e>0;e--){const A=t.node(e);if("cell"===A.type.spec.tableRole||"header_cell"===A.type.spec.tableRole){n=A;break}}return A!==n&&0===t.parentOffset}(n)&&(r=G.create(i,n.$from.start(),n.$from.end()));return r&&(t||(t=e.tr)).setSelection(r),t}(n,RI(n,A),e)})}function Ak(e,t,A,n,i,r){let o=0,s=!0,c=t.firstChild;const E=e.firstChild;for(let e=0,A=0;e{const{selection:t}=e.state;if(!function(e){return e instanceof QI}(t))return!1;let A=0;const n=X(t.ranges[0].$from,(e=>"table"===e.type.name));return null==n||n.node.descendants((e=>{if("table"===e.type.name)return!1;["tableCell","tableHeader"].includes(e.type.name)&&(A+=1)})),A===t.ranges.length&&(e.commands.deleteTable(),!0)},ok=R.create({name:"table",addOptions:()=>({HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:nk,lastColumnResizable:!0,allowTableNodeSelection:!1}),content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML:()=>[{tag:"table"}],renderHTML({node:e,HTMLAttributes:t}){const{colgroup:A,tableWidth:n,tableMinWidth:i}=function(e,t){let A=0,n=!0;const i=[],r=e.firstChild;if(!r)return{};for(let e=0,o=0;e({insertTable:({rows:e=3,cols:t=3,withHeaderRow:A=!0}={})=>({tr:n,dispatch:i,editor:r})=>{const o=function(e,t,A,n,i){const r=function(e){if(e.cached.tableNodeTypes)return e.cached.tableNodeTypes;const t={};return Object.keys(e.nodes).forEach((A=>{const n=e.nodes[A];n.spec.tableRole&&(t[n.spec.tableRole]=n)})),e.cached.tableNodeTypes=t,t}(e),o=[],s=[];for(let e=0;e({state:e,dispatch:t})=>function(e,t){if(!sI(e))return!1;if(t){const A=vI(e);t(PI(e.tr,A,A.left))}return!0}(e,t),addColumnAfter:()=>({state:e,dispatch:t})=>function(e,t){if(!sI(e))return!1;if(t){const A=vI(e);t(PI(e.tr,A,A.right))}return!0}(e,t),deleteColumn:()=>({state:e,dispatch:t})=>function(e,t){if(!sI(e))return!1;if(t){const A=vI(e),n=e.tr;if(0==A.left&&A.right==A.map.width)return!1;for(let e=A.right-1;LI(n,A,e),e!=A.left;e--){const e=A.tableStart?n.doc.nodeAt(A.tableStart-1):n.doc;if(!e)throw RangeError("No table found");A.table=e,A.map=AI.get(e)}t(n)}return!0}(e,t),addRowBefore:()=>({state:e,dispatch:t})=>function(e,t){if(!sI(e))return!1;if(t){const A=vI(e);t(VI(e.tr,A,A.top))}return!0}(e,t),addRowAfter:()=>({state:e,dispatch:t})=>function(e,t){if(!sI(e))return!1;if(t){const A=vI(e);t(VI(e.tr,A,A.bottom))}return!0}(e,t),deleteRow:()=>({state:e,dispatch:t})=>function(e,t){if(!sI(e))return!1;if(t){const A=vI(e),n=e.tr;if(0==A.top&&A.bottom==A.map.height)return!1;for(let e=A.bottom-1;OI(n,A,e),e!=A.top;e--){const e=A.tableStart?n.doc.nodeAt(A.tableStart-1):n.doc;if(!e)throw RangeError("No table found");A.table=e,A.map=AI.get(A.table)}t(n)}return!0}(e,t),deleteTable:()=>({state:e,dispatch:t})=>function(e,t){const A=e.selection.$anchor;for(let n=A.depth;n>0;n--)if("table"==A.node(n).type.spec.tableRole)return t&&t(e.tr.delete(A.before(n),A.after(n)).scrollIntoView()),!0;return!1}(e,t),mergeCells:()=>({state:e,dispatch:t})=>KI(e,t),splitCell:()=>({state:e,dispatch:t})=>WI(e,t),toggleHeaderColumn:()=>({state:e,dispatch:t})=>qI("column")(e,t),toggleHeaderRow:()=>({state:e,dispatch:t})=>qI("row")(e,t),toggleHeaderCell:()=>({state:e,dispatch:t})=>$I(e,t),mergeOrSplit:()=>({state:e,dispatch:t})=>!!KI(e,t)||WI(e,t),setCellAttribute:(e,t)=>({state:A,dispatch:n})=>function(e,t){return function(A,n){if(!sI(A))return!1;const i=cI(A);if(i.nodeAfter.attrs[e]===t)return!1;if(n){const r=A.tr;A.selection instanceof QI?A.selection.forEachCell(((A,n)=>{A.attrs[e]!==t&&r.setNodeMarkup(n,null,{...A.attrs,[e]:t})})):r.setNodeMarkup(i.pos,null,{...i.nodeAfter.attrs,[e]:t}),n(r)}return!0}}(e,t)(A,n),goToNextCell:()=>({state:e,dispatch:t})=>ek(1)(e,t),goToPreviousCell:()=>({state:e,dispatch:t})=>ek(-1)(e,t),fixTables:()=>({state:e,dispatch:t})=>(t&&RI(e),!0),setCellSelection:e=>({tr:t,dispatch:A})=>{if(A){const A=QI.create(t.doc,e.anchorCell,e.headCell);t.setSelection(A)}return!0}}),addKeyboardShortcuts(){return{Tab:()=>!!this.editor.commands.goToNextCell()||!!this.editor.can().addRowAfter()&&this.editor.chain().addRowAfter().goToNextCell().run(),"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:rk,"Mod-Backspace":rk,Delete:rk,"Mod-Delete":rk}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[xI({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],tk({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema:e=>({tableRole:x(z(e,"tableRole",{name:e.name,options:e.options,storage:e.storage}))})}),sk=R.create({name:"tableCell",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:e=>{const t=e.getAttribute("colwidth");return t?[parseInt(t,10)]:null}}}),tableRole:"cell",isolating:!0,parseHTML:()=>[{tag:"td"}],renderHTML({HTMLAttributes:e}){return["td",l(this.options.HTMLAttributes,e),0]}}),ck=R.create({name:"tableHeader",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:e=>{const t=e.getAttribute("colwidth");return t?[parseInt(t,10)]:null}}}),tableRole:"header_cell",isolating:!0,parseHTML:()=>[{tag:"th"}],renderHTML({HTMLAttributes:e}){return["th",l(this.options.HTMLAttributes,e),0]}}),Ek=R.create({name:"tableRow",addOptions:()=>({HTMLAttributes:{}}),content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML:()=>[{tag:"tr"}],renderHTML({HTMLAttributes:e}){return["tr",l(this.options.HTMLAttributes,e),0]}}),Bk=sk.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:e=>{var t;const A=null!==(t=e.getAttribute("colwidth"))&&void 0!==t?t:e.style.width;return Boolean(A)?[parseInt(A,10)]:null},renderHTML:e=>e.colwidth?{style:`width: ${e.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:e}){return["td",l(this.options.HTMLAttributes,e,{style:"border: 1px solid black; padding: 5px;"}),0]}}),ak=ck.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:e=>{var t;const A=null!==(t=e.getAttribute("colwidth"))&&void 0!==t?t:e.style.width;return Boolean(A)?[parseInt(A,10)]:null},renderHTML:e=>e.colwidth?{style:`width: ${e.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:e}){return["th",l(this.options.HTMLAttributes,e,{style:"border: 1px solid black; padding: 5px;"}),0]}}),gk=ok.extend({renderHTML({HTMLAttributes:e}){return["table",l(this.options.HTMLAttributes,e,{style:"border-collapse: collapse; border: 1px solid black;"}),["tbody",0]]}}),lk=R.create({name:"iframe",group:"block",atom:!0,addOptions:()=>({HTMLAttributes:{class:"iframe-wrapper"}}),addAttributes:()=>({src:{default:null},frameborder:{default:0},width:{default:null},height:{default:null}}),parseHTML:()=>[{tag:"iframe"}],renderHTML({HTMLAttributes:e}){return["div",this.options.HTMLAttributes,["iframe",e]]},addCommands(){return{setIframe:e=>({tr:t,dispatch:A})=>{const{selection:n}=t,i=this.type.create(e);return Boolean(A)&&t.replaceRangeWith(n.from,n.to,i),!0}}}}),Qk=R.create({name:"embed",group:"block",atom:!0,addOptions:()=>({HTMLAttributes:{class:"embed-wrapper"}}),addAttributes:()=>({src:{default:null},type:{default:"text/html"},width:{default:null},height:{default:null}}),parseHTML:()=>[{tag:"embed"}],renderHTML({HTMLAttributes:e}){return["div",this.options.HTMLAttributes,["embed",e]]},addCommands(){return{setEmbed:e=>({tr:t,dispatch:A})=>{const{selection:n}=t,i=this.type.create(e);return Boolean(A)&&t.replaceRangeWith(n.from,n.to,i),!0}}}}),hk=tg.extend({addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak(),Enter:()=>{const{state:e}=this.editor,{selection:t}=e,{$from:A}=t;if("paragraph"===A.parent.type.name){const{nodeBefore:e}=A;return e&&"hardBreak"===e.type.name?(this.editor.commands.deleteRange({from:A.pos-1,to:A.pos}),!1):this.editor.commands.setHardBreak()}}}}});function uk(e){var t;const{char:A,allowSpaces:n,allowedPrefixes:i,startOfLine:r,$position:o}=e,s=q(A),c=new RegExp(`\\s${s}$`),E=r?"^":"",B=n?new RegExp(`${E}${s}.*?(?=\\s${s}|$)`,"gm"):new RegExp(`${E}(?:^)?${s}[^\\s${s}]*`,"gm"),a=(null===(t=o.nodeBefore)||void 0===t?void 0:t.isText)&&o.nodeBefore.text;if(!a)return null;const g=o.pos-a.length,l=Array.from(a.matchAll(B)).pop();if(!l||void 0===l.input||void 0===l.index)return null;const Q=l.input.slice(Math.max(0,l.index-1),l.index),h=new RegExp(`^[${null==i?void 0:i.join("")}\0]?$`).test(Q);if(null!==i&&!h)return null;const u=g+l.index;let w=u+l[0].length;return n&&c.test(a.slice(w-1,w+1))&&(l[0]+=" ",w+=1),u=o.pos?{range:{from:u,to:w},query:l[0].slice(A.length),text:l[0]}:null}const wk=new o("suggestion");function Mk({pluginKey:e=wk,editor:t,char:A="@",allowSpaces:n=!1,allowedPrefixes:i=[" "],startOfLine:o=!1,decorationTag:s="span",decorationClass:c="suggestion",command:E=(()=>null),items:B=(()=>[]),render:a=(()=>({})),allow:g=(()=>!0),findSuggestionMatch:l=uk}){let Q;const h=null==a?void 0:a(),u=new r({key:e,view(){return{update:async(e,A)=>{var n,i,r,o,s,c,a;const g=null===(n=this.key)||void 0===n?void 0:n.getState(A),l=null===(i=this.key)||void 0===i?void 0:i.getState(e.state),u=g.active&&l.active&&g.range.from!==l.range.from,w=!g.active&&l.active,M=g.active&&!l.active,R=w||u,d=!w&&!M&&g.query!==l.query&&!u,I=M||u;if(!R&&!d&&!I)return;const k=I&&!R?g:l,G=e.dom.querySelector(`[data-decoration-id="${k.decorationId}"]`);Q={editor:t,range:k.range,query:k.query,text:k.text,items:[],command:e=>E({editor:t,range:k.range,props:e}),decorationNode:G,clientRect:G?()=>{var A;const{decorationId:n}=null===(A=this.key)||void 0===A?void 0:A.getState(t.state),i=e.dom.querySelector(`[data-decoration-id="${n}"]`);return(null==i?void 0:i.getBoundingClientRect())||null}:null},R&&(null===(r=null==h?void 0:h.onBeforeStart)||void 0===r||r.call(h,Q)),d&&(null===(o=null==h?void 0:h.onBeforeUpdate)||void 0===o||o.call(h,Q)),(d||R)&&(Q.items=await B({editor:t,query:k.query})),I&&(null===(s=null==h?void 0:h.onExit)||void 0===s||s.call(h,Q)),d&&(null===(c=null==h?void 0:h.onUpdate)||void 0===c||c.call(h,Q)),R&&(null===(a=null==h?void 0:h.onStart)||void 0===a||a.call(h,Q))},destroy:()=>{var e;Q&&(null===(e=null==h?void 0:h.onExit)||void 0===e||e.call(h,Q))}}},state:{init:()=>({active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}),apply(e,r,s,c){const{isEditable:E}=t,{composing:B}=t.view,{selection:a}=e,{empty:Q,from:h}=a,u={...r};if(u.composing=B,E&&(Q||t.view.composing)){!(hr.range.to)||B||r.composing||(u.active=!1);const e=l({char:A,allowSpaces:n,allowedPrefixes:i,startOfLine:o,$position:a.$from}),s=`id_${Math.floor(4294967295*Math.random())}`;e&&g({editor:t,state:c,range:e.range})?(u.active=!0,u.decorationId=r.decorationId?r.decorationId:s,u.range=e.range,u.query=e.query,u.text=e.text):u.active=!1}else u.active=!1;return u.active||(u.decorationId=null,u.range={from:0,to:0},u.query=null,u.text=null),u}},props:{handleKeyDown(e,t){var A;const{active:n,range:i}=u.getState(e.state);return n&&(null===(A=null==h?void 0:h.onKeyDown)||void 0===A?void 0:A.call(h,{view:e,event:t,range:i}))||!1},decorations(e){const{active:t,range:A,decorationId:n}=u.getState(e);return t?f.create(e.doc,[D.inline(A.from,A.to,{nodeName:s,class:c,"data-decoration-id":n})]):null}}});return u}const Rk="shash-menu",dk=e=>{const{clientRect:t}=e;if(null===t)return e.editor.storage[Rk].rect;const A=t();return Boolean(A)?A:e.editor.storage[Rk].rect},Ik=(e,t)=>""===t?e:e.filter((({title:e,label:A,alias:n})=>[e,A,...n].some((e=>e.toLowerCase().includes(t.toLowerCase()))))),kk=s.create({name:Rk,addProseMirrorPlugins(){return[Mk({pluginKey:new o(Rk),char:"/",allowSpaces:!0,startOfLine:!0,allow:({state:e,range:t})=>{var A;const n=e.doc.resolve(t.from),i=1===n.depth,r="paragraph"===n.parent.type.name,o="/"===(null===(A=n.parent.textContent)||void 0===A?void 0:A.charAt(0));return i&&r&&o},command:({editor:e,props:t})=>{var A,n,i;const{view:r,state:o}=e,{$head:s,$from:c}=o.selection,E=c.pos,B=Boolean(null==s?void 0:s.nodeBefore)?E-(null!==(i=null===(A=s.nodeBefore.text)||void 0===A?void 0:A.substring(null===(n=s.nodeBefore.text)||void 0===n?void 0:n.indexOf("/")).length)&&void 0!==i?i:0):c.start(),a=o.tr.deleteRange(B,E);r.dispatch(a),t.action(e),r.focus()},editor:this.editor,items:({query:e})=>{const t=(e=>{const t=Boolean(e.storage.markdown);return[{group:"format",items:[...ae.map((A=>({icon:`ci-heading_h${A}`,title:$.getString(`menu.heading.${A}`),label:$.getString(`menu.heading.${A}`),alias:$.getPronunciation(`menu.heading.${A}`).split(","),action:()=>{let n=e.chain().focus().toggleHeading({level:A});return t||(n=n.unsetFontSize()),n.run()}}))),{icon:"ci-list_unordered",title:$.getString("menu.list.bullet"),label:$.getString("menu.list.bullet"),alias:$.getPronunciation("menu.list.bullet").split(","),action:()=>e.chain().focus().toggleBulletList().run()},{icon:"ci-list_ordered",title:$.getString("menu.list.ordered"),label:$.getString("menu.list.ordered"),alias:$.getPronunciation("menu.list.ordered").split(","),action:()=>e.chain().focus().toggleOrderedList().run()},...t?[]:[{icon:"ci-list_checklist",title:$.getString("menu.list.task"),label:$.getString("menu.list.task"),alias:$.getPronunciation("menu.list.task").split(","),action:()=>e.chain().focus().toggleTaskList().run()}],{icon:"ci-double_quotes_l",title:$.getString("menu.quote"),label:$.getString("menu.quote"),alias:$.getPronunciation("menu.quote").split(","),action:()=>e.chain().focus().toggleBlockquote().run(),isActive:()=>e.isActive("blockquote")}]},{group:"insert",items:[{icon:"ci-image_02",title:$.getString("menu.image"),label:$.getString("menu.image"),alias:$.getPronunciation("menu.image").split(","),action:()=>{const t=document.createElement("input");t.setAttribute("type","file"),t.setAttribute("accept","image/jpeg,image/gif,image/png,image/jpg"),t.onchange=t=>{const{files:A}=t.target;Boolean(A.length)&&e.chain().focus().uploadImage(A.item(0)).run()},t.click()}},{icon:"ci-table",title:$.getString("menu.table"),label:$.getString("menu.table"),alias:$.getPronunciation("menu.table").split(","),action:()=>e.chain().focus().insertTable({rows:3,cols:4,withHeaderRow:Boolean(e.storage.markdown)}).run()},{icon:"ci-remove_minus",title:$.getString("menu.hr"),label:$.getString("menu.hr"),alias:$.getPronunciation("menu.hr").split(","),action:()=>e.chain().focus().setHorizontalRule().run()}]}]})(this.editor);return"group"in t[0]?t.map((t=>{const A=Ik(t.items,e);return 0===A.length?null:{group:t.group,items:A}})).filter((e=>Boolean(e))):Ik(t,e)},render:()=>{let e,t;return{onStart:A=>{e=document.createElement("zen-editor-slash-menu"),e.editor=this.editor,e.items=A.items,e.props=A,t=a("body",{getReferenceClientRect:()=>dk(A),appendTo:()=>{var e,t,A,n;return null===document.fullscreenElement?document.body:null===(n=null===(A=null===(t=null===(e=document.fullscreenElement)||void 0===e?void 0:e.shadowRoot)||void 0===t?void 0:t.querySelector("zen-editor-core"))||void 0===A?void 0:A.shadowRoot)||void 0===n?void 0:n.querySelector(".editor")},content:e,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start"})},onUpdate:A=>{e.items=A.items,t[0].setProps({getReferenceClientRect:()=>dk(A)})},onKeyDown:A=>{var n;return"Escape"===A.event.key?(t[0].hide(),!0):(null==t?void 0:t[0].state.isShown)?null===(n=e.onkeydown)||void 0===n?void 0:n.call(e,A.event):void(null==t||t[0].show())},onExit:()=>{t[0].destroy(),e.remove()}}}})]},addStorage:()=>({rect:{width:0,height:0,left:0,top:0,right:0,bottom:0}})}),Gk=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,fk=R.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{}}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:e}){return["img",l(this.options.HTMLAttributes,e)]},addCommands(){return{setImage:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e})}},addInputRules(){return[j({find:Gk,type:this.type,getAttributes:e=>{const[,,t,A,n]=e;return{src:A,alt:t,title:n}}})]}}).extend({name:"resizableImage",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{}}),addAttributes(){var e;return Object.assign(Object.assign({},null===(e=this.parent)||void 0===e?void 0:e.call(this)),{width:{default:"100%",renderHTML:e=>({width:e.width})},height:{default:"auto",renderHTML:e=>({height:e.height})}})},addNodeView:()=>({editor:e,node:t,getPos:A})=>{const n=document.createElement("div");n.classList.add("resizable-image-holder");const i=document.createElement("img"),{src:r,width:o,height:s}=t.attrs;i.src=r,i.style.width=Number.isInteger(o)?`${o}px`:o,i.style.height=Number.isInteger(s)?`${s}px`:s,n.append(i);const c=document.createElement("div");c.classList.add("resizable-image-handle"),n.append(c);const E=document.createElement("div");return E.classList.add("resizable-image-size"),E.textContent=`${Number.isInteger(o)?o:"auto"} × ${Number.isInteger(s)?s:"auto"}`,n.append(E),new ResizeObserver((()=>{E.style.transform=E.offsetWidth>E.parentElement.offsetWidth?`translateX(${E.clientWidth}px)`:"none"})).observe(E),c.onmousedown=r=>{r.preventDefault(),n.classList.add("is-dragging");const o=i.width,s=i.height,c=r.clientX,B=e=>{const t=o+(e.clientX-c),A=t/(o/s);t<10||A<10||(i.width=t,i.height=A,i.style.width=`${t}px`,i.style.height=`${A}px`,E.textContent=`${t} × ${Math.round(A)}`)},a=()=>{document.removeEventListener("mousemove",B),document.removeEventListener("mouseup",a),n.classList.remove("is-dragging");const{width:r,height:o}=i;if(E.textContent=`${r} × ${o}`,"function"==typeof A){const{view:n}=e,i=n.state.tr.setNodeMarkup(A(),null,Object.assign(Object.assign({},t.attrs),{width:r,height:o}));n.dispatch(i),e.commands.focus()}};document.addEventListener("mousemove",B),document.addEventListener("mouseup",a,{once:!0})},{dom:n}},addInputRules(){return[j({find:/(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,type:this.type,getAttributes:e=>{const[,,t,A,n,i,r,o]=e;return{src:A,alt:t,title:n,height:i,width:r,isDraggable:o}}})]},addStorage:()=>({markdown:{serialize(e,t){if(!t.attrs.src||t.attrs.src.startsWith("data:"))return"";e.write(`![${e.esc(t.attrs.alt||"")}](${e.esc(t.attrs.src)})`)}}})}),Ck=e=>{const{preferHardBreak:t,markdown:A,neglectDefaultTextStyle:n,uploadUrl:i,placeholder:r,slashMenu:o}=e,{lowlight:s}=pE,c=[];c.push(zg.configure(Object.assign({history:!1,codeBlock:!1},t?{}:{hardBreak:!1})),Mr,kr,To.configure({lowlight:s}),gk.configure({resizable:!0,cellMinWidth:48}),Ek,ak,Bk,fk.configure({inline:!0}),qd.configure({uploadUrl:i}),Ia,ER,Ca.configure({placeholder:r}),Ae,...o?[kk]:[],hr);const E=(({collaborative:e,ydoc:t,hocuspocus:A,docName:n,username:i,userColor:r})=>e?null===t||[A,n,i,r].some((e=>""===e))?(console.warn("Some options required for collaborative editing are missing. Disabling collaboration."),[]):[Gl.configure({document:t}),Dl.configure({provider:new dh({url:A,name:n,document:t}),user:{name:i,color:r}})]:[])(e);return E.length>0?c.push(...E):c.push(kg.configure({depth:50,newGroupDelay:500})),A?(c.push(sR.configure({html:!1,transformPastedText:!0,transformCopiedText:!0})),c):(c.push(ne.extend({priority:1e3}),Fa,re,Ya,ka,Ga,...t?[hk]:[],...n?[]:[$d],Ir,dr,fa.configure({types:["heading","paragraph"]}),se,Da,lk,Qk),c)},Dk=class{constructor(t){e(this,t),this.editorDidLoad=n(this,"editorDidLoad",7),this.lastRAF=0,this.lastUpdateTimer=0,this.isComposition=!1,this.toggleMonaco=async()=>{if(this.isMonaco){const e=await this.monacoEditor.getValue();this.editor.chain().setContent(e).run()}this.isMonaco=!this.isMonaco},this.name="",this.readonly=!1,this.uploadUrl="",this.placeholder="",this.initialContent="",this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideUI=!1,this.hideMenubar=!1,this.menubarMode="full",this.extraMenubarItems="",this.slashMenu=!1,this.bubbleMenu=!1,this.preferHardBreak=!1,this.neglectDefaultTextStyle=!1,this.markdown=!1,this.locale=void 0,this.styles=void 0,this.cssSrc=void 0,this.contentClass=null,this.proseClass=null,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.updateInputValue=void 0,this.fullscreenable=!1,this.toggleFullscreen=void 0,this.isFullscreen=!1,this.value=void 0,this.editor=null,this.forceUpdateCounter=0,this.isMonaco=!1}forceUpdate(){this.forceUpdateCounter>1e3?this.forceUpdateCounter=0:this.forceUpdateCounter++}tryForceUpdate(){Boolean(this.lastUpdateTimer)&&cancelAnimationFrame(this.lastUpdateTimer),this.lastUpdateTimer=requestAnimationFrame((()=>{this.forceUpdate(),this.lastUpdateTimer=0}))}handleInput(){Boolean(this.lastRAF)&&cancelAnimationFrame(this.lastRAF),this.lastRAF=requestAnimationFrame((()=>{this.tryForceUpdate(),this.updateInputValue(),this.lastRAF=0}))}onLocaleChanage(){void 0!==this.locale&&($.setLocale(this.locale),this.forceUpdate())}onCssSrcChange(){if(Boolean(this.cssSrc&&this.element.shadowRoot)){const e=document.createElement("link");e.rel="stylesheet",e.href=this.cssSrc,e.setAttribute("data-zen-editor-css",""),this.element.shadowRoot.prepend(e)}}connectedCallback(){void 0!==this.locale&&$.setLocale(this.locale),setTimeout((()=>{this.ydoc=this.collaborative?new YA:null,this.editor=new Qr({extensions:Ck({collaborative:this.collaborative,preferHardBreak:this.preferHardBreak,markdown:this.markdown,neglectDefaultTextStyle:this.neglectDefaultTextStyle,uploadUrl:this.uploadUrl,placeholder:this.placeholder,slashMenu:this.slashMenu,hocuspocus:this.hocuspocus,docName:this.docName,username:this.username,userColor:this.userColor,ydoc:this.ydoc}),editorProps:{attributes:{spellcheck:"false"},handleDOMEvents:{compositionstart:()=>{this.isComposition=!0},compositionend:()=>{this.isComposition=!1,this.handleInput()},mouseup:e=>{requestAnimationFrame((()=>{const t=e.pluginViews.find((e=>{var t;return"BubbleMenuView"===(null===(t=e.constructor)||void 0===t?void 0:t.name)}));null==t||t.update(e)}))}},editable:()=>!this.readonly},content:this.value||this.initialContent}),this.editorDidLoad.emit(this.editor),this.editor.on("transaction",(()=>{this.isComposition||this.handleInput()})),this.editor.on("blur",(()=>{Boolean(this.lastRAF)&&cancelAnimationFrame(this.lastRAF),this.lastRAF=requestAnimationFrame((()=>{this.updateInputValue(),this.lastRAF=0}))})),this.updateInputValue(),this.exposeEditor&&(window.$zenEditors||(window.$zenEditors={}),window.$zenEditors[this.name||"ze"]=this.editor)}),0)}componentDidLoad(){Boolean(this.styles&&this.element.shadowRoot)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles]),this.onCssSrcChange()}disconnectedCallback(){Boolean(this.lastUpdateTimer)&&cancelAnimationFrame(this.lastUpdateTimer),Boolean(this.lastRAF)&&cancelAnimationFrame(this.lastRAF),this.editor.destroy()}render(){return Boolean(this.editor)?t("div",{class:`editor${this.isFullscreen?" is-fullscreen":""}${this.resizable?" resizable":""}${"full"===this.size?" full":"auto"===this.size?" size-auto":""}${this.hideUI?" hide-ui":""}`},!this.hideUI&&t(i,null,this.hideMenubar?null:t("zen-editor-menubar",{editor:this.editor,menubarMode:Be[this.markdown?"basic":this.menubarMode],toggleMonaco:this.toggleMonaco,toggleFullscreen:this.fullscreenable&&this.toggleFullscreen,states:{isMonaco:this.isMonaco,isCollaborative:this.collaborative,isFullscreen:this.isFullscreen},forceUpdateCounter:this.forceUpdateCounter,styles:this.styles,extraMenubarItems:this.extraMenubarItems}),this.isMonaco&&t("monaco-editor",{class:`monaco-editor ${this.size}`,ref:e=>this.monacoEditor=e,options:{language:"html",ariaContainerElement:null,value:this.editor.getHTML()},tiptapEditor:this.editor,updateInputValue:this.updateInputValue})),t("zen-editor-content",{class:`editor__content ${this.size} ${this.contentClass}`,proseClass:this.proseClass,editor:this.editor,bubbleMenu:this.bubbleMenu,styles:this.styles,style:{display:this.isMonaco?"none":""}})):null}get element(){return A(this)}static get watchers(){return{locale:["onLocaleChanage"],cssSrc:["onCssSrcChange"]}}};Dk.style='button,input,select{font-size:inherit;font-family:inherit;color:#333333;margin:0.1em;border:1px solid #333333;border-radius:0.25em;padding:0.1em 0.4em;background:white;accent-color:black}button[disabled],input[disabled],select[disabled]{opacity:0.3}.editor{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;background-color:#fff;border:1px solid #a6a39e;border-radius:0.25em;color:#0d0d0d;display:flex;flex-direction:column;min-height:10em;max-height:96vh}.editor.resizable{resize:vertical;overflow:hidden}.editor.is-fullscreen{height:100% !important;max-height:unset;resize:none}.editor.size-auto{max-height:unset}.editor.full{min-height:100%}.editor.hide-ui{border:none}.hide-ui .editor__content{cursor:unset}.editor__content{flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding:0.25em 0.75em 1.25em 1em;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;cursor:text}.editor__content.sm{min-height:3.5em}.editor__content.lg{min-height:14em}.editor__content.full{min-height:100%}.editor__content.narrow{padding:0 0 0 0.5em}.editor__content .collaboration-cursor__caret{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.editor__content .collaboration-cursor__label{border-radius:3px 3px 3px 0;color:#0d0d0d;font-size:12px;font-style:normal;font-weight:600;left:-1px;line-height:normal;padding:0.1em 0.3em;position:absolute;top:-1.4em;user-select:none;white-space:nowrap}.editor__footer{align-items:center;border-top:1px solid #a6a39e;color:#6e6e6e;display:flex;flex:0 0 auto;font-size:12px;flex-wrap:wrap;font-weight:600;justify-content:space-between;padding:0.25em 0.75em;white-space:nowrap}.editor ::-webkit-scrollbar{width:14px;height:14px}.editor ::-webkit-scrollbar-track{border:4px solid transparent;background-clip:padding-box;border-radius:8px;background-color:transparent}.editor ::-webkit-scrollbar-thumb{border:4px solid rgba(0, 0, 0, 0);background-clip:padding-box;border-radius:8px;background-color:rgba(0, 0, 0, 0)}.editor :hover::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.1)}.editor ::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.15)}.editor ::-webkit-scrollbar-button{display:none;width:0;height:0}.editor ::-webkit-scrollbar-corner{background-color:transparent}.editor .monaco-editor{height:100%;min-height:10em}.editor .monaco-editor.sm{min-height:3.5em}.editor .monaco-editor.lg{min-height:14em}.editor .monaco-editor.full{min-height:100%}';const Fk=class{constructor(t){e(this,t),this.itemProps=void 0,this.menubarMode=void 0,this.styles=void 0}updateMenu(){if(this.menuTippy){const{subMenu:e}=this.itemProps;this.menuContent=document.createElement("div"),this.menuContent.style.padding="0.1em",this.menuContent.style.borderRadius="0.3em",this.menuContent.style.backgroundColor="#fff",this.menuContent.style.border="1px solid #a6a39e",this.menuContent.classList.add("zen-editor-menu-submenu"),e.forEach((e=>{const t=document.createElement("zen-editor-menu-item"),{menuModeLevel:A}=e;A&&A>this.menubarMode||(t.itemProps=Object.assign(Object.assign({},e),{action:e.action?()=>{e.action(),this.menuTippy.hide()}:null}),this.menuContent.append(t))})),this.menuTippy.setContent(this.menuContent)}}componentDidLoad(){var e;const{subMenu:t}=this.itemProps;t&&(this.menuTippy=a(null!==(e=this.menuTippyTarget)&&void 0!==e?e:this.el,{placement:"bottom-start",trigger:"click",interactive:!0,animation:!1,appendTo:()=>{var e,t,A,n;return null===document.fullscreenElement?document.body:null===(n=null===(A=null===(t=null===(e=document.fullscreenElement)||void 0===e?void 0:e.shadowRoot)||void 0===t?void 0:t.querySelector("zen-editor-core"))||void 0===A?void 0:A.shadowRoot)||void 0===n?void 0:n.querySelector(".editor")}}),this.updateMenu())}componentDidUpdate(){this.menuTippy&&this.updateMenu()}render(){const{icon:e,label:A,title:n,action:r,subMenu:o,isDisabled:s=null,isActive:c=null,flip:E="none"}=this.itemProps;return t(i,{key:"e638ab45f15bdac0e2299bb27e8471960771cadf"},t("button",{key:"ad6d91c4671375fbc9252265728e3523846e539d",class:`menu-item${s&&s()?" is-disabled":""}${c&&c()?" is-active":""}${"none"!==E?` flip-${E}`:""}${(null==e?void 0:e.flip)?` flip-${e.flip}`:""}${o&&r?" has-submenu":""}`,onClick:s&&s()?null:r,title:n},e&&("string"==typeof e&&e.startsWith("ci")?t("i",{class:`coolicons ${e}`}):t("i",{class:`coolicons ${e.icon}`})),A&&t("span",{key:"8bc8e84b932fd5263dd1a8325994f729222d97f5",class:"label"},A),o&&!r?t("i",{class:"coolicons ci-caret_down_sm"}):null),o&&r&&t("button",{key:"1c4d019a331a3c2f4bf91345f723ab8fce17e22a",class:"menu-item",ref:e=>this.menuTippyTarget=e},t("i",{key:"280de3dced155e6daba5f885057c2f4db5b60068",class:"coolicons ci-caret_down_sm"})))}get el(){return A(this)}};Fk.style='@font-face{font-family:\'coolicons\';src:url(data:application/font-woff;base64,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BAAAgAQAAIAEAACABAAAgAQAAKsEAACrBAAA1QQAAKsEAACrBAAAqwQAAKsEAACrBAAAqwQAAKsEAACABAAAqwQAAKsEAACrBAAAVQQAAIAEAACABAAAVQQAAIAEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAACrBAAAZwQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAQAEAABVBAAAVQQAAG0EAAEzBAAARgQAAIAEAACABAAAKwQAAIAEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAAA0BAABKwQAACsEAACABAAAKwQAAFUEAABVBAAAqwQAAdUEAAHVBAAB1QQAAdUEAACABAAAVQQAAFUEAAErBAAAlAQAAFUEAACABAAAgAQAAH8EAABVBAAAqwQAAKsEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAABVBAAANAQAAKsEAABVBAAAqQQAAKsEAACrBAAAqwQAAKsEAACrBAAAVQQAAKsEAAEABAABAAQAAIAEAACABAAAVQQAAKsEAAErBAAAqwQAAasEAADVBAAAVQQAAVUEAABVBAAAVQQAAG8EAACABAAAgAQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAFUEAABIBAAAKwQAAJcEAAEABAAAVQQAAFUEAACABAAAVQQAADAEAABVBAAAqwQAAFUEAABVBAAAgAQAAIAEAACABAAAVQQAAIAEAABVBAAA1QQAAFUEAACABAAAcAQAAFUEAABVBAAAVQQAAGQEAAArBAAAVQQAAIAEAACABAAAgAQAAIAEAABVBAAAZwQAAFUEAABVBAAARgQAAKsEAABVBAABgAQAAYAEAAEABAAA1QQAAFUEAABVBAAAVQQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAEcEAABVBAAAVQQAAKsEAACABAAAVQQAACsEAABVBAAAKwQAACsEAABVBAAAVQQAAIAEAABVBAAAgAQAAJEEAABVBAAAgAQAAIAEAACABAAAgAQAANUEAABVBAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAABZBAAAWQQAAFkEAADVBAAAqwQAASsEAAErBAAAqwQAAIAEAADVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAACsEAAArBAAAKwQAANUEAAArBAAAKwQAAdMEAACrBAAAVQQAAFUEAABVBAAAVQQAAF8EAAE5BAAA3AQAAasEAABfBAAAXwQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQAAAAAAAAAAAAAAFAAAACgAAAA8AAABBAAAArgAAAPAAAAFnAAABfwAAAbIAAAJFAAACwQAAAx8AAAPBAAAEDQAABFkAAASyAAAFCwAABWQAAAWwAAAF/AAABlUAAAZ5AAAGnQAABsAAAAblAAAHCwAABy8AAAdTAAAHdgAAB5sAAAfeAAAIAwAACCkAAAhvAAAIlAAACPUAAAkaAAAJQAAACWUAAAmhAAAJ3wAAChoAAApVAAAKkAAACskAAAsFAAALQAAAC3MAAAumAAAL2QAADAwAAAwvAAAMUgAADHUAAAyXAAAMugAADN4AAA0CAAANJQAADUcAAA2qAAAOGQAADoYAAA70AAAPYQAAD9wAABBjAAAQygAAETAAABGhAAASNAAAEpoAABLNAAATcgAAE84AABRLAAAU2AAAFVkAABXpAAAWeAAAFu4AABeFAAAYHgAAGMIAABmCAAAaEgAAGp8AABssAAAbrwAAHFgAABzUAAAdGAAAHVsAAB2eAAAd3wAAHfkAAB4TAAAeLQAAHkcAAB5fAAAedwAAHuUAAB9TAAAfxQAAIA8AACCQAAAhEwAAIXgAACHeAAAiTwAAIr0AACMXAAAjZwAAI/UAACSDAAAkugAAJUUAACW8AAAmKQAAJmYAACajAAAmvgAAJtkAACdUAAAoAAAAKGQAACiUAAAosAAAKOAAACj6AAApFgAAKUYAAClgAAApfAAAKacAACnBAAAqQQAAKoUAACriAAArJQAAK1IAACuNAAAr2wAALAIAACwpAAAsUAAALNYAAC0nAAAtegAALdcAAC4tAAAukwAALtoAAC8wAAAvbAAAL50AADBXAAAwyAAAMT8AADHAAAAyGwAAMmUAADMBAAAzqgAANCsAADSvAAA1CQAANYsAADXeAAA2SgAANnIAADaaAAA3UQAAN98AADiNAAA5IwAAObcAADpCAAA6cQAAOqkAADrhAAA7AgAAOy8AADuQAAA77wAAPDsAADx2AAA8zQAAPRMAAD2qAAA9yAAAPjoAAD6UAAA/MAAAP7cAAEBVAABA/gAAQbIAAEJQAABC8QAAQ4UAAEQXAABEwwAARWQAAEY+AABG6gAAR3AAAEeaAABH5gAASGgAAEjsAABJegAAShQAAEqWAABLJQAAS7oAAExiAABM2gAATWkAAE33AABOZAAATzEAAE9zAABPpwAAUEIAAFCvAABQ0QAAUPMAAFFuAABRuwAAUhMAAFJuAABSxgAAUyQAAFOWAABTzwAAVF8AAFSzAABU6wAAVSIAAFW9AABWYQAAVtAAAFczAABXtwAAWD0AAFjNAABZRwAAWgAAAFq5AABa/AAAW3YAAFufAABcMQAAXKAAAFzwAABdKQAAXXsAAF2+AABdzAAAXdoAAF3oAABd9gAAXl4AAF6uAABe7QAAXywAAF99AABftAAAX+0AAGBVAABgqgAAYNcAAGEXAABhNQAAYakAAGIaAABisAAAYvsAAGNQAABj2QAAZF4AAGYtAABmfwAAZsoAAGciAABnRQAAZ2kAAGeLAABnrQAAZ9AAAGfoAABoAQAAaG0AAGjZAABpXgAAacsAAGoQAABqYwAAaooAAGqoAABqxgAAawAAAGs2AABrbAAAa9UAAGyiAABsugAAbSkAAG2dAABuJAAAbqcAAG88AABv6QAAcH0AAHD7AABxLwAAcZgAAHHHAAByCgAAcjwAAHJ1AABytwAAczIAAHN/AABz9QAAdDkAAHR8AAB1egAAdcEAAHcZAAB3WAAAd4UAAHfXAAB4GwAAeFMAAHhhAAB4lQAAeREAAHm8AAB6ZQAAeqUAAHs6AAB7tAAAfRIAAH1tAAB98gAAfmcAAH7bAAB/OgAAf60AAIAqAACAqwAAgREAAIF6AACBmAAAggYAAIJTAACCngAAgvoAAINWAACDpQAAhBoAAIR5AACEtQAAhPAAAIVqAACF+wAAhnIAAIbUAACHBgAAh3wAAIe7AACIHgAAiJYAAIkOAACJnAAAifEAAIo0AACKdgAAiv4AAIt7AACL/wAAjGwAAIzZAACNXwAAjeMAAI4QAACOPAAAjmkAAI6VAACOvQAAj1IAAI+vAACQGQAAkGwAAJC/AACRNwAAkcQAAJILAACSVAAAkr4AAJMoAACTfAAAk6MAAJPkAACUEgAAlEAAAJR9AACUtwAAlPEAAJU/AACV3gAAli4AAJaFAACW4AAAlyQAAJeuAACYGQAAmKcAAJkMAACZsAAAmjIAAJqoAACbKgAAm7YAAJw2AACcUAAAnLAAAJ1GAACd9AAAnokAAJ8IAACfaQAAn44AAJ/NAACf2QAAoGoAAKDaAAChXgAAoewAAKKGAACi/gAAo4wAAKP5AABAAABvgKPAA0AAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEACQAAAAEAAAAAAAIABwByAAEAAAAAAAMACQA8AAEAAAAAAAQACQCHAAEAAAAAAAUACwAbAAEAAAAAAAYACQBXAAEAAAAAAAoAGgCiAAMAAQQJAAEAEgAJAAMAAQQJAAIADgB5AAMAAQQJAAMAEgBFAAMAAQQJAAQAEgCQAAMAAQQJAAUAFgAmAAMAAQQJAAYAEgBgAAMAAQQJAAoANAC8Q29vbGljb25zAEMAbwBvAGwAaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwQ29vbGljb25zAEMAbwBvAGwAaQBjAG8AbgBzQ29vbGljb25zAEMAbwBvAGwAaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByQ29vbGljb25zAEMAbwBvAGwAaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==)\n format(\'woff\');font-weight:normal;font-style:normal;font-display:block}i.coolicons{font-family:\'coolicons\' !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ci-add_column:before{content:"\\e900"}.ci-add_minus_square:before{content:"\\e901"}.ci-add_plus_circle:before{content:"\\e902"}.ci-add_plus_square:before{content:"\\e903"}.ci-add_plus:before{content:"\\e904"}.ci-add_row:before{content:"\\e905"}.ci-add_to_queue:before{content:"\\e906"}.ci-airplay:before{content:"\\e907"}.ci-alarm:before{content:"\\e908"}.ci-archive:before{content:"\\e909"}.ci-arrow_circle_down_left:before{content:"\\e90a"}.ci-arrow_circle_down_right:before{content:"\\e90b"}.ci-arrow_circle_down:before{content:"\\e90c"}.ci-arrow_circle_left:before{content:"\\e90d"}.ci-arrow_circle_right:before{content:"\\e90e"}.ci-arrow_circle_up_left:before{content:"\\e90f"}.ci-arrow_circle_up_right:before{content:"\\e910"}.ci-arrow_circle_up:before{content:"\\e911"}.ci-arrow_down_left_lg:before{content:"\\e912"}.ci-arrow_down_left_md:before{content:"\\e913"}.ci-arrow_down_left_sm:before{content:"\\e914"}.ci-arrow_down_lg:before{content:"\\e915"}.ci-arrow_down_md:before{content:"\\e916"}.ci-arrow_down_right_lg:before{content:"\\e917"}.ci-arrow_down_right_md:before{content:"\\e918"}.ci-arrow_down_right_sm:before{content:"\\e919"}.ci-arrow_down_sm:before{content:"\\e91a"}.ci-arrow_down_up:before{content:"\\e91b"}.ci-arrow_left_lg:before{content:"\\e91c"}.ci-arrow_left_md:before{content:"\\e91d"}.ci-arrow_left_right:before{content:"\\e91e"}.ci-arrow_left_sm:before{content:"\\e91f"}.ci-arrow_reload_02:before{content:"\\e920"}.ci-arrow_right_lg:before{content:"\\e921"}.ci-arrow_right_md:before{content:"\\e922"}.ci-arrow_right_sm:before{content:"\\e923"}.ci-arrow_sub_down_left:before{content:"\\e924"}.ci-arrow_sub_down_right:before{content:"\\e925"}.ci-arrow_sub_left_down:before{content:"\\e926"}.ci-arrow_sub_left_up:before{content:"\\e927"}.ci-arrow_sub_right_down:before{content:"\\e928"}.ci-arrow_sub_right_up:before{content:"\\e929"}.ci-arrow_sub_up_left:before{content:"\\e92a"}.ci-arrow_sub_up_right:before{content:"\\e92b"}.ci-arrow_undo_down_left:before{content:"\\e92c"}.ci-arrow_undo_down_right:before{content:"\\e92d"}.ci-arrow_undo_up_left:before{content:"\\e92e"}.ci-arrow_undo_up_right:before{content:"\\e92f"}.ci-arrow_up_left_lg:before{content:"\\e930"}.ci-arrow_up_left_md:before{content:"\\e931"}.ci-arrow_up_left_sm:before{content:"\\e932"}.ci-arrow_up_lg:before{content:"\\e933"}.ci-arrow_up_md:before{content:"\\e934"}.ci-arrow_up_right_lg:before{content:"\\e935"}.ci-arrow_up_right_md:before{content:"\\e936"}.ci-arrow_up_right_sm:before{content:"\\e937"}.ci-arrow_up_sm:before{content:"\\e938"}.ci-arrows_reload_01:before{content:"\\e939"}.ci-bar_bottom:before{content:"\\e93a"}.ci-bar_left:before{content:"\\e93b"}.ci-bar_right:before{content:"\\e93c"}.ci-bar_top:before{content:"\\e93d"}.ci-bell_add:before{content:"\\e93e"}.ci-bell_close:before{content:"\\e93f"}.ci-bell_notification:before{content:"\\e940"}.ci-bell_off:before{content:"\\e941"}.ci-bell_remove:before{content:"\\e942"}.ci-bell_ring:before{content:"\\e943"}.ci-bell:before{content:"\\e944"}.ci-bold:before{content:"\\e945"}.ci-book_open:before{content:"\\e946"}.ci-book:before{content:"\\e947"}.ci-bookmark:before{content:"\\e948"}.ci-building_01:before{content:"\\e949"}.ci-building_02:before{content:"\\e94a"}.ci-building_03:before{content:"\\e94b"}.ci-building_04:before{content:"\\e94c"}.ci-bulb:before{content:"\\e94d"}.ci-calendar_add:before{content:"\\e94e"}.ci-calendar_check:before{content:"\\e94f"}.ci-calendar_close:before{content:"\\e950"}.ci-calendar_days:before{content:"\\e951"}.ci-calendar_event:before{content:"\\e952"}.ci-calendar_remove:before{content:"\\e953"}.ci-calendar_week:before{content:"\\e954"}.ci-calendar:before{content:"\\e955"}.ci-camera:before{content:"\\e956"}.ci-car_auto:before{content:"\\e957"}.ci-caret_circle_down:before{content:"\\e958"}.ci-caret_circle_left:before{content:"\\e959"}.ci-caret_circle_right:before{content:"\\e95a"}.ci-caret_circle_up:before{content:"\\e95b"}.ci-caret_down_md:before{content:"\\e95c"}.ci-caret_down_sm:before{content:"\\e95d"}.ci-caret_left_sm:before{content:"\\e95e"}.ci-caret_right_sm:before{content:"\\e95f"}.ci-caret_up_md:before{content:"\\e960"}.ci-caret_up_sm:before{content:"\\e961"}.ci-chart_bar_horizontal_01:before{content:"\\e962"}.ci-chart_bar_vertical_01:before{content:"\\e963"}.ci-chart_line:before{content:"\\e964"}.ci-chart_pie:before{content:"\\e965"}.ci-chat_add:before{content:"\\e966"}.ci-chat_check:before{content:"\\e967"}.ci-chat_circle_add:before{content:"\\e968"}.ci-chat_circle_check:before{content:"\\e969"}.ci-chat_circle_close:before{content:"\\e96a"}.ci-chat_circle_dots:before{content:"\\e96b"}.ci-chat_circle_remove:before{content:"\\e96c"}.ci-chat_circle:before{content:"\\e96d"}.ci-chat_close:before{content:"\\e96e"}.ci-chat_conversation_circle:before{content:"\\e96f"}.ci-chat_conversation:before{content:"\\e970"}.ci-chat_dots:before{content:"\\e971"}.ci-chat_remove:before{content:"\\e972"}.ci-chat:before{content:"\\e973"}.ci-check_all_big:before{content:"\\e974"}.ci-check_all:before{content:"\\e975"}.ci-check_big:before{content:"\\e976"}.ci-check:before{content:"\\e977"}.ci-checkbox_check:before{content:"\\e978"}.ci-checkbox_fill:before{content:"\\e979"}.ci-checkbox_unchecked:before{content:"\\e97a"}.ci-chevron_down_duo:before{content:"\\e97b"}.ci-chevron_down:before{content:"\\e97c"}.ci-chevron_left_duo:before{content:"\\e97d"}.ci-chevron_left_md:before{content:"\\e97e"}.ci-chevron_left:before{content:"\\e97f"}.ci-chevron_right_duo:before{content:"\\e980"}.ci-chevron_right_md:before{content:"\\e981"}.ci-chevron_right:before{content:"\\e982"}.ci-chevron_up_duo:before{content:"\\e983"}.ci-chevron_up:before{content:"\\e984"}.ci-chromecast:before{content:"\\e985"}.ci-circle_check:before{content:"\\e986"}.ci-circle_help:before{content:"\\e987"}.ci-circle_warning:before{content:"\\e988"}.ci-circle:before{content:"\\e989"}.ci-clock:before{content:"\\e98a"}.ci-close_circle:before{content:"\\e98b"}.ci-close_lg:before{content:"\\e98c"}.ci-close_md:before{content:"\\e98d"}.ci-close_sm:before{content:"\\e98e"}.ci-close_square:before{content:"\\e98f"}.ci-cloud_add:before{content:"\\e990"}.ci-cloud_check:before{content:"\\e991"}.ci-cloud_close:before{content:"\\e992"}.ci-cloud_download:before{content:"\\e993"}.ci-cloud_off:before{content:"\\e994"}.ci-cloud_remove:before{content:"\\e995"}.ci-cloud_upload:before{content:"\\e996"}.ci-cloud:before{content:"\\e997"}.ci-code:before{content:"\\e998"}.ci-coffe_to_go:before{content:"\\e999"}.ci-coffee:before{content:"\\e99a"}.ci-columns:before{content:"\\e99b"}.ci-combine_cells:before{content:"\\e99c"}.ci-command:before{content:"\\e99d"}.ci-compass:before{content:"\\e99e"}.ci-cookie:before{content:"\\e99f"}.ci-copy:before{content:"\\e9a0"}.ci-credit_card_01:before{content:"\\e9a1"}.ci-credit_card_02:before{content:"\\e9a2"}.ci-crop:before{content:"\\e9a3"}.ci-cupcake:before{content:"\\e9a4"}.ci-cylinder:before{content:"\\e9a5"}.ci-data:before{content:"\\e9a6"}.ci-delete_column:before{content:"\\e9a7"}.ci-delete_row:before{content:"\\e9a8"}.ci-desktop_tower:before{content:"\\e9a9"}.ci-desktop:before{content:"\\e9aa"}.ci-devices:before{content:"\\e9ab"}.ci-double_quotes_l:before{content:"\\e9ac"}.ci-double_quotes_r:before{content:"\\e9ad"}.ci-download_package:before{content:"\\e9ae"}.ci-download:before{content:"\\e9af"}.ci-drag_horizontal:before{content:"\\e9b0"}.ci-drag_vertical:before{content:"\\e9b1"}.ci-dummy_circle_small:before{content:"\\e9b2"}.ci-dummy_circle:before{content:"\\e9b3"}.ci-dummy_square_small:before{content:"\\e9b4"}.ci-dummy_square:before{content:"\\e9b5"}.ci-edit_pencil_01:before{content:"\\e9b6"}.ci-edit_pencil_02:before{content:"\\e9b7"}.ci-edit_pencil_line_01:before{content:"\\e9b8"}.ci-edit_pencil_line_02:before{content:"\\e9b9"}.ci-exit:before{content:"\\e9ba"}.ci-expand:before{content:"\\e9bb"}.ci-external_link:before{content:"\\e9bc"}.ci-figma:before{content:"\\e9bd"}.ci-file_add:before{content:"\\e9be"}.ci-file_blank:before{content:"\\e9bf"}.ci-file_check:before{content:"\\e9c0"}.ci-file_close:before{content:"\\e9c1"}.ci-file_code:before{content:"\\e9c2"}.ci-file_document:before{content:"\\e9c3"}.ci-file_download:before{content:"\\e9c4"}.ci-file_edit:before{content:"\\e9c5"}.ci-file_remove:before{content:"\\e9c6"}.ci-file_search:before{content:"\\e9c7"}.ci-file_upload:before{content:"\\e9c8"}.ci-files:before{content:"\\e9c9"}.ci-filter_off:before{content:"\\e9ca"}.ci-filter:before{content:"\\e9cb"}.ci-first_aid:before{content:"\\e9cc"}.ci-flag:before{content:"\\e9cd"}.ci-folder_add:before{content:"\\e9ce"}.ci-folder_check:before{content:"\\e9cf"}.ci-folder_close:before{content:"\\e9d0"}.ci-folder_code:before{content:"\\e9d1"}.ci-folder_document:before{content:"\\e9d2"}.ci-folder_download:before{content:"\\e9d3"}.ci-folder_edit:before{content:"\\e9d4"}.ci-folder_open:before{content:"\\e9d5"}.ci-folder_remove:before{content:"\\e9d6"}.ci-folder_search:before{content:"\\e9d7"}.ci-folder_upload:before{content:"\\e9d8"}.ci-folder:before{content:"\\e9d9"}.ci-folders:before{content:"\\e9da"}.ci-font:before{content:"\\e9db"}.ci-forward:before{content:"\\e9dc"}.ci-gift:before{content:"\\e9dd"}.ci-globe:before{content:"\\e9de"}.ci-hamburger_lg:before{content:"\\e9df"}.ci-hamburger_md:before{content:"\\e9e0"}.ci-handbag:before{content:"\\e9e1"}.ci-heading_h1:before{content:"\\e9e2"}.ci-heading_h2:before{content:"\\e9e3"}.ci-heading_h3:before{content:"\\e9e4"}.ci-heading_h4:before{content:"\\e9e5"}.ci-heading_h5:before{content:"\\e9e6"}.ci-heading_h6:before{content:"\\e9e7"}.ci-heading:before{content:"\\e9e8"}.ci-headphones:before{content:"\\e9e9"}.ci-heart_01:before{content:"\\e9ea"}.ci-heart_02:before{content:"\\e9eb"}.ci-help:before{content:"\\e9ec"}.ci-hide:before{content:"\\e9ed"}.ci-house_01:before{content:"\\e9ee"}.ci-house_02:before{content:"\\e9ef"}.ci-house_03:before{content:"\\e9f0"}.ci-house_add:before{content:"\\e9f1"}.ci-house_check:before{content:"\\e9f2"}.ci-house_close:before{content:"\\e9f3"}.ci-house_remove:before{content:"\\e9f4"}.ci-image_01:before{content:"\\e9f5"}.ci-image_02:before{content:"\\e9f6"}.ci-info:before{content:"\\e9f7"}.ci-instance:before{content:"\\e9f8"}.ci-italic:before{content:"\\e9f9"}.ci-keyboard:before{content:"\\e9fa"}.ci-label:before{content:"\\e9fb"}.ci-laptop:before{content:"\\e9fc"}.ci-layer:before{content:"\\e9fd"}.ci-layers:before{content:"\\e9fe"}.ci-leaf:before{content:"\\e9ff"}.ci-line_l:before{content:"\\ea00"}.ci-line_m:before{content:"\\ea01"}.ci-line_s:before{content:"\\ea02"}.ci-line_xl:before{content:"\\ea03"}.ci-link_break:before{content:"\\ea04"}.ci-link_horizontal_off:before{content:"\\ea05"}.ci-link_horizontal:before{content:"\\ea06"}.ci-link_vertical:before{content:"\\ea07"}.ci-link:before{content:"\\ea08"}.ci-list_add:before{content:"\\ea09"}.ci-list_check:before{content:"\\ea0a"}.ci-list_checklist:before{content:"\\ea0b"}.ci-list_ordered:before{content:"\\ea0c"}.ci-list_remove:before{content:"\\ea0d"}.ci-list_unordered:before{content:"\\ea0e"}.ci-loading:before{content:"\\ea0f"}.ci-lock_open:before{content:"\\ea10"}.ci-lock:before{content:"\\ea11"}.ci-log_out:before{content:"\\ea12"}.ci-magnifying_glass_minus:before{content:"\\ea13"}.ci-magnifying_glass_plus:before{content:"\\ea14"}.ci-mail_open:before{content:"\\ea15"}.ci-mail:before{content:"\\ea16"}.ci-main_component:before{content:"\\ea17"}.ci-map_pin:before{content:"\\ea18"}.ci-map:before{content:"\\ea19"}.ci-mention:before{content:"\\ea1a"}.ci-menu_alt_01:before{content:"\\ea1b"}.ci-menu_alt_02:before{content:"\\ea1c"}.ci-menu_alt_03:before{content:"\\ea1d"}.ci-menu_alt_04:before{content:"\\ea1e"}.ci-menu_alt_05:before{content:"\\ea1f"}.ci-menu_duo_lg:before{content:"\\ea20"}.ci-menu_duo_md:before{content:"\\ea21"}.ci-mobile_button:before{content:"\\ea22"}.ci-mobile:before{content:"\\ea23"}.ci-monitor_play:before{content:"\\ea24"}.ci-monitor:before{content:"\\ea25"}.ci-moon:before{content:"\\ea26"}.ci-more_grid_big:before{content:"\\ea27"}.ci-more_grid_small:before{content:"\\ea28"}.ci-more_horizontal:before{content:"\\ea29"}.ci-more_vertical:before{content:"\\ea2a"}.ci-mouse:before{content:"\\ea2b"}.ci-move_horizontal:before{content:"\\ea2c"}.ci-move_vertical:before{content:"\\ea2d"}.ci-move:before{content:"\\ea2e"}.ci-moving_desk:before{content:"\\ea2f"}.ci-navigation:before{content:"\\ea30"}.ci-note_edit:before{content:"\\ea31"}.ci-note_search:before{content:"\\ea32"}.ci-note:before{content:"\\ea33"}.ci-notebook:before{content:"\\ea34"}.ci-octagon_check:before{content:"\\ea35"}.ci-octagon_help:before{content:"\\ea36"}.ci-octagon_warning:before{content:"\\ea37"}.ci-octagon:before{content:"\\ea38"}.ci-option:before{content:"\\ea39"}.ci-paper_plane:before{content:"\\ea3a"}.ci-paperclip_attechment_horizontal:before{content:"\\ea3b"}.ci-paperclip_attechment_tilt:before{content:"\\ea3c"}.ci-paragraph:before{content:"\\ea3d"}.ci-path:before{content:"\\ea3e"}.ci-pause_circle:before{content:"\\ea3f"}.ci-pause:before{content:"\\ea40"}.ci-phone:before{content:"\\ea41"}.ci-planet:before{content:"\\ea42"}.ci-play_circle:before{content:"\\ea43"}.ci-play:before{content:"\\ea44"}.ci-printer:before{content:"\\ea45"}.ci-puzzle:before{content:"\\ea46"}.ci-qr_code:before{content:"\\ea47"}.ci-radio_fill:before{content:"\\ea48"}.ci-radio_unchecked:before{content:"\\ea49"}.ci-rainbow:before{content:"\\ea4a"}.ci-redo:before{content:"\\ea4b"}.ci-remove_minus_circle:before{content:"\\ea4c"}.ci-remove_minus:before{content:"\\ea4d"}.ci-rewind:before{content:"\\ea4e"}.ci-rows:before{content:"\\ea4f"}.ci-ruler:before{content:"\\ea50"}.ci-save:before{content:"\\ea51"}.ci-search_magnifying_glass:before{content:"\\ea52"}.ci-select_multiple:before{content:"\\ea53"}.ci-settings_future:before{content:"\\ea54"}.ci-settings:before{content:"\\ea55"}.ci-share_android:before{content:"\\ea56"}.ci-share_ios_export:before{content:"\\ea57"}.ci-shield_check:before{content:"\\ea58"}.ci-shield_warning:before{content:"\\ea59"}.ci-shield:before{content:"\\ea5a"}.ci-shopping_bag_01:before{content:"\\ea5b"}.ci-shopping_bag_02:before{content:"\\ea5c"}.ci-shopping_cart_01:before{content:"\\ea5d"}.ci-shopping_cart_02:before{content:"\\ea5e"}.ci-show:before{content:"\\ea5f"}.ci-shrink:before{content:"\\ea60"}.ci-shuffle:before{content:"\\ea61"}.ci-single_quotes_l:before{content:"\\ea62"}.ci-single_quotes_r:before{content:"\\ea63"}.ci-skip_back:before{content:"\\ea64"}.ci-skip_forward:before{content:"\\ea65"}.ci-slider_01:before{content:"\\ea66"}.ci-slider_02:before{content:"\\ea67"}.ci-slider_03:before{content:"\\ea68"}.ci-sort_ascending:before{content:"\\ea69"}.ci-sort_descending:before{content:"\\ea6a"}.ci-square_check:before{content:"\\ea6b"}.ci-square_help:before{content:"\\ea6c"}.ci-square_warning:before{content:"\\ea6d"}.ci-square:before{content:"\\ea6e"}.ci-star:before{content:"\\ea6f"}.ci-stop_circle:before{content:"\\ea70"}.ci-stop_sign:before{content:"\\ea71"}.ci-stop:before{content:"\\ea72"}.ci-strikethrough:before{content:"\\ea73"}.ci-suitcase:before{content:"\\ea74"}.ci-sun:before{content:"\\ea75"}.ci-swatches_palette:before{content:"\\ea76"}.ci-swicht_left:before{content:"\\ea77"}.ci-swicht_right:before{content:"\\ea78"}.ci-table_add:before{content:"\\ea79"}.ci-table_remove:before{content:"\\ea7a"}.ci-table:before{content:"\\ea7b"}.ci-tablet_button:before{content:"\\ea7c"}.ci-tablet:before{content:"\\ea7d"}.ci-tag:before{content:"\\ea7e"}.ci-terminal:before{content:"\\ea7f"}.ci-text_align_center:before{content:"\\ea80"}.ci-text_align_justify:before{content:"\\ea81"}.ci-text_align_left:before{content:"\\ea82"}.ci-text_align_right:before{content:"\\ea83"}.ci-text:before{content:"\\ea84"}.ci-ticket_voucher:before{content:"\\ea85"}.ci-timer_add:before{content:"\\ea86"}.ci-timer_close:before{content:"\\ea87"}.ci-timer_remove:before{content:"\\ea88"}.ci-timer:before{content:"\\ea89"}.ci-trash_empty:before{content:"\\ea8a"}.ci-trash_full:before{content:"\\ea8b"}.ci-trending_down:before{content:"\\ea8c"}.ci-trending_up:before{content:"\\ea8d"}.ci-triangle_check:before{content:"\\ea8e"}.ci-triangle_warning:before{content:"\\ea8f"}.ci-triangle:before{content:"\\ea90"}.ci-underline:before{content:"\\ea91"}.ci-undo:before{content:"\\ea92"}.ci-unfold_less:before{content:"\\ea93"}.ci-unfold_more:before{content:"\\ea94"}.ci-user_01:before{content:"\\ea95"}.ci-user_02:before{content:"\\ea96"}.ci-user_03:before{content:"\\ea97"}.ci-user_add:before{content:"\\ea98"}.ci-user_card_id:before{content:"\\ea99"}.ci-user_check:before{content:"\\ea9a"}.ci-user_circle:before{content:"\\ea9b"}.ci-user_close:before{content:"\\ea9c"}.ci-user_remove:before{content:"\\ea9d"}.ci-user_square:before{content:"\\ea9e"}.ci-user_voice:before{content:"\\ea9f"}.ci-users_group:before{content:"\\eaa0"}.ci-users:before{content:"\\eaa1"}.ci-volume_max:before{content:"\\eaa2"}.ci-volume_min:before{content:"\\eaa3"}.ci-volume_minus:before{content:"\\eaa4"}.ci-volume_off_02:before{content:"\\eaa5"}.ci-volume_off:before{content:"\\eaa6"}.ci-volume_plus:before{content:"\\eaa7"}.ci-warning:before{content:"\\eaa8"}.ci-water_drop:before{content:"\\eaa9"}.ci-wavy_check:before{content:"\\eaaa"}.ci-wavy_help:before{content:"\\eaab"}.ci-wavy_warning:before{content:"\\eaac"}.ci-wavy:before{content:"\\eaad"}.ci-wifi_high:before{content:"\\eaae"}.ci-wifi_low:before{content:"\\eaaf"}.ci-wifi_medium:before{content:"\\eab0"}.ci-wifi_none:before{content:"\\eab1"}.ci-wifi_off:before{content:"\\eab2"}.ci-wifi_problem:before{content:"\\eab3"}.ci-window_check:before{content:"\\eab4"}.ci-window_close:before{content:"\\eab5"}.ci-window_code_block:before{content:"\\eab6"}.ci-window_sidebar:before{content:"\\eab7"}.ci-window_terminal:before{content:"\\eab8"}.ci-window:before{content:"\\eab9"}zen-editor-menu-item .menu-item{background-color:transparent;border:none;border-radius:2px;color:#525252;height:1.75em;margin-right:0.25em;padding:0.25em;min-width:1.75em;cursor:pointer}zen-editor-menu-item .menu-item i{font-size:1.25em}zen-editor-menu-item .menu-item.flip-h{transform:scaleX(-1)}zen-editor-menu-item .menu-item.flip-v{transform:scaleY(-1)}zen-editor-menu-item .menu-item.is-disabled{opacity:0.5;cursor:unset}zen-editor-menu-item .menu-item.is-disabled:hover{background-color:transparent;color:#525252}zen-editor-menu-item .menu-item:hover,zen-editor-menu-item .menu-item.is-active{background-color:#525252;color:#fff}zen-editor-menu-item .menu-item.has-submenu+.menu-item>i.ci-caret_down_sm{margin:0 -0.25em}zen-editor-menu-item .menu-item.has-submenu{margin-right:0}zen-editor-menu-item .menu-item.has-submenu:hover{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item .menu-item.has-submenu+.menu-item{border-radius:0 0.4em 0.4em 0;margin-left:0;padding:0.25em 0;min-width:0.75em}zen-editor-menu-item .menu-item i.color-crimson{color:crimson}zen-editor-menu-item .menu-item i.color-deeppink{color:deeppink}zen-editor-menu-item .menu-item i.color-darkorange{color:darkorange}zen-editor-menu-item .menu-item i.color-darkviolet{color:darkviolet}zen-editor-menu-item .menu-item i.color-forestgreen{color:forestgreen}zen-editor-menu-item .menu-item i.color-royalblue{color:royalblue}zen-editor-menu-item .menu-item i.color-saddlebrown{color:saddlebrown}zen-editor-menu-item .menu-item i.color-dimgray{color:dimgray}zen-editor-menu-item .menu-item:has(.color):hover,zen-editor-menu-item .menu-item:has(.color).is-active{background-color:transparent;box-shadow:inset 0 0 0 1px #525252}zen-editor-menu-item:hover .menu-item.has-submenu{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item:last-of-type .menu-item{margin-right:0}';const Yk=class{constructor(t){e(this,t),this.editor=void 0,this.menubarMode=void 0,this.extraMenubarItems="",this.forceUpdateCounter=void 0,this.states=void 0,this.toggleMonaco=void 0,this.toggleFullscreen=void 0,this.styles=void 0}componentDidLoad(){Boolean(this.styles&&this.element.shadowRoot)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}getMonacoToggler(){return[[{icon:"ci-edit_pencil_line_01",title:$.getString("menu.source"),action:()=>{var e;return null===(e=this.toggleMonaco)||void 0===e?void 0:e.call(this)},isActive:()=>{var e;return null===(e=this.states)||void 0===e?void 0:e.isMonaco},isHidden:()=>{var e;return null===(e=this.states)||void 0===e?void 0:e.isCollaborative},menuModeLevel:Be.full}]]}getMenubarItems(e){return[...ge(e),[{icon:"ci-bar_top",title:$.getString("menu.fullscreen"),action:()=>{var e;return null===(e=this.toggleFullscreen)||void 0===e?void 0:e.call(this)},isActive:()=>{var e;return null===(e=this.states)||void 0===e?void 0:e.isFullscreen},isHidden:()=>!Boolean(this.toggleFullscreen)}],...this.getMonacoToggler()]}render(){const{editor:e,states:A}=this,{isMonaco:n}=A,i=(n?this.getMonacoToggler():this.getMenubarItems(e)).map((e=>{const A=e.map((e=>{const{isHidden:A,menuModeLevel:n}=e,i=function(e,t){var A={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(A[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);ithis.menubarMode?null:t("zen-editor-menu-item",{itemProps:Object.assign({},i),menubarMode:this.menubarMode})}));return Boolean(A.filter((e=>Boolean(e))).length)?t("div",{class:"menu-item-group"},A):null}));return t("div",{class:"menubar"},i,this.extraMenubarItems&&t("div",{className:"menu-item-group extra-menubar-items",innerHTML:this.extraMenubarItems}))}get element(){return A(this)}};Yk.style='.menubar{align-items:center;border-bottom:1px solid #a6a39e;display:flex;flex:0 0 auto;flex-wrap:wrap;padding:0.25em}.menu-item-group{margin-right:0.5em}.menu-item-group:not(:last-child):not(:has(+.extra-menubar-items))::after{content:"";display:inline-block;background-color:rgba(0, 0, 0, 0.1);height:1.25em;margin:0 -0.1em -0.1em 0.4em;width:1px}.menu-item-group:empty{display:none}';export{le as zen_editor_bubble_menu,Qe as zen_editor_content,Dk as zen_editor_core,Fk as zen_editor_menu_item,Yk as zen_editor_menubar} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-b96fce8c.js b/www/js/zui3/zen-editor/p-b96fce8c.js deleted file mode 100644 index f598869d48..0000000000 --- a/www/js/zui3/zen-editor/p-b96fce8c.js +++ /dev/null @@ -1,595 +0,0 @@ -import{r as t,f as i,h as e,F as s,g as n,c as o,H as r}from"./p-7900c24a.js";import{L as h}from"./p-986e5fe7.js";const c=class{constructor(i){t(this,i),i.$hostElement$["s-ei"]?this.internals=i.$hostElement$["s-ei"]:(this.internals=i.$hostElement$.attachInternals(),i.$hostElement$["s-ei"]=this.internals),this.lastValue="",this.updateInputValue=()=>{const t=this.markdown?this.editor.storage.markdown.getMarkdown():this.editor.getHTML().replace(/

<\/p>$/,"");this.value=t,this.jsonContent=this.editor.getJSON(),this.internals.setFormValue(t)},this.handleBlur=()=>{const{value:t="",lastValue:i=""}=this;i!==t&&(this.lastValue=t,this.element.dispatchEvent(new Event("change",{bubbles:!0})))},this.toggleFullscreen=()=>{Boolean(document.fullscreenElement)?document.exitFullscreen().then((()=>{})).catch((t=>{alert(h.format("error.fullscreen.exit",t.message,t.name))})):this.element.requestFullscreen().then((()=>{})).catch((t=>{alert(h.format("error.fullscreen.enter",t.message,t.name))}))},this.handleEditorDidLoad=t=>{this.editor=t.detail,this.updateInputValue(),this.lastValue=this.value},this.name="",this.readonly=!1,this.uploadUrl="",this.placeholder="",this.fullscreenable=!1,this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideUI=!1,this.hideMenubar=!1,this.menubarMode="full",this.slashMenu=!1,this.bubbleMenu=!1,this.preferHardBreak=!1,this.neglectDefaultTextStyle=!1,this.markdown=!1,this.initialContent="",this.locale=void 0,this.css=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.value=void 0,this.cssSrc=void 0,this.coreClass=null,this.contentClass=null,this.proseClass="article",this.editor=null,this.isFullscreen=!1,this.rendered=!1}onCssSrcChange(){const t=this.element.shadowRoot;if(t&&(this.cssLinkEl&&this.cssLinkEl.parentNode&&(this.cssLinkEl.parentNode.removeChild(this.cssLinkEl),this.cssLinkEl=void 0),this.cssSrc)){const i=document.createElement("link");i.rel="stylesheet",i.href=this.cssSrc,i.setAttribute("data-zen-editor-css",""),t.prepend(i),this.cssLinkEl=i}}setHTML(t,i=!0){if(i){const i=`${t}`,e=(new window.DOMParser).parseFromString(i,"text/html").body;e.querySelectorAll("br").forEach((t=>{t.remove()})),t=e.innerHTML}return this.editor.chain().setContent(t).run(),this.updateInputValue(),Promise.resolve()}insertHTML(t){return Promise.resolve(this.editor.chain().focus().insertContent(t).run())}getHTML(){return Promise.resolve(this.editor.getHTML())}getText(){return Promise.resolve(this.editor.getText())}focusEditor(){return Promise.resolve(this.editor.commands.focus())}blurEditor(){return Promise.resolve(this.editor.commands.blur())}setReadonly(t){return this.readonly=t,Promise.resolve(this.editor.setEditable(!t))}onCSSChange(){Boolean(this.css)&&(Boolean(this.styles)||(this.styles=new CSSStyleSheet),this.styles.replaceSync(this.css),i(this))}componentWillLoad(){Boolean(this.css)&&(this.styles=new CSSStyleSheet,this.styles.replaceSync(this.css))}componentDidRender(){this.rendered||(this.rendered=!0)}componentDidLoad(){Boolean(this.styles&&this.element.shadowRoot)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles]),this.element.addEventListener("fullscreenchange",(()=>{this.isFullscreen=Boolean(document.fullscreenElement)})),this.onCssSrcChange()}render(){var t,i,n,o;return"full"===this.size&&(this.resizable=!1),e(s,{key:"4c2e5b8751894975535c23b7b13ae0860feda010"},Boolean(this.editor)?null:e("div",{class:`editor-skeleton ${this.size}`}),this.rendered&&e("zen-editor-core",{key:"c4c65008584440ac50f8c3052af66acc98c8f24d",class:this.coreClass,contentClass:this.contentClass,proseClass:this.proseClass,name:this.name,readonly:this.readonly,uploadUrl:this.uploadUrl,placeholder:this.placeholder,resizable:this.resizable,exposeEditor:this.exposeEditor,size:this.size,hideUI:this.hideUI,hideMenubar:this.hideMenubar,menubarMode:this.menubarMode,slashMenu:this.slashMenu,bubbleMenu:this.bubbleMenu,preferHardBreak:this.preferHardBreak,neglectDefaultTextStyle:this.neglectDefaultTextStyle,markdown:this.markdown,locale:this.locale,collaborative:this.collaborative,hocuspocus:this.hocuspocus,docName:this.docName,username:this.username,userColor:this.userColor,updateInputValue:this.updateInputValue,toggleFullscreen:this.toggleFullscreen,fullscreenable:this.fullscreenable,isFullscreen:this.isFullscreen,onEditorDidLoad:this.handleEditorDidLoad,styles:this.styles,cssSrc:this.cssSrc,initialContent:null!==(i=null===(t=this.element.querySelector('[slot="content"]'))||void 0===t?void 0:t.innerHTML)&&void 0!==i?i:this.initialContent,extraMenubarItems:null===(n=this.element.querySelector('[slot="menubar-items"]'))||void 0===n?void 0:n.innerHTML,value:null!==(o=this.jsonContent)&&void 0!==o?o:this.value,style:{display:Boolean(this.editor)?"block":"none",height:"auto"!==this.size||this.isFullscreen?"100%":void 0},onBlur:this.handleBlur}))}static get formAssociated(){return!0}get element(){return n(this)}static get watchers(){return{cssSrc:["onCssSrcChange"],css:["onCSSChange"]}}};function a(t,i=0){return t[t.length-(1+i)]}function l(t,i,e=((t,i)=>t===i)){if(t===i)return!0;if(!t||!i)return!1;if(t.length!==i.length)return!1;for(let s=0,n=t.length;s0))return s;o=s-1}}return-(n+1)}(t.length)}function d(t,i,e){if((t|=0)>=i.length)throw new TypeError("invalid index");const s=i[Math.floor(i.length*Math.random())],n=[],o=[],r=[];for(const t of i){const i=e(t,s);i<0?n.push(t):i>0?o.push(t):r.push(t)}return t!!t))}function w(t){let i=0;for(let e=0;e0}function y(t,i=(t=>t)){const e=new Set;return t.filter((t=>{const s=i(t);return!e.has(s)&&(e.add(s),!0)}))}function k(t,i){return t.length>0?t[0]:i}function x(t,i){let e="number"==typeof i?t:0;"number"==typeof i?e=t:(e=0,i=t);const s=[];if(e<=i)for(let t=e;ti;t--)s.push(t);return s}function C(t,i,e){const s=t.slice(0,i),n=t.slice(i);return s.concat(e,n)}function S(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.unshift(i))}function D(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.push(i))}function E(t,i){for(const e of i)t.push(e)}function A(t){return Array.isArray(t)?t:[t]}function M(t,i,e,s){const n=L(t,i);let o=t.splice(n,e);return void 0===o&&(o=[]),function(t,i,e){const s=L(t,i),n=t.length,o=e.length;t.length=n+o;for(let i=n-1;i>=s;i--)t[i+o]=t[i];for(let i=0;ii(t(e),t(s))}c.style=".editor-skeleton{background-color:#f3f3f3;border:1px solid #e6e6e6;border-radius:0.25em;animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}.editor-skeleton.sm{height:9em}.editor-skeleton.lg{height:16em}.editor-skeleton.full{height:100%}",function(t){t.isLessThan=function(t){return t<0},t.isLessThanOrEqual=function(t){return t<=0},t.isGreaterThan=function(t){return t>0},t.isNeitherLessOrGreaterThan=function(t){return 0===t},t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0}(F||(F={}));const R=(t,i)=>t-i,O=(t,i)=>R(t?1:0,i?1:0);function I(t){return(i,e)=>-t(i,e)}class _{constructor(t){this.items=t,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(t){let i=this.firstIdx;for(;i=0&&t(this.items[i]);)i--;const e=i===this.lastIdx?null:this.items.slice(i+1,this.lastIdx+1);return this.lastIdx=i,e}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const t=this.items[this.firstIdx];return this.firstIdx++,t}takeCount(t){const i=this.items.slice(this.firstIdx,this.firstIdx+t);return this.firstIdx+=t,i}}class N{constructor(t){this.iterate=t}toArray(){const t=[];return this.iterate((i=>(t.push(i),!0))),t}filter(t){return new N((i=>this.iterate((e=>!t(e)||i(e)))))}map(t){return new N((i=>this.iterate((e=>i(t(e))))))}findLast(t){let i;return this.iterate((e=>(t(e)&&(i=e),!0))),i}findLastMaxBy(t){let i,e=!0;return this.iterate((s=>((e||F.isGreaterThan(t(s,i)))&&(e=!1,i=s),!0))),i}}function B(t){return"string"==typeof t}function P(t){return!("object"!=typeof t||null===t||Array.isArray(t)||t instanceof RegExp||t instanceof Date)}function $(t){const i=Object.getPrototypeOf(Uint8Array);return"object"==typeof t&&t instanceof i}function W(t){return"number"==typeof t&&!isNaN(t)}function j(t){return!!t&&"function"==typeof t[Symbol.iterator]}function z(t){return!0===t||!1===t}function H(t){return void 0===t}function V(t){return!U(t)}function U(t){return H(t)||null===t}function q(t,i){if(!t)throw new Error(i?`Unexpected type, expected '${i}'`:"Unexpected type")}function K(t){if(U(t))throw new Error("Assertion Failed: argument is undefined or null");return t}function G(t){return"function"==typeof t}function Z(t,i){if(B(i)){if(typeof t!==i)throw new Error(`argument does not match constraint: typeof ${i}`)}else if(G(i)){try{if(t instanceof i)return}catch(t){}if(!U(t)&&t.constructor===i)return;if(1===i.length&&!0===i.call(void 0,t))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function Q(t){if(!t||"object"!=typeof t)return t;if(t instanceof RegExp)return t;const i=Array.isArray(t)?[]:{};return Object.entries(t).forEach((([t,e])=>{i[t]=e&&"object"==typeof e?Q(e):e})),i}N.empty=new N((()=>{}));const J=Object.prototype.hasOwnProperty;function Y(t,i){return X(t,i,new Set)}function X(t,i,e){if(U(t))return t;const s=i(t);if(void 0!==s)return s;if(Array.isArray(t)){const s=[];for(const n of t)s.push(X(n,i,e));return s}if(P(t)){if(e.has(t))throw new Error("Cannot clone recursive data-structure");e.add(t);const s={};for(const n in t)J.call(t,n)&&(s[n]=X(t[n],i,e));return e.delete(t),s}return t}function tt(t,i,e=!0){return P(t)?(P(i)&&Object.keys(i).forEach((s=>{s in t?e&&(P(t[s])&&P(i[s])?tt(t[s],i[s],e):t[s]=i[s]):t[s]=i[s]})),t):i}function it(t,i){if(t===i)return!0;if(null==t||null==i)return!1;if(typeof t!=typeof i)return!1;if("object"!=typeof t)return!1;if(Array.isArray(t)!==Array.isArray(i))return!1;let e,s;if(Array.isArray(t)){if(t.length!==i.length)return!1;for(e=0;e=0;function nt(t,i){let e;return e=0===i.length?t:t.replace(/\{(\d+)\}/g,((t,e)=>{const s=i[e[0]];let n=t;return"string"==typeof s?n=s:"number"!=typeof s&&"boolean"!=typeof s&&null!=s||(n=String(s)),n})),st&&(e="["+e.replace(/[aouei]/g,"$&$&")+"]"),e}function ot(t,i,...e){return nt(i,e)}function rt(t,i,...e){const s=nt(i,e);return{value:s,original:s}}var ht;const ct="en";let at,lt,ut=!1,dt=!1,ft=!1,pt=!1,gt=!1,mt=!1,wt=!1,vt=ct;const bt=globalThis;let yt;void 0!==bt.vscode&&void 0!==bt.vscode.process?yt=bt.vscode.process:"undefined"!=typeof process&&(yt=process);const kt="string"==typeof(null===(ht=null==yt?void 0:yt.versions)||void 0===ht?void 0:ht.electron);if("object"!=typeof navigator||kt&&"renderer"===(null==yt?void 0:yt.type))if("object"==typeof yt){ut="win32"===yt.platform,dt="darwin"===yt.platform,ft="linux"===yt.platform,at=ct,vt=ct;const t=yt.env.VSCODE_NLS_CONFIG;if(t)try{const i=JSON.parse(t);at=i.locale,vt=i.availableLanguages["*"]||ct}catch(t){}pt=!0}else console.error("Unable to resolve platform.");else lt=navigator.userAgent,ut=lt.indexOf("Windows")>=0,dt=lt.indexOf("Macintosh")>=0,mt=(lt.indexOf("Macintosh")>=0||lt.indexOf("iPad")>=0||lt.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ft=lt.indexOf("Linux")>=0,wt=(null==lt?void 0:lt.indexOf("Mobi"))>=0,gt=!0,ot(0,"_"),at=ct,vt=at;const xt=ut,Ct=dt,St=ft,Dt=pt,Et=gt,At=gt&&"function"==typeof bt.importScripts?bt.origin:void 0,Mt=mt,Lt=wt,Ft=lt,Tt=vt,Rt="function"==typeof bt.postMessage&&!bt.importScripts,Ot=(()=>{if(Rt){const t=[];bt.addEventListener("message",(i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let e=0,s=t.length;e{const s=++i;t.push({id:s,callback:e}),bt.postMessage({vscodeScheduleAsyncWork:s},"*")}}return t=>setTimeout(t)})(),It=dt||mt?2:ut?1:3;let _t=!0,Nt=!1;function Bt(){if(!Nt){Nt=!0;const t=new Uint8Array(2);t[0]=1,t[1]=2;const i=new Uint16Array(t.buffer);_t=513===i[0]}return _t}const Pt=!!(Ft&&Ft.indexOf("Chrome")>=0),$t=!!(Ft&&Ft.indexOf("Firefox")>=0),Wt=!!(!Pt&&Ft&&Ft.indexOf("Safari")>=0),jt=!!(Ft&&Ft.indexOf("Edg/")>=0);Ft&&Ft.indexOf("Android");const zt={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Ht;!function(t){function i(t){return t&&"object"==typeof t&&"function"==typeof t[Symbol.iterator]}t.is=i;const e=Object.freeze([]);function*s(t){yield t}t.empty=function(){return e},t.single=s,t.wrap=function(t){return i(t)?t:s(t)},t.from=function(t){return t||e},t.reverse=function*(t){for(let i=t.length-1;i>=0;i--)yield t[i]},t.isEmpty=function(t){return!t||!0===t[Symbol.iterator]().next().done},t.first=function(t){return t[Symbol.iterator]().next().value},t.some=function(t,i){for(const e of t)if(i(e))return!0;return!1},t.find=function(t,i){for(const e of t)if(i(e))return e},t.filter=function*(t,i){for(const e of t)i(e)&&(yield e)},t.map=function*(t,i){let e=0;for(const s of t)yield i(s,e++)},t.concat=function*(...t){for(const i of t)yield*i},t.reduce=function(t,i,e){let s=e;for(const e of t)s=i(s,e);return s},t.slice=function*(t,i,e=t.length){for(i<0&&(i+=t.length),e<0?e+=t.length:e>t.length&&(e=t.length);in}]}}(Ht||(Ht={}));class Vt{constructor(t){this.element=t,this.next=Vt.Undefined,this.prev=Vt.Undefined}}Vt.Undefined=new Vt(void 0);class Ut{constructor(){this._first=Vt.Undefined,this._last=Vt.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Vt.Undefined}clear(){let t=this._first;for(;t!==Vt.Undefined;){const i=t.next;t.prev=Vt.Undefined,t.next=Vt.Undefined,t=i}this._first=Vt.Undefined,this._last=Vt.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,i){const e=new Vt(t);if(this._first===Vt.Undefined)this._first=e,this._last=e;else if(i){const t=this._last;this._last=e,e.prev=t,t.next=e}else{const t=this._first;this._first=e,e.next=t,t.prev=e}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(e))}}shift(){if(this._first!==Vt.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Vt.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==Vt.Undefined&&t.next!==Vt.Undefined){const i=t.prev;i.next=t.next,t.next.prev=i}else t.prev===Vt.Undefined&&t.next===Vt.Undefined?(this._first=Vt.Undefined,this._last=Vt.Undefined):t.next===Vt.Undefined?(this._last=this._last.prev,this._last.next=Vt.Undefined):t.prev===Vt.Undefined&&(this._first=this._first.next,this._first.prev=Vt.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Vt.Undefined;)yield t.element,t=t.next}}const qt="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",Kt=function(t=""){let i="(-?\\d*\\.\\d\\w*)|([^";for(const e of qt)t.indexOf(e)>=0||(i+="\\"+e);return i+="\\s]+)",new RegExp(i,"g")}();function Gt(t){let i=Kt;if(t&&t instanceof RegExp)if(t.global)i=t;else{let e="g";t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),i=new RegExp(t.source,e)}return i.lastIndex=0,i}const Zt=new Ut;function Qt(t,i,e,s,n){if(i=Gt(i),n||(n=Ht.first(Zt)),e.length>n.maxLen){let o=t-n.maxLen/2;return o<0?o=0:s+=o,Qt(t,i,e=e.substring(o,t+n.maxLen/2),s,n)}const o=Date.now(),r=t-1-s;let h=-1,c=null;for(let t=1;!(Date.now()-o>=n.timeBudget);t++){const s=r-n.windowSize*t;i.lastIndex=Math.max(0,s);const o=Jt(i,e,r,h);if(!o&&c)break;if(c=o,s<=0)break;h=s}if(c){const t={word:c[0],startColumn:s+1+c.index,endColumn:s+1+c.index+c[0].length};return i.lastIndex=0,t}return null}function Jt(t,i,e,s){let n;for(;n=t.exec(i);){const i=n.index||0;if(i<=e&&t.lastIndex>=e)return n;if(s>0&&i>s)return null}return null}Zt.unshift({maxLen:1e3,windowSize:15,timeBudget:150});class Yt{constructor(t){this._values=t}hasChanged(t){return this._values[t]}}class Xt{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class ti{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return ei(t,i)}compute(t,i,e){return e}}class ii{constructor(t,i){this.newValue=t,this.didChange=i}}function ei(t,i){if("object"!=typeof t||"object"!=typeof i||!t||!i)return new ii(i,t!==i);if(Array.isArray(t)||Array.isArray(i)){const e=Array.isArray(t)&&Array.isArray(i)&&l(t,i);return new ii(i,!e)}let e=!1;for(const s in i)if(i.hasOwnProperty(s)){const n=ei(t[s],i[s]);n.didChange&&(t[s]=n.newValue,e=!0)}return new ii(t,e)}class si{constructor(t){this.schema=void 0,this.id=t,this.name="_never_",this.defaultValue=void 0}applyUpdate(t,i){return ei(t,i)}validate(t){return this.defaultValue}}class ni{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return ei(t,i)}validate(t){return void 0===t?this.defaultValue:t}compute(t,i,e){return e}}function oi(t,i){return void 0===t?i:"false"!==t&&Boolean(t)}class ri extends ni{constructor(t,i,e,s){void 0!==s&&(s.type="boolean",s.default=e),super(t,i,e,s)}validate(t){return oi(t,this.defaultValue)}}function hi(t,i,e,s){if(void 0===t)return i;let n=parseInt(t,10);return isNaN(n)?i:(n=Math.max(e,n),n=Math.min(s,n),0|n)}class ci extends ni{static clampedInt(t,i,e,s){return hi(t,i,e,s)}constructor(t,i,e,s,n,o){void 0!==o&&(o.type="integer",o.default=e,o.minimum=s,o.maximum=n),super(t,i,e,o),this.minimum=s,this.maximum=n}validate(t){return ci.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}}function ai(t,i,e,s){if(void 0===t)return i;const n=li.float(t,i);return li.clamp(n,e,s)}class li extends ni{static clamp(t,i,e){return te?e:t}static float(t,i){if("number"==typeof t)return t;if(void 0===t)return i;const e=parseFloat(t);return isNaN(e)?i:e}constructor(t,i,e,s,n){void 0!==n&&(n.type="number",n.default=e),super(t,i,e,n),this.validationFn=s}validate(t){return this.validationFn(li.float(t,this.defaultValue))}}class ui extends ni{static string(t,i){return"string"!=typeof t?i:t}constructor(t,i,e,s){void 0!==s&&(s.type="string",s.default=e),super(t,i,e,s)}validate(t){return ui.string(t,this.defaultValue)}}function di(t,i,e,s){return"string"!=typeof t?i:s&&t in s?s[t]:-1===e.indexOf(t)?i:t}class fi extends ni{constructor(t,i,e,s,n){void 0!==n&&(n.type="string",n.enum=s,n.default=e),super(t,i,e,n),this._allowedValues=s}validate(t){return di(t,this.defaultValue,this._allowedValues)}}class pi extends ti{constructor(t,i,e,s,n,o,r){void 0!==r&&(r.type="string",r.enum=n,r.default=s),super(t,i,e,r),this._allowedValues=n,this._convert=o}validate(t){return"string"!=typeof t||-1===this._allowedValues.indexOf(t)?this.defaultValue:this._convert(t)}}var gi,mi;!function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(gi||(gi={}));class wi extends ti{constructor(){super(51,"fontLigatures",wi.OFF,{anyOf:[{type:"boolean",description:ot(0,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:ot(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:ot(0,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?wi.OFF:"true"===t?wi.ON:t:Boolean(t)?wi.ON:wi.OFF}}wi.OFF='"liga" off, "calt" off',wi.ON='"liga" on, "calt" on';class vi extends ti{constructor(){super(54,"fontVariations",vi.OFF,{anyOf:[{type:"boolean",description:ot(0,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:ot(0,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:ot(0,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?vi.OFF:"true"===t?vi.TRANSLATE:t:Boolean(t)?vi.TRANSLATE:vi.OFF}compute(t,i,e){return t.fontInfo.fontVariationSettings}}vi.OFF="normal",vi.TRANSLATE="translate";class bi extends ti{constructor(){super(53,"fontWeight",Ri.fontWeight,{anyOf:[{type:"number",minimum:bi.MINIMUM_VALUE,maximum:bi.MAXIMUM_VALUE,errorMessage:ot(0,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:bi.SUGGESTION_VALUES}],default:Ri.fontWeight,description:ot(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(t){return"normal"===t||"bold"===t?t:String(ci.clampedInt(t,Ri.fontWeight,bi.MINIMUM_VALUE,bi.MAXIMUM_VALUE))}}bi.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],bi.MINIMUM_VALUE=1,bi.MAXIMUM_VALUE=1e3;class yi extends si{constructor(){super(143)}compute(t,i,e){return yi.computeLayout(i,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(t){const i=t.height/t.lineHeight,e=Math.floor(t.paddingTop/t.lineHeight);let s=Math.floor(t.paddingBottom/t.lineHeight);t.scrollBeyondLastLine&&(s=Math.max(s,i-1));const n=(e+t.viewLineCount+s)/(t.pixelRatio*t.height);return{typicalViewportLineCount:i,extraLinesBeforeFirstLine:e,extraLinesBeyondLastLine:s,desiredRatio:n,minimapLineCount:Math.floor(t.viewLineCount/n)}}static _computeMinimapLayout(t,i){const e=t.outerWidth,s=t.outerHeight,n=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(n*s),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:s};const o=i.stableMinimapLayoutInput,r=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.paddingTop===o.paddingTop&&t.paddingBottom===o.paddingBottom&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,h=t.lineHeight,c=t.typicalHalfwidthCharacterWidth,a=t.scrollBeyondLastLine,l=t.minimap.renderCharacters;let u=n>=2?Math.round(2*t.minimap.scale):t.minimap.scale;const d=t.minimap.maxColumn,f=t.minimap.size,p=t.minimap.side,g=t.verticalScrollbarWidth,m=t.viewLineCount,w=t.remainingWidth,v=t.isViewportWrapping,b=l?2:3;let y=Math.floor(n*s);const k=y/n;let x=!1,C=!1,S=b*u,D=u/n,E=1;if("fill"===f||"fit"===f){const{typicalViewportLineCount:e,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:c,desiredRatio:l,minimapLineCount:d}=yi.computeContainedMinimapLineCount({viewLineCount:m,scrollBeyondLastLine:a,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:s,lineHeight:h,pixelRatio:n});if(m/d>1)x=!0,C=!0,u=1,S=1,D=u/n;else{let s=!1,a=u+1;if("fit"===f){const t=Math.ceil((o+m+c)*S);v&&r&&w<=i.stableFitRemainingWidth?(s=!0,a=i.stableFitMaxMinimapScale):s=t>y}if("fill"===f||s){x=!0;const s=u;S=Math.min(h*n,Math.max(1,Math.floor(1/l))),v&&r&&w<=i.stableFitRemainingWidth&&(a=i.stableFitMaxMinimapScale),u=Math.min(a,Math.max(1,Math.floor(S/b))),u>s&&(E=Math.min(2,u/s)),D=u/n/E,y=Math.ceil(Math.max(e,o+m+c)*S),v?(i.stableMinimapLayoutInput=t,i.stableFitRemainingWidth=w,i.stableFitMaxMinimapScale=u):(i.stableMinimapLayoutInput=null,i.stableFitRemainingWidth=0)}}}const A=Math.floor(d*D),M=Math.min(A,Math.max(0,Math.floor((w-g-2)*D/(c+D)))+8);let L=Math.floor(n*M);const F=L/n;return L=Math.floor(L*E),{renderMinimap:l?1:2,minimapLeft:"left"===p?0:e-M-g,minimapWidth:M,minimapHeightIsEditorHeight:x,minimapIsSampling:C,minimapScale:u,minimapLineHeight:S,minimapCanvasInnerWidth:L,minimapCanvasInnerHeight:y,minimapCanvasOuterWidth:F,minimapCanvasOuterHeight:k}}static computeLayout(t,i){const e=0|i.outerWidth,s=0|i.outerHeight,n=0|i.lineHeight,o=0|i.lineNumbersDigitCount,r=i.typicalHalfwidthCharacterWidth,h=i.maxDigitWidth,c=i.pixelRatio,a=i.viewLineCount,l=t.get(135),u="inherit"===l?t.get(134):l,d="inherit"===u?t.get(130):u,f=t.get(133),p=i.isDominatedByLongLines,g=t.get(57),m=0!==t.get(67).renderType,w=t.get(68),v=t.get(104),b=t.get(83),y=t.get(72),k=t.get(102),x=k.verticalScrollbarSize,C=k.verticalHasArrows,S=k.arrowSize,D=k.horizontalScrollbarSize,E=t.get(43),A="never"!==t.get(109);let M=t.get(65);E&&A&&(M+=16);let L=0;if(m){const t=Math.max(o,w);L=Math.round(t*h)}let F=0;g&&(F=n*i.glyphMarginDecorationLaneCount);let T=0,R=T+F,O=R+L,I=O+M;const _=e-F-L-M;let N=!1,B=!1,P=-1;"inherit"===u&&p?(N=!0,B=!0):"on"===d||"bounded"===d?B=!0:"wordWrapColumn"===d&&(P=f);const $=yi._computeMinimapLayout({outerWidth:e,outerHeight:s,lineHeight:n,typicalHalfwidthCharacterWidth:r,pixelRatio:c,scrollBeyondLastLine:v,paddingTop:b.top,paddingBottom:b.bottom,minimap:y,verticalScrollbarWidth:x,viewLineCount:a,remainingWidth:_,isViewportWrapping:B},i.memory||new Xt);0!==$.renderMinimap&&0===$.minimapLeft&&(T+=$.minimapWidth,R+=$.minimapWidth,O+=$.minimapWidth,I+=$.minimapWidth);const W=_-$.minimapWidth,j=Math.max(1,Math.floor((W-x-2)/r)),z=C?S:0;return B&&(P=Math.max(1,j),"bounded"===d&&(P=Math.min(P,f))),{width:e,height:s,glyphMarginLeft:T,glyphMarginWidth:F,glyphMarginDecorationLaneCount:i.glyphMarginDecorationLaneCount,lineNumbersLeft:R,lineNumbersWidth:L,decorationsLeft:O,decorationsWidth:M,contentLeft:I,contentWidth:W,minimap:$,viewportColumn:j,isWordWrapMinified:N,isViewportWrapping:B,wrappingColumn:P,verticalScrollbarWidth:x,horizontalScrollbarHeight:D,overviewRuler:{top:z,width:x,height:s-2*z,right:0}}}}function ki(t){const i=t.get(97);return"editable"===i?t.get(90):"on"!==i}function xi(t,i){if("string"!=typeof t)return i;switch(t){case"hidden":return 2;case"visible":return 3;default:return 1}}!function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(mi||(mi={}));const Ci="inUntrustedWorkspace",Si="editor.unicodeHighlight.allowedCharacters",Di="editor.unicodeHighlight.invisibleCharacters",Ei="editor.unicodeHighlight.nonBasicASCII",Ai="editor.unicodeHighlight.ambiguousCharacters",Mi="editor.unicodeHighlight.includeComments",Li="editor.unicodeHighlight.includeStrings",Fi="editor.unicodeHighlight.allowedLocales";function Ti(t,i,e){const s=e.indexOf(t);return-1===s?i:e[s]}const Ri={fontFamily:Ct?"Menlo, Monaco, 'Courier New', monospace":St?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:Ct?12:14,lineHeight:0,letterSpacing:0},Oi=[];function Ii(t){return Oi[t.id]=t,t}const _i={acceptSuggestionOnCommitCharacter:Ii(new ri(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:ot(0,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:Ii(new fi(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",ot(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:ot(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:Ii(new class extends ti{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[ot(0,"Use platform APIs to detect when a Screen Reader is attached."),ot(0,"Optimize for usage with a Screen Reader."),ot(0,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:ot(0,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(t){switch(t){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(t,i,e){return 0===e?t.accessibilitySupport:e}}),accessibilityPageSize:Ii(new ci(3,"accessibilityPageSize",10,1,1073741824,{description:ot(0,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:Ii(new ui(4,"ariaLabel",ot(0,"Editor content"))),ariaRequired:Ii(new ri(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:Ii(new ri(8,"screenReaderAnnounceInlineSuggestion",!0,{description:ot(0,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:Ii(new fi(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",ot(0,"Use language configurations to determine when to autoclose brackets."),ot(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:ot(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:Ii(new fi(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",ot(0,"Use language configurations to determine when to autoclose comments."),ot(0,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:ot(0,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:Ii(new fi(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",ot(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:ot(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:Ii(new fi(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",ot(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:ot(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:Ii(new fi(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",ot(0,"Use language configurations to determine when to autoclose quotes."),ot(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:ot(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:Ii(new pi(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(t){switch(t){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[ot(0,"The editor will not insert indentation automatically."),ot(0,"The editor will keep the current line's indentation."),ot(0,"The editor will keep the current line's indentation and honor language defined brackets."),ot(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),ot(0,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:ot(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:Ii(new ri(13,"automaticLayout",!1)),autoSurround:Ii(new fi(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[ot(0,"Use language configurations to determine when to automatically surround selections."),ot(0,"Surround with quotes but not brackets."),ot(0,"Surround with brackets but not quotes."),""],description:ot(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:Ii(new class extends ti{constructor(){const t={enabled:zt.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:zt.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",t,{"editor.bracketPairColorization.enabled":{type:"boolean",default:t.enabled,markdownDescription:ot(0,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:t.independentColorPoolPerBracketType,description:ot(0,"Controls whether each bracket type has its own independent color pool.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:oi(i.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:oi(i.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:Ii(new class extends ti{constructor(){const t={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",t,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[ot(0,"Enables bracket pair guides."),ot(0,"Enables bracket pair guides only for the active bracket pair."),ot(0,"Disables bracket pair guides.")],default:t.bracketPairs,description:ot(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[ot(0,"Enables horizontal guides as addition to vertical bracket pair guides."),ot(0,"Enables horizontal guides only for the active bracket pair."),ot(0,"Disables horizontal bracket pair guides.")],default:t.bracketPairsHorizontal,description:ot(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:t.highlightActiveBracketPair,description:ot(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:t.indentation,description:ot(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[ot(0,"Highlights the active indent guide."),ot(0,"Highlights the active indent guide even if bracket guides are highlighted."),ot(0,"Do not highlight the active indent guide.")],default:t.highlightActiveIndentation,description:ot(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{bracketPairs:Ti(i.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Ti(i.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:oi(i.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:oi(i.indentation,this.defaultValue.indentation),highlightActiveIndentation:Ti(i.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:Ii(new ri(115,"stickyTabStops",!1,{description:ot(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:Ii(new ri(17,"codeLens",!0,{description:ot(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:Ii(new ui(18,"codeLensFontFamily","",{description:ot(0,"Controls the font family for CodeLens.")})),codeLensFontSize:Ii(new ci(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:ot(0,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:Ii(new ri(20,"colorDecorators",!0,{description:ot(0,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:Ii(new fi(146,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[ot(0,"Make the color picker appear both on click and hover of the color decorator"),ot(0,"Make the color picker appear on hover of the color decorator"),ot(0,"Make the color picker appear on click of the color decorator")],description:ot(0,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:Ii(new ci(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:ot(0,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:Ii(new ri(22,"columnSelection",!1,{description:ot(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:Ii(new class extends ti{constructor(){const t={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:ot(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:t.ignoreEmptyLines,description:ot(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertSpace:oi(i.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:oi(i.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:Ii(new ri(24,"contextmenu",!0)),copyWithSyntaxHighlighting:Ii(new ri(25,"copyWithSyntaxHighlighting",!0,{description:ot(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:Ii(new pi(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(t){switch(t){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:ot(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:Ii(new fi(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[ot(0,"Smooth caret animation is disabled."),ot(0,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),ot(0,"Smooth caret animation is always enabled.")],description:ot(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:Ii(new pi(28,"cursorStyle",gi.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(t){switch(t){case"line":return gi.Line;case"block":return gi.Block;case"underline":return gi.Underline;case"line-thin":return gi.LineThin;case"block-outline":return gi.BlockOutline;case"underline-thin":return gi.UnderlineThin}}),{description:ot(0,"Controls the cursor style.")})),cursorSurroundingLines:Ii(new ci(29,"cursorSurroundingLines",0,0,1073741824,{description:ot(0,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:Ii(new fi(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[ot(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),ot(0,"`cursorSurroundingLines` is enforced always.")],markdownDescription:ot(0,"Controls when `#cursorSurroundingLines#` should be enforced.")})),cursorWidth:Ii(new ci(31,"cursorWidth",0,0,1073741824,{markdownDescription:ot(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:Ii(new ri(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:Ii(new ri(33,"disableMonospaceOptimizations",!1)),domReadOnly:Ii(new ri(34,"domReadOnly",!1)),dragAndDrop:Ii(new ri(35,"dragAndDrop",!0,{description:ot(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:Ii(new class extends ri{constructor(){super(37,"emptySelectionClipboard",!0,{description:ot(0,"Controls whether copying without a selection copies the current line.")})}compute(t,i,e){return e&&t.emptySelectionClipboard}}),dropIntoEditor:Ii(new class extends ti{constructor(){const t={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",t,{"editor.dropIntoEditor.enabled":{type:"boolean",default:t.enabled,markdownDescription:ot(0,"Controls whether you can drag and drop a file into a text editor by holding down `Shift`-key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:ot(0,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[ot(0,"Show the drop selector widget after a file is dropped into the editor."),ot(0,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:oi(i.enabled,this.defaultValue.enabled),showDropSelector:di(i.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:Ii(new class extends ti{constructor(){const t={enabled:!1,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(114,"stickyScroll",t,{"editor.stickyScroll.enabled":{type:"boolean",default:t.enabled,description:ot(0,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:t.maxLineCount,minimum:1,maximum:10,description:ot(0,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:t.defaultModel,description:ot(0,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:t.scrollWithEditor,description:ot(0,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:oi(i.enabled,this.defaultValue.enabled),maxLineCount:ci.clampedInt(i.maxLineCount,this.defaultValue.maxLineCount,1,10),defaultModel:di(i.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:oi(i.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:Ii(new fi(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[ot(0,"Use a new rendering method with svgs."),ot(0,"Use a new rendering method with font characters."),ot(0,"Use the stable rendering method.")],description:ot(0,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:Ii(new ui(39,"extraEditorClassName","")),fastScrollSensitivity:Ii(new li(40,"fastScrollSensitivity",5,(t=>t<=0?5:t),{markdownDescription:ot(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:Ii(new class extends ti{constructor(){const t={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",t,{"editor.find.cursorMoveOnType":{type:"boolean",default:t.cursorMoveOnType,description:ot(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:t.seedSearchStringFromSelection,enumDescriptions:[ot(0,"Never seed search string from the editor selection."),ot(0,"Always seed search string from the editor selection, including word at cursor position."),ot(0,"Only seed search string from the editor selection.")],description:ot(0,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:t.autoFindInSelection,enumDescriptions:[ot(0,"Never turn on Find in Selection automatically (default)."),ot(0,"Always turn on Find in Selection automatically."),ot(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:ot(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:ot(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:Ct},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:ot(0,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:t.loop,description:ot(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{cursorMoveOnType:oi(i.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof t.seedSearchStringFromSelection?t.seedSearchStringFromSelection?"always":"never":di(i.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof t.autoFindInSelection?t.autoFindInSelection?"always":"never":di(i.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:oi(i.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:oi(i.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:oi(i.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:Ii(new ri(42,"fixedOverflowWidgets",!1)),folding:Ii(new ri(43,"folding",!0,{description:ot(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:Ii(new fi(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[ot(0,"Use a language-specific folding strategy if available, else the indentation-based one."),ot(0,"Use the indentation-based folding strategy.")],description:ot(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:Ii(new ri(45,"foldingHighlight",!0,{description:ot(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:Ii(new ri(46,"foldingImportsByDefault",!1,{description:ot(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:Ii(new ci(47,"foldingMaximumRegions",5e3,10,65e3,{description:ot(0,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:Ii(new ri(48,"unfoldOnClickAfterEndOfLine",!1,{description:ot(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:Ii(new ui(49,"fontFamily",Ri.fontFamily,{description:ot(0,"Controls the font family.")})),fontInfo:Ii(new class extends si{constructor(){super(50)}compute(t,i,e){return t.fontInfo}}),fontLigatures2:Ii(new wi),fontSize:Ii(new class extends ni{constructor(){super(52,"fontSize",Ri.fontSize,{type:"number",minimum:6,maximum:100,default:Ri.fontSize,description:ot(0,"Controls the font size in pixels.")})}validate(t){const i=li.float(t,this.defaultValue);return 0===i?Ri.fontSize:li.clamp(i,6,100)}compute(t,i,e){return t.fontInfo.fontSize}}),fontWeight:Ii(new bi),fontVariations:Ii(new vi),formatOnPaste:Ii(new ri(55,"formatOnPaste",!1,{description:ot(0,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:Ii(new ri(56,"formatOnType",!1,{description:ot(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:Ii(new ri(57,"glyphMargin",!0,{description:ot(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:Ii(new class extends ti{constructor(){const t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},i={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[ot(0,"Show Peek view of the results (default)"),ot(0,"Go to the primary result and show a Peek view"),ot(0,"Go to the primary result and enable Peek-less navigation to others")]},e=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",t,{"editor.gotoLocation.multiple":{deprecationMessage:ot(0,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:ot(0,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleTypeDefinitions":{description:ot(0,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleDeclarations":{description:ot(0,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleImplementations":{description:ot(0,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleReferences":{description:ot(0,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...i},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,enum:e,description:ot(0,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,enum:e,description:ot(0,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:t.alternativeDeclarationCommand,enum:e,description:ot(0,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,enum:e,description:ot(0,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,enum:e,description:ot(0,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(t){var i,e,s,n,o;if(!t||"object"!=typeof t)return this.defaultValue;const r=t;return{multiple:di(r.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(i=r.multipleDefinitions)&&void 0!==i?i:di(r.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(e=r.multipleTypeDefinitions)&&void 0!==e?e:di(r.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(s=r.multipleDeclarations)&&void 0!==s?s:di(r.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(n=r.multipleImplementations)&&void 0!==n?n:di(r.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(o=r.multipleReferences)&&void 0!==o?o:di(r.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:ui.string(r.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:ui.string(r.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:ui.string(r.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:ui.string(r.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:ui.string(r.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:Ii(new ri(59,"hideCursorInOverviewRuler",!1,{description:ot(0,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:Ii(new class extends ti{constructor(){const t={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",t,{"editor.hover.enabled":{type:"boolean",default:t.enabled,description:ot(0,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:t.delay,minimum:0,maximum:1e4,description:ot(0,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:ot(0,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:t.hidingDelay,description:ot(0,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:t.above,description:ot(0,"Prefer showing hovers above the line, if there's space.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:oi(i.enabled,this.defaultValue.enabled),delay:ci.clampedInt(i.delay,this.defaultValue.delay,0,1e4),sticky:oi(i.sticky,this.defaultValue.sticky),hidingDelay:ci.clampedInt(i.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:oi(i.above,this.defaultValue.above)}}}),inDiffEditor:Ii(new ri(61,"inDiffEditor",!1)),letterSpacing:Ii(new li(63,"letterSpacing",Ri.letterSpacing,(t=>li.clamp(t,-5,20)),{description:ot(0,"Controls the letter spacing in pixels.")})),lightbulb:Ii(new class extends ti{constructor(){const t={enabled:!0,experimental:{showAiIcon:mi.Off}};super(64,"lightbulb",t,{"editor.lightbulb.enabled":{type:"boolean",default:t.enabled,description:ot(0,"Enables the Code Action lightbulb in the editor.")},"editor.lightbulb.experimental.showAiIcon":{type:"string",enum:[mi.Off,mi.OnCode,mi.On],default:t.experimental.showAiIcon,enumDescriptions:[ot(0,"Don not show the AI icon."),ot(0,"Show an AI icon when the code action menu contains an AI action, but only on code."),ot(0,"Show an AI icon when the code action menu contains an AI action, on code and empty lines.")],description:ot(0,"Show an AI icon along with the lightbulb when the code action menu contains an AI action.")}})}validate(t){var i,e;if(!t||"object"!=typeof t)return this.defaultValue;const s=t;return{enabled:oi(s.enabled,this.defaultValue.enabled),experimental:{showAiIcon:di(null===(i=s.experimental)||void 0===i?void 0:i.showAiIcon,null===(e=this.defaultValue.experimental)||void 0===e?void 0:e.showAiIcon,[mi.Off,mi.OnCode,mi.On])}}}}),lineDecorationsWidth:Ii(new class extends ti{constructor(){super(65,"lineDecorationsWidth",10)}validate(t){return"string"==typeof t&&/^\d+(\.\d+)?ch$/.test(t)?-parseFloat(t.substring(0,t.length-2)):ci.clampedInt(t,this.defaultValue,0,1e3)}compute(t,i,e){return e<0?ci.clampedInt(-e*t.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):e}}),lineHeight:Ii(new class extends li{constructor(){super(66,"lineHeight",Ri.lineHeight,(t=>li.clamp(t,0,150)),{markdownDescription:ot(0,"Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(t,i,e){return t.fontInfo.lineHeight}}),lineNumbers:Ii(new class extends ti{constructor(){super(67,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[ot(0,"Line numbers are not rendered."),ot(0,"Line numbers are rendered as absolute number."),ot(0,"Line numbers are rendered as distance in lines to cursor position."),ot(0,"Line numbers are rendered every 10 lines.")],default:"on",description:ot(0,"Controls the display of line numbers.")})}validate(t){let i=this.defaultValue.renderType,e=this.defaultValue.renderFn;return void 0!==t&&("function"==typeof t?(i=4,e=t):i="interval"===t?3:"relative"===t?2:"on"===t?1:0),{renderType:i,renderFn:e}}}),lineNumbersMinChars:Ii(new ci(68,"lineNumbersMinChars",5,1,300)),linkedEditing:Ii(new ri(69,"linkedEditing",!1,{description:ot(0,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:Ii(new ri(70,"links",!0,{description:ot(0,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:Ii(new fi(71,"matchBrackets","always",["always","near","never"],{description:ot(0,"Highlight matching brackets.")})),minimap:Ii(new class extends ti{constructor(){const t={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(72,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:ot(0,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:t.autohide,description:ot(0,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[ot(0,"The minimap has the same size as the editor contents (and might scroll)."),ot(0,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),ot(0,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:t.size,description:ot(0,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:ot(0,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:ot(0,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,enum:[1,2,3],description:ot(0,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:ot(0,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:ot(0,"Limit the width of the minimap to render at most a certain number of columns.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:oi(i.enabled,this.defaultValue.enabled),autohide:oi(i.autohide,this.defaultValue.autohide),size:di(i.size,this.defaultValue.size,["proportional","fill","fit"]),side:di(i.side,this.defaultValue.side,["right","left"]),showSlider:di(i.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:oi(i.renderCharacters,this.defaultValue.renderCharacters),scale:ci.clampedInt(i.scale,1,1,3),maxColumn:ci.clampedInt(i.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}),mouseStyle:Ii(new fi(73,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:Ii(new li(74,"mouseWheelScrollSensitivity",1,(t=>0===t?1:t),{markdownDescription:ot(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:Ii(new ri(75,"mouseWheelZoom",!1,{markdownDescription:ot(0,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:Ii(new ri(76,"multiCursorMergeOverlapping",!0,{description:ot(0,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:Ii(new pi(77,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(t){return"ctrlCmd"===t?Ct?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[ot(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),ot(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:ot(0,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:Ii(new fi(78,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[ot(0,"Each cursor pastes a single line of the text."),ot(0,"Each cursor pastes the full text.")],markdownDescription:ot(0,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:Ii(new ci(79,"multiCursorLimit",1e4,1,1e5,{markdownDescription:ot(0,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:Ii(new fi(80,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[ot(0,"Does not highlight occurrences."),ot(0,"Highlights occurrences only in the current file."),ot(0,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:ot(0,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:Ii(new ri(81,"overviewRulerBorder",!0,{description:ot(0,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:Ii(new ci(82,"overviewRulerLanes",3,0,3)),padding:Ii(new class extends ti{constructor(){super(83,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:ot(0,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:ot(0,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{top:ci.clampedInt(i.top,0,0,1e3),bottom:ci.clampedInt(i.bottom,0,0,1e3)}}}),pasteAs:Ii(new class extends ti{constructor(){const t={enabled:!0,showPasteSelector:"afterPaste"};super(84,"pasteAs",t,{"editor.pasteAs.enabled":{type:"boolean",default:t.enabled,markdownDescription:ot(0,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:ot(0,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[ot(0,"Show the paste selector widget after content is pasted into the editor."),ot(0,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:oi(i.enabled,this.defaultValue.enabled),showPasteSelector:di(i.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:Ii(new class extends ti{constructor(){const t={enabled:!0,cycle:!0};super(85,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:ot(0,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:ot(0,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:oi(i.enabled,this.defaultValue.enabled),cycle:oi(i.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:Ii(new fi(86,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[ot(0,"Focus the tree when opening peek"),ot(0,"Focus the editor when opening peek")],description:ot(0,"Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:Ii(new ri(87,"definitionLinkOpensInPeek",!1,{description:ot(0,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:Ii(new class extends ti{constructor(){const t={other:"on",comments:"off",strings:"off"},i=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[ot(0,"Quick suggestions show inside the suggest widget"),ot(0,"Quick suggestions show as ghost text"),ot(0,"Quick suggestions are disabled")]}];super(88,"quickSuggestions",t,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:i,default:t.strings,description:ot(0,"Enable quick suggestions inside strings.")},comments:{anyOf:i,default:t.comments,description:ot(0,"Enable quick suggestions inside comments.")},other:{anyOf:i,default:t.other,description:ot(0,"Enable quick suggestions outside of strings and comments.")}},default:t,markdownDescription:ot(0,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=t}validate(t){if("boolean"==typeof t){const i=t?"on":"off";return{comments:i,strings:i,other:i}}if(!t||"object"!=typeof t)return this.defaultValue;const{other:i,comments:e,strings:s}=t,n=["on","inline","off"];let o,r,h;return o="boolean"==typeof i?i?"on":"off":di(i,this.defaultValue.other,n),r="boolean"==typeof e?e?"on":"off":di(e,this.defaultValue.comments,n),h="boolean"==typeof s?s?"on":"off":di(s,this.defaultValue.strings,n),{other:o,comments:r,strings:h}}}),quickSuggestionsDelay:Ii(new ci(89,"quickSuggestionsDelay",10,0,1073741824,{description:ot(0,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:Ii(new ri(90,"readOnly",!1)),readOnlyMessage:Ii(new class extends ti{constructor(){super(91,"readOnlyMessage",void 0)}validate(t){return t&&"object"==typeof t?t:this.defaultValue}}),renameOnType:Ii(new ri(92,"renameOnType",!1,{description:ot(0,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:ot(0,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:Ii(new ri(93,"renderControlCharacters",!0,{description:ot(0,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:Ii(new fi(94,"renderFinalNewline",St?"dimmed":"on",["off","on","dimmed"],{description:ot(0,"Render last line number when the file ends with a newline.")})),renderLineHighlight:Ii(new fi(95,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",ot(0,"Highlights both the gutter and the current line.")],description:ot(0,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:Ii(new ri(96,"renderLineHighlightOnlyWhenFocus",!1,{description:ot(0,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:Ii(new fi(97,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:Ii(new fi(98,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",ot(0,"Render whitespace characters except for single spaces between words."),ot(0,"Render whitespace characters only on selected text."),ot(0,"Render only trailing whitespace characters."),""],description:ot(0,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:Ii(new ci(99,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:Ii(new ri(100,"roundedSelection",!0,{description:ot(0,"Controls whether selections should have rounded corners.")})),rulers:Ii(new class extends ti{constructor(){const t=[],i={type:"number",description:ot(0,"Number of monospace characters at which this editor ruler will render.")};super(101,"rulers",t,{type:"array",items:{anyOf:[i,{type:["object"],properties:{column:i,color:{type:"string",description:ot(0,"Color of this editor ruler."),format:"color-hex"}}}]},default:t,description:ot(0,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(t){if(Array.isArray(t)){const i=[];for(const e of t)if("number"==typeof e)i.push({column:ci.clampedInt(e,0,0,1e4),color:null});else if(e&&"object"==typeof e){const t=e;i.push({column:ci.clampedInt(t.column,0,0,1e4),color:t.color})}return i.sort(((t,i)=>t.column-i.column)),i}return this.defaultValue}}),scrollbar:Ii(new class extends ti{constructor(){const t={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(102,"scrollbar",t,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[ot(0,"The vertical scrollbar will be visible only when necessary."),ot(0,"The vertical scrollbar will always be visible."),ot(0,"The vertical scrollbar will always be hidden.")],default:"auto",description:ot(0,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[ot(0,"The horizontal scrollbar will be visible only when necessary."),ot(0,"The horizontal scrollbar will always be visible."),ot(0,"The horizontal scrollbar will always be hidden.")],default:"auto",description:ot(0,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:t.verticalScrollbarSize,description:ot(0,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:t.horizontalScrollbarSize,description:ot(0,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:t.scrollByPage,description:ot(0,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:t.ignoreHorizontalScrollbarInContentHeight,description:ot(0,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t,e=ci.clampedInt(i.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),s=ci.clampedInt(i.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:ci.clampedInt(i.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:xi(i.vertical,this.defaultValue.vertical),horizontal:xi(i.horizontal,this.defaultValue.horizontal),useShadows:oi(i.useShadows,this.defaultValue.useShadows),verticalHasArrows:oi(i.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:oi(i.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:oi(i.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:oi(i.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:e,horizontalSliderSize:ci.clampedInt(i.horizontalSliderSize,e,0,1e3),verticalScrollbarSize:s,verticalSliderSize:ci.clampedInt(i.verticalSliderSize,s,0,1e3),scrollByPage:oi(i.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:oi(i.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:Ii(new ci(103,"scrollBeyondLastColumn",4,0,1073741824,{description:ot(0,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:Ii(new ri(104,"scrollBeyondLastLine",!0,{description:ot(0,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:Ii(new ri(105,"scrollPredominantAxis",!0,{description:ot(0,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:Ii(new ri(106,"selectionClipboard",!0,{description:ot(0,"Controls whether the Linux primary clipboard should be supported."),included:St})),selectionHighlight:Ii(new ri(107,"selectionHighlight",!0,{description:ot(0,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:Ii(new ri(108,"selectOnLineNumbers",!0)),showFoldingControls:Ii(new fi(109,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[ot(0,"Always show the folding controls."),ot(0,"Never show the folding controls and reduce the gutter size."),ot(0,"Only show the folding controls when the mouse is over the gutter.")],description:ot(0,"Controls when the folding controls on the gutter are shown.")})),showUnused:Ii(new ri(110,"showUnused",!0,{description:ot(0,"Controls fading out of unused code.")})),showDeprecated:Ii(new ri(138,"showDeprecated",!0,{description:ot(0,"Controls strikethrough deprecated variables.")})),inlayHints:Ii(new class extends ti{constructor(){const t={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(139,"inlayHints",t,{"editor.inlayHints.enabled":{type:"string",default:t.enabled,description:ot(0,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[ot(0,"Inlay hints are enabled"),ot(0,"Inlay hints are showing by default and hide when holding {0}",Ct?"Ctrl+Option":"Ctrl+Alt"),ot(0,"Inlay hints are hidden by default and show when holding {0}",Ct?"Ctrl+Option":"Ctrl+Alt"),ot(0,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:t.fontSize,markdownDescription:ot(0,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:t.fontFamily,markdownDescription:ot(0,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:t.padding,description:ot(0,"Enables the padding around the inlay hints in the editor.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return"boolean"==typeof i.enabled&&(i.enabled=i.enabled?"on":"off"),{enabled:di(i.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:ci.clampedInt(i.fontSize,this.defaultValue.fontSize,0,100),fontFamily:ui.string(i.fontFamily,this.defaultValue.fontFamily),padding:oi(i.padding,this.defaultValue.padding)}}}),snippetSuggestions:Ii(new fi(111,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[ot(0,"Show snippet suggestions on top of other suggestions."),ot(0,"Show snippet suggestions below other suggestions."),ot(0,"Show snippets suggestions with other suggestions."),ot(0,"Do not show snippet suggestions.")],description:ot(0,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:Ii(new class extends ti{constructor(){super(112,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:ot(0,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:ot(0,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(t){return t&&"object"==typeof t?{selectLeadingAndTrailingWhitespace:oi(t.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:oi(t.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:Ii(new ri(113,"smoothScrolling",!1,{description:ot(0,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:Ii(new ci(116,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:Ii(new class extends ti{constructor(){const t={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(117,"suggest",t,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[ot(0,"Insert suggestion without overwriting text right of the cursor."),ot(0,"Insert suggestion and overwrite text right of the cursor.")],default:t.insertMode,description:ot(0,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:t.filterGraceful,description:ot(0,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:t.localityBonus,description:ot(0,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.shareSuggestSelections,markdownDescription:ot(0,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[ot(0,"Always select a suggestion when automatically triggering IntelliSense."),ot(0,"Never select a suggestion when automatically triggering IntelliSense."),ot(0,"Select a suggestion only when triggering IntelliSense from a trigger character."),ot(0,"Select a suggestion only when triggering IntelliSense as you type.")],default:t.selectionMode,markdownDescription:ot(0,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.snippetsPreventQuickSuggestions,description:ot(0,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:t.showIcons,description:ot(0,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:t.showStatusBar,description:ot(0,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:t.preview,description:ot(0,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:t.showInlineDetails,description:ot(0,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:ot(0,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:ot(0,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:ot(0,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertMode:di(i.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:oi(i.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:oi(i.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:oi(i.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:oi(i.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:di(i.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:oi(i.showIcons,this.defaultValue.showIcons),showStatusBar:oi(i.showStatusBar,this.defaultValue.showStatusBar),preview:oi(i.preview,this.defaultValue.preview),previewMode:di(i.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:oi(i.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:oi(i.showMethods,this.defaultValue.showMethods),showFunctions:oi(i.showFunctions,this.defaultValue.showFunctions),showConstructors:oi(i.showConstructors,this.defaultValue.showConstructors),showDeprecated:oi(i.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:oi(i.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:oi(i.showFields,this.defaultValue.showFields),showVariables:oi(i.showVariables,this.defaultValue.showVariables),showClasses:oi(i.showClasses,this.defaultValue.showClasses),showStructs:oi(i.showStructs,this.defaultValue.showStructs),showInterfaces:oi(i.showInterfaces,this.defaultValue.showInterfaces),showModules:oi(i.showModules,this.defaultValue.showModules),showProperties:oi(i.showProperties,this.defaultValue.showProperties),showEvents:oi(i.showEvents,this.defaultValue.showEvents),showOperators:oi(i.showOperators,this.defaultValue.showOperators),showUnits:oi(i.showUnits,this.defaultValue.showUnits),showValues:oi(i.showValues,this.defaultValue.showValues),showConstants:oi(i.showConstants,this.defaultValue.showConstants),showEnums:oi(i.showEnums,this.defaultValue.showEnums),showEnumMembers:oi(i.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:oi(i.showKeywords,this.defaultValue.showKeywords),showWords:oi(i.showWords,this.defaultValue.showWords),showColors:oi(i.showColors,this.defaultValue.showColors),showFiles:oi(i.showFiles,this.defaultValue.showFiles),showReferences:oi(i.showReferences,this.defaultValue.showReferences),showFolders:oi(i.showFolders,this.defaultValue.showFolders),showTypeParameters:oi(i.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:oi(i.showSnippets,this.defaultValue.showSnippets),showUsers:oi(i.showUsers,this.defaultValue.showUsers),showIssues:oi(i.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:Ii(new class extends ti{constructor(){const t={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1};super(62,"inlineSuggest",t,{"editor.inlineSuggest.enabled":{type:"boolean",default:t.enabled,description:ot(0,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:t.showToolbar,enum:["always","onHover","never"],enumDescriptions:[ot(0,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),ot(0,"Show the inline suggestion toolbar when hovering over an inline suggestion."),ot(0,"Never show the inline suggestion toolbar.")],description:ot(0,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:t.suppressSuggestions,description:ot(0,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:oi(i.enabled,this.defaultValue.enabled),mode:di(i.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:di(i.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:oi(i.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:oi(i.keepOnBlur,this.defaultValue.keepOnBlur)}}}),inlineCompletionsAccessibilityVerbose:Ii(new ri(147,"inlineCompletionsAccessibilityVerbose",!1,{description:ot(0,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:Ii(new ci(118,"suggestFontSize",0,0,1e3,{markdownDescription:ot(0,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:Ii(new ci(119,"suggestLineHeight",0,0,1e3,{markdownDescription:ot(0,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:Ii(new ri(120,"suggestOnTriggerCharacters",!0,{description:ot(0,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:Ii(new fi(121,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[ot(0,"Always select the first suggestion."),ot(0,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),ot(0,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:ot(0,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:Ii(new fi(122,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[ot(0,"Tab complete will insert the best matching suggestion when pressing tab."),ot(0,"Disable tab completions."),ot(0,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:ot(0,"Enables tab completions.")})),tabIndex:Ii(new ci(123,"tabIndex",0,-1,1073741824)),unicodeHighlight:Ii(new class extends ti{constructor(){const t={nonBasicASCII:Ci,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Ci,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(124,"unicodeHighlight",t,{[Ei]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ci],default:t.nonBasicASCII,description:ot(0,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[Di]:{restricted:!0,type:"boolean",default:t.invisibleCharacters,description:ot(0,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[Ai]:{restricted:!0,type:"boolean",default:t.ambiguousCharacters,description:ot(0,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Mi]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ci],default:t.includeComments,description:ot(0,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[Li]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ci],default:t.includeStrings,description:ot(0,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[Si]:{restricted:!0,type:"object",default:t.allowedCharacters,description:ot(0,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Fi]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:t.allowedLocales,description:ot(0,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(t,i){let e=!1;i.allowedCharacters&&t&&(it(t.allowedCharacters,i.allowedCharacters)||(t={...t,allowedCharacters:i.allowedCharacters},e=!0)),i.allowedLocales&&t&&(it(t.allowedLocales,i.allowedLocales)||(t={...t,allowedLocales:i.allowedLocales},e=!0));const s=super.applyUpdate(t,i);return e?new ii(s.newValue,!0):s}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{nonBasicASCII:Ti(i.nonBasicASCII,Ci,[!0,!1,Ci]),invisibleCharacters:oi(i.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:oi(i.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Ti(i.includeComments,Ci,[!0,!1,Ci]),includeStrings:Ti(i.includeStrings,Ci,[!0,!1,Ci]),allowedCharacters:this.validateBooleanMap(t.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(t.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(t,i){if("object"!=typeof t||!t)return i;const e={};for(const[i,s]of Object.entries(t))!0===s&&(e[i]=!0);return e}}),unusualLineTerminators:Ii(new fi(125,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[ot(0,"Unusual line terminators are automatically removed."),ot(0,"Unusual line terminators are ignored."),ot(0,"Unusual line terminators prompt to be removed.")],description:ot(0,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:Ii(new ri(126,"useShadowDOM",!0)),useTabStops:Ii(new ri(127,"useTabStops",!0,{description:ot(0,"Inserting and deleting whitespace follows tab stops.")})),wordBreak:Ii(new fi(128,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[ot(0,"Use the default line break rule."),ot(0,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:ot(0,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSeparators:Ii(new ui(129,"wordSeparators",qt,{description:ot(0,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:Ii(new fi(130,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[ot(0,"Lines will never wrap."),ot(0,"Lines will wrap at the viewport width."),ot(0,"Lines will wrap at `#editor.wordWrapColumn#`."),ot(0,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:ot(0,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:Ii(new ui(131,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:Ii(new ui(132,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:Ii(new ci(133,"wordWrapColumn",80,1,1073741824,{markdownDescription:ot(0,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:Ii(new fi(134,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:Ii(new fi(135,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:Ii(new class extends si{constructor(){super(140)}compute(t,i,e){const s=["monaco-editor"];return i.get(39)&&s.push(i.get(39)),t.extraEditorClassName&&s.push(t.extraEditorClassName),"default"===i.get(73)?s.push("mouse-default"):"copy"===i.get(73)&&s.push("mouse-copy"),i.get(110)&&s.push("showUnused"),i.get(138)&&s.push("showDeprecated"),s.join(" ")}}),defaultColorDecorators:Ii(new ri(145,"defaultColorDecorators",!1,{markdownDescription:ot(0,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:Ii(new class extends si{constructor(){super(141)}compute(t,i,e){return t.pixelRatio}}),tabFocusMode:Ii(new ri(142,"tabFocusMode",!1,{markdownDescription:ot(0,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:Ii(new yi),wrappingInfo:Ii(new class extends si{constructor(){super(144)}compute(t,i,e){const s=i.get(143);return{isDominatedByLongLines:t.isDominatedByLongLines,isWordWrapMinified:s.isWordWrapMinified,isViewportWrapping:s.isViewportWrapping,wrappingColumn:s.wrappingColumn}}}),wrappingIndent:Ii(new class extends ti{constructor(){super(136,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[ot(0,"No indentation. Wrapped lines begin at column 1."),ot(0,"Wrapped lines get the same indentation as the parent."),ot(0,"Wrapped lines get +1 indentation toward the parent."),ot(0,"Wrapped lines get +2 indentation toward the parent.")],description:ot(0,"Controls the indentation of wrapped lines."),default:"same"}})}validate(t){switch(t){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(t,i,e){return 2===i.get(2)?0:e}}),wrappingStrategy:Ii(new class extends ti{constructor(){super(137,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[ot(0,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),ot(0,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:ot(0,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(t){return di(t,"simple",["simple","advanced"])}compute(t,i,e){return 2===i.get(2)?"advanced":e}})},Ni=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout((()=>{if(t.stack){if(qi.isErrorNoTelemetry(t))throw new qi(t.message+"\n\n"+t.stack);throw new Error(t.message+"\n\n"+t.stack)}throw t}),0)}}emit(t){this.listeners.forEach((i=>{i(t)}))}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}};function Bi(t){ji(t)||Ni.onUnexpectedError(t)}function Pi(t){ji(t)||Ni.onUnexpectedExternalError(t)}function $i(t){if(t instanceof Error){const{name:i,message:e}=t;return{$isError:!0,name:i,message:e,stack:t.stacktrace||t.stack,noTelemetry:qi.isErrorNoTelemetry(t)}}return t}const Wi="Canceled";function ji(t){return t instanceof zi||t instanceof Error&&t.name===Wi&&t.message===Wi}class zi extends Error{constructor(){super(Wi),this.name=this.message}}function Hi(t){return t?new Error(`Illegal argument: ${t}`):new Error("Illegal argument")}function Vi(t){return t?new Error(`Illegal state: ${t}`):new Error("Illegal state")}class Ui extends Error{constructor(t){super("NotSupported"),t&&(this.message=t)}}class qi extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof qi)return t;const i=new qi;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(t){return"CodeExpectedError"===t.name}}class Ki extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,Ki.prototype)}}function Gi(t,i){const e=this;let s,n=!1;return function(){if(n)return s;if(n=!0,i)try{s=t.apply(e,arguments)}finally{i()}else s=t.apply(e,arguments);return s}}function Zi(t){return"function"==typeof t.dispose&&0===t.dispose.length}function Qi(t){if(Ht.is(t)){const i=[];for(const e of t)if(e)try{e.dispose()}catch(t){i.push(t)}if(1===i.length)throw i[0];if(i.length>1)throw new AggregateError(i,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}if(t)return t.dispose(),t}function Ji(...t){return Yi((()=>Qi(t)))}function Yi(t){return{dispose:Gi((()=>{t()}))}}class Xi{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{Qi(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Xi.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}deleteAndLeak(t){t&&this._toDispose.has(t)&&this._toDispose.delete(t)}}Xi.DISABLE_DISPOSED_WARNING=!1;class te{constructor(){this._store=new Xi}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}te.None=Object.freeze({dispose(){}});class ie{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){var i;this._isDisposed||t===this._value||(null===(i=this._value)||void 0===i||i.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){var t;this._isDisposed=!0,null===(t=this._value)||void 0===t||t.dispose(),this._value=void 0}}class ee{constructor(t){this._disposable=t,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class se{constructor(t){this.object=t}dispose(){}}class ne{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{Qi(this._store.values())}finally{this._store.clear()}}get(t){return this._store.get(t)}set(t,i,e=!1){var s;this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),e||null===(s=this._store.get(t))||void 0===s||s.dispose(),this._store.set(t,i)}deleteAndDispose(t){var i;null===(i=this._store.get(t))||void 0===i||i.dispose(),this._store.delete(t)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const oe=globalThis.performance&&"function"==typeof globalThis.performance.now;class re{static create(t){return new re(t)}constructor(t){this._now=oe&&!1===t?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var he;!function(t){function i(t){return(i,e=null,s)=>{let n,o=!1;return n=t((t=>{if(!o)return n?n.dispose():o=!0,i.call(e,t)}),null,s),o&&n.dispose(),n}}function e(t,i,e){return n(((e,s=null,n)=>t((t=>e.call(s,i(t))),null,n)),e)}function s(t,i,e){return n(((e,s=null,n)=>t((t=>i(t)&&e.call(s,t)),null,n)),e)}function n(t,i){let e;const s=new de({onWillAddFirstListener(){e=t(s.fire,s)},onDidRemoveLastListener(){null==e||e.dispose()}});return null==i||i.add(s),s.event}function o(t,i,e=100,s=!1,n=!1,o,r){let h,c,a,l,u=0;const d=new de({leakWarningThreshold:o,onWillAddFirstListener(){h=t((t=>{u++,c=i(c,t),s&&!a&&(d.fire(c),c=void 0),l=()=>{const t=c;c=void 0,a=void 0,(!s||u>1)&&d.fire(t),u=0},"number"==typeof e?(clearTimeout(a),a=setTimeout(l,e)):void 0===a&&(a=0,queueMicrotask(l))}))},onWillRemoveListener(){n&&u>0&&(null==l||l())},onDidRemoveLastListener(){l=void 0,h.dispose()}});return null==r||r.add(d),d.event}t.None=()=>te.None,t.defer=function(t,i){return o(t,(()=>{}),0,void 0,!0,void 0,i)},t.once=i,t.map=e,t.forEach=function(t,i,e){return n(((e,s=null,n)=>t((t=>{i(t),e.call(s,t)}),null,n)),e)},t.filter=s,t.signal=function(t){return t},t.any=function(...t){return(i,e=null,s)=>{return n=Ji(...t.map((t=>t((t=>i.call(e,t)))))),(o=s)instanceof Array?o.push(n):o&&o.add(n),n;var n,o}},t.reduce=function(t,i,s,n){let o=s;return e(t,(t=>(o=i(o,t),o)),n)},t.debounce=o,t.accumulate=function(i,e=0,s){return t.debounce(i,((t,i)=>t?(t.push(i),t):[i]),e,void 0,!0,void 0,s)},t.latch=function(t,i=((t,i)=>t===i),e){let n,o=!0;return s(t,(t=>{const e=o||!i(t,n);return o=!1,n=t,e}),e)},t.split=function(i,e,s){return[t.filter(i,e,s),t.filter(i,(t=>!e(t)),s)]},t.buffer=function(t,i=!1,e=[],s){let n=e.slice(),o=t((t=>{n?n.push(t):h.fire(t)}));s&&s.add(o);const r=()=>{null==n||n.forEach((t=>h.fire(t))),n=null},h=new de({onWillAddFirstListener(){o||(o=t((t=>h.fire(t))),s&&s.add(o))},onDidAddFirstListener(){n&&(i?setTimeout(r):r())},onDidRemoveLastListener(){o&&o.dispose(),o=null}});return s&&s.add(h),h.event},t.chain=function(t,i){return(e,s,n)=>{const o=i(new h);return t((function(t){const i=o.evaluate(t);i!==r&&e.call(s,i)}),void 0,n)}};const r=Symbol("HaltChainable");class h{constructor(){this.steps=[]}map(t){return this.steps.push(t),this}forEach(t){return this.steps.push((i=>(t(i),i))),this}filter(t){return this.steps.push((i=>t(i)?i:r)),this}reduce(t,i){let e=i;return this.steps.push((i=>(e=t(e,i),e))),this}latch(t=((t,i)=>t===i)){let i,e=!0;return this.steps.push((s=>{const n=e||!t(s,i);return e=!1,i=s,n?s:r})),this}evaluate(t){for(const i of this.steps)if((t=i(t))===r)break;return t}}t.fromNodeEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new de({onWillAddFirstListener:()=>t.on(i,s),onDidRemoveLastListener:()=>t.removeListener(i,s)});return n.event},t.fromDOMEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new de({onWillAddFirstListener:()=>t.addEventListener(i,s),onDidRemoveLastListener:()=>t.removeEventListener(i,s)});return n.event},t.toPromise=function(t){return new Promise((e=>i(t)(e)))},t.fromPromise=function(t){const i=new de;return t.then((t=>{i.fire(t)}),(()=>{i.fire(void 0)})).finally((()=>{i.dispose()})),i.event},t.runAndSubscribe=function(t,i,e){return i(e),t((t=>i(t)))},t.runAndSubscribeWithStore=function(t,i){let e=null;function s(t){null==e||e.dispose(),e=new Xi,i(t,e)}s(void 0);const n=t((t=>s(t)));return Yi((()=>{n.dispose(),null==e||e.dispose()}))};class c{constructor(t,i){this._observable=t,this._counter=0,this._hasChanged=!1,this.emitter=new de({onWillAddFirstListener:()=>{t.addObserver(this)},onDidRemoveLastListener:()=>{t.removeObserver(this)}}),i&&i.add(this.emitter)}beginUpdate(t){this._counter++}handlePossibleChange(t){}handleChange(t,i){this._hasChanged=!0}endUpdate(t){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}t.fromObservable=function(t,i){return new c(t,i).emitter.event},t.fromObservableLight=function(t){return(i,e,s)=>{let n=0,o=!1;const r={beginUpdate(){n++},endUpdate(){n--,0===n&&(t.reportChanges(),o&&(o=!1,i.call(e)))},handlePossibleChange(){},handleChange(){o=!0}};t.addObserver(r),t.reportChanges();const h={dispose(){t.removeObserver(r)}};return s instanceof Xi?s.add(h):Array.isArray(s)&&s.push(h),h}}}(he||(he={}));class ce{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${ce._idPool++}`,ce.all.add(this)}start(t){this._stopWatch=new re,this.listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}}ce.all=new Set,ce._idPool=0;class ae{constructor(t,i=Math.random().toString(18).slice(2,5)){this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){var t;null===(t=this._stacks)||void 0===t||t.clear()}check(t,i){const e=this.threshold;if(e<=0||i{const i=this._stacks.get(t.value)||0;this._stacks.set(t.value,i-1)}}}class le{static create(){var t;return new le(null!==(t=(new Error).stack)&&void 0!==t?t:"")}constructor(t){this.value=t}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class ue{constructor(t){this.value=t}}class de{constructor(t){var i,e,s,n,o;this._size=0,this._options=t,this._leakageMon=(null===(i=this._options)||void 0===i?void 0:i.leakWarningThreshold)?new ae(null!==(s=null===(e=this._options)||void 0===e?void 0:e.leakWarningThreshold)&&void 0!==s?s:-1):void 0,this._perfMon=(null===(n=this._options)||void 0===n?void 0:n._profName)?new ce(this._options._profName):void 0,this._deliveryQueue=null===(o=this._options)||void 0===o?void 0:o.deliveryQueue}dispose(){var t,i,e,s;this._disposed||(this._disposed=!0,(null===(t=this._deliveryQueue)||void 0===t?void 0:t.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),null===(e=null===(i=this._options)||void 0===i?void 0:i.onDidRemoveLastListener)||void 0===e||e.call(i),null===(s=this._leakageMon)||void 0===s||s.dispose())}get event(){var t;return null!==(t=this._event)&&void 0!==t||(this._event=(t,i,e)=>{var s,n,o,r,h;if(this._leakageMon&&this._size>3*this._leakageMon.threshold)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),te.None;if(this._disposed)return te.None;i&&(t=t.bind(i));const c=new ue(t);let a;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(c.stack=le.create(),a=this._leakageMon.check(c.stack,this._size+1)),this._listeners?this._listeners instanceof ue?(null!==(h=this._deliveryQueue)&&void 0!==h||(this._deliveryQueue=new fe),this._listeners=[this._listeners,c]):this._listeners.push(c):(null===(n=null===(s=this._options)||void 0===s?void 0:s.onWillAddFirstListener)||void 0===n||n.call(s,this),this._listeners=c,null===(r=null===(o=this._options)||void 0===o?void 0:o.onDidAddFirstListener)||void 0===r||r.call(o,this)),this._size++;const l=Yi((()=>{null==a||a(),this._removeListener(c)}));return e instanceof Xi?e.add(l):Array.isArray(e)&&e.push(l),l}),this._event}_removeListener(t){var i,e,s,n;if(null===(e=null===(i=this._options)||void 0===i?void 0:i.onWillRemoveListener)||void 0===e||e.call(i,this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,null===(n=null===(s=this._options)||void 0===s?void 0:s.onDidRemoveLastListener)||void 0===n||n.call(s,this),void(this._size=0);const o=this._listeners,r=o.indexOf(t);if(-1===r)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,o[r]=void 0;const h=this._deliveryQueue.current===this;if(2*this._size<=o.length){let t=0;for(let i=0;i0}}class fe{constructor(){this.i=-1,this.end=0}enqueue(t,i,e){this.i=0,this.end=e,this.current=t,this.value=i}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class pe extends de{constructor(t){super(t),this._isPaused=0,this._eventQueue=new Ut,this._mergeFn=null==t?void 0:t.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const t=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(t))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(t){this._size&&(0!==this._isPaused?this._eventQueue.push(t):super.fire(t))}}class ge extends pe{constructor(t){var i;super(t),this._delay=null!==(i=t.delay)&&void 0!==i?i:100}fire(t){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(t)}}class me extends de{constructor(t){super(t),this._queuedEvents=[],this._mergeFn=null==t?void 0:t.merge}fire(t){this.hasListeners()&&(this._queuedEvents.push(t),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((t=>super.fire(t))),this._queuedEvents=[]})))}}class we{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new de({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(t){const i={event:t,listener:null};return this.events.push(i),this.hasListeners&&this.hook(i),Yi(Gi((()=>{this.hasListeners&&this.unhook(i);const t=this.events.indexOf(i);this.events.splice(t,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((t=>this.hook(t)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((t=>this.unhook(t)))}hook(t){t.listener=t.event((t=>this.emitter.fire(t)))}unhook(t){t.listener&&t.listener.dispose(),t.listener=null}dispose(){this.emitter.dispose()}}class ve{constructor(){this.buffers=[]}wrapEvent(t){return(i,e,s)=>t((t=>{const s=this.buffers[this.buffers.length-1];s?s.push((()=>i.call(e,t))):i.call(e,t)}),void 0,s)}bufferEvents(t){const i=[];this.buffers.push(i);const e=t();return this.buffers.pop(),i.forEach((t=>t())),e}}class be{constructor(){this.listening=!1,this.inputEvent=he.None,this.inputEventListener=te.None,this.emitter=new de({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(t){this.inputEvent=t,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=t(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const ye=Object.freeze((function(t,i){const e=setTimeout(t.bind(i),0);return{dispose(){clearTimeout(e)}}}));var ke;!function(t){t.isCancellationToken=function(i){return i===t.None||i===t.Cancelled||i instanceof xe||!(!i||"object"!=typeof i)&&"boolean"==typeof i.isCancellationRequested&&"function"==typeof i.onCancellationRequested},t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:he.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ye})}(ke||(ke={}));class xe{constructor(){this._isCancelled=!1,this._emitter=null}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?ye:(this._emitter||(this._emitter=new de),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Ce{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new xe),this._token}cancel(){this._token?this._token instanceof xe&&this._token.cancel():this._token=ke.Cancelled}dispose(t=!1){var i;t&&this.cancel(),null===(i=this._parentListener)||void 0===i||i.dispose(),this._token?this._token instanceof xe&&this._token.dispose():this._token=ke.None}}class Se{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,i){this._keyCodeToStr[t]=i,this._strToKeyCode[i.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const De=new Se,Ee=new Se,Ae=new Se,Me=new Array(230),Le={},Fe=[],Te=Object.create(null),Re=Object.create(null),Oe=[],Ie=[];for(let t=0;t<=193;t++)Oe[t]=-1;for(let t=0;t<=132;t++)Ie[t]=-1;var _e;function Ne(t,i){return(t|(65535&i)<<16>>>0)>>>0}let Be;!function(){const t="",i=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",t,t],[1,1,"Hyper",0,t,0,t,t,t],[1,2,"Super",0,t,0,t,t,t],[1,3,"Fn",0,t,0,t,t,t],[1,4,"FnLock",0,t,0,t,t,t],[1,5,"Suspend",0,t,0,t,t,t],[1,6,"Resume",0,t,0,t,t,t],[1,7,"Turbo",0,t,0,t,t,t],[1,8,"Sleep",0,t,0,"VK_SLEEP",t,t],[1,9,"WakeUp",0,t,0,t,t,t],[0,10,"KeyA",31,"A",65,"VK_A",t,t],[0,11,"KeyB",32,"B",66,"VK_B",t,t],[0,12,"KeyC",33,"C",67,"VK_C",t,t],[0,13,"KeyD",34,"D",68,"VK_D",t,t],[0,14,"KeyE",35,"E",69,"VK_E",t,t],[0,15,"KeyF",36,"F",70,"VK_F",t,t],[0,16,"KeyG",37,"G",71,"VK_G",t,t],[0,17,"KeyH",38,"H",72,"VK_H",t,t],[0,18,"KeyI",39,"I",73,"VK_I",t,t],[0,19,"KeyJ",40,"J",74,"VK_J",t,t],[0,20,"KeyK",41,"K",75,"VK_K",t,t],[0,21,"KeyL",42,"L",76,"VK_L",t,t],[0,22,"KeyM",43,"M",77,"VK_M",t,t],[0,23,"KeyN",44,"N",78,"VK_N",t,t],[0,24,"KeyO",45,"O",79,"VK_O",t,t],[0,25,"KeyP",46,"P",80,"VK_P",t,t],[0,26,"KeyQ",47,"Q",81,"VK_Q",t,t],[0,27,"KeyR",48,"R",82,"VK_R",t,t],[0,28,"KeyS",49,"S",83,"VK_S",t,t],[0,29,"KeyT",50,"T",84,"VK_T",t,t],[0,30,"KeyU",51,"U",85,"VK_U",t,t],[0,31,"KeyV",52,"V",86,"VK_V",t,t],[0,32,"KeyW",53,"W",87,"VK_W",t,t],[0,33,"KeyX",54,"X",88,"VK_X",t,t],[0,34,"KeyY",55,"Y",89,"VK_Y",t,t],[0,35,"KeyZ",56,"Z",90,"VK_Z",t,t],[0,36,"Digit1",22,"1",49,"VK_1",t,t],[0,37,"Digit2",23,"2",50,"VK_2",t,t],[0,38,"Digit3",24,"3",51,"VK_3",t,t],[0,39,"Digit4",25,"4",52,"VK_4",t,t],[0,40,"Digit5",26,"5",53,"VK_5",t,t],[0,41,"Digit6",27,"6",54,"VK_6",t,t],[0,42,"Digit7",28,"7",55,"VK_7",t,t],[0,43,"Digit8",29,"8",56,"VK_8",t,t],[0,44,"Digit9",30,"9",57,"VK_9",t,t],[0,45,"Digit0",21,"0",48,"VK_0",t,t],[1,46,"Enter",3,"Enter",13,"VK_RETURN",t,t],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",t,t],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",t,t],[1,49,"Tab",2,"Tab",9,"VK_TAB",t,t],[1,50,"Space",10,"Space",32,"VK_SPACE",t,t],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,t,0,t,t,t],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",t,t],[1,64,"F1",59,"F1",112,"VK_F1",t,t],[1,65,"F2",60,"F2",113,"VK_F2",t,t],[1,66,"F3",61,"F3",114,"VK_F3",t,t],[1,67,"F4",62,"F4",115,"VK_F4",t,t],[1,68,"F5",63,"F5",116,"VK_F5",t,t],[1,69,"F6",64,"F6",117,"VK_F6",t,t],[1,70,"F7",65,"F7",118,"VK_F7",t,t],[1,71,"F8",66,"F8",119,"VK_F8",t,t],[1,72,"F9",67,"F9",120,"VK_F9",t,t],[1,73,"F10",68,"F10",121,"VK_F10",t,t],[1,74,"F11",69,"F11",122,"VK_F11",t,t],[1,75,"F12",70,"F12",123,"VK_F12",t,t],[1,76,"PrintScreen",0,t,0,t,t,t],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",t,t],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",t,t],[1,79,"Insert",19,"Insert",45,"VK_INSERT",t,t],[1,80,"Home",14,"Home",36,"VK_HOME",t,t],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",t,t],[1,82,"Delete",20,"Delete",46,"VK_DELETE",t,t],[1,83,"End",13,"End",35,"VK_END",t,t],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",t,t],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",t],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",t],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",t],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",t],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",t,t],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",t,t],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",t,t],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",t,t],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",t,t],[1,94,"NumpadEnter",3,t,0,t,t,t],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",t,t],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",t,t],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",t,t],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",t,t],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",t,t],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",t,t],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",t,t],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",t,t],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",t,t],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",t,t],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",t,t],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",t,t],[1,107,"ContextMenu",58,"ContextMenu",93,t,t,t],[1,108,"Power",0,t,0,t,t,t],[1,109,"NumpadEqual",0,t,0,t,t,t],[1,110,"F13",71,"F13",124,"VK_F13",t,t],[1,111,"F14",72,"F14",125,"VK_F14",t,t],[1,112,"F15",73,"F15",126,"VK_F15",t,t],[1,113,"F16",74,"F16",127,"VK_F16",t,t],[1,114,"F17",75,"F17",128,"VK_F17",t,t],[1,115,"F18",76,"F18",129,"VK_F18",t,t],[1,116,"F19",77,"F19",130,"VK_F19",t,t],[1,117,"F20",78,"F20",131,"VK_F20",t,t],[1,118,"F21",79,"F21",132,"VK_F21",t,t],[1,119,"F22",80,"F22",133,"VK_F22",t,t],[1,120,"F23",81,"F23",134,"VK_F23",t,t],[1,121,"F24",82,"F24",135,"VK_F24",t,t],[1,122,"Open",0,t,0,t,t,t],[1,123,"Help",0,t,0,t,t,t],[1,124,"Select",0,t,0,t,t,t],[1,125,"Again",0,t,0,t,t,t],[1,126,"Undo",0,t,0,t,t,t],[1,127,"Cut",0,t,0,t,t,t],[1,128,"Copy",0,t,0,t,t,t],[1,129,"Paste",0,t,0,t,t,t],[1,130,"Find",0,t,0,t,t,t],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",t,t],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",t,t],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",t,t],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",t,t],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",t,t],[1,136,"KanaMode",0,t,0,t,t,t],[0,137,"IntlYen",0,t,0,t,t,t],[1,138,"Convert",0,t,0,t,t,t],[1,139,"NonConvert",0,t,0,t,t,t],[1,140,"Lang1",0,t,0,t,t,t],[1,141,"Lang2",0,t,0,t,t,t],[1,142,"Lang3",0,t,0,t,t,t],[1,143,"Lang4",0,t,0,t,t,t],[1,144,"Lang5",0,t,0,t,t,t],[1,145,"Abort",0,t,0,t,t,t],[1,146,"Props",0,t,0,t,t,t],[1,147,"NumpadParenLeft",0,t,0,t,t,t],[1,148,"NumpadParenRight",0,t,0,t,t,t],[1,149,"NumpadBackspace",0,t,0,t,t,t],[1,150,"NumpadMemoryStore",0,t,0,t,t,t],[1,151,"NumpadMemoryRecall",0,t,0,t,t,t],[1,152,"NumpadMemoryClear",0,t,0,t,t,t],[1,153,"NumpadMemoryAdd",0,t,0,t,t,t],[1,154,"NumpadMemorySubtract",0,t,0,t,t,t],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",t,t],[1,156,"NumpadClearEntry",0,t,0,t,t,t],[1,0,t,5,"Ctrl",17,"VK_CONTROL",t,t],[1,0,t,4,"Shift",16,"VK_SHIFT",t,t],[1,0,t,6,"Alt",18,"VK_MENU",t,t],[1,0,t,57,"Meta",91,"VK_COMMAND",t,t],[1,157,"ControlLeft",5,t,0,"VK_LCONTROL",t,t],[1,158,"ShiftLeft",4,t,0,"VK_LSHIFT",t,t],[1,159,"AltLeft",6,t,0,"VK_LMENU",t,t],[1,160,"MetaLeft",57,t,0,"VK_LWIN",t,t],[1,161,"ControlRight",5,t,0,"VK_RCONTROL",t,t],[1,162,"ShiftRight",4,t,0,"VK_RSHIFT",t,t],[1,163,"AltRight",6,t,0,"VK_RMENU",t,t],[1,164,"MetaRight",57,t,0,"VK_RWIN",t,t],[1,165,"BrightnessUp",0,t,0,t,t,t],[1,166,"BrightnessDown",0,t,0,t,t,t],[1,167,"MediaPlay",0,t,0,t,t,t],[1,168,"MediaRecord",0,t,0,t,t,t],[1,169,"MediaFastForward",0,t,0,t,t,t],[1,170,"MediaRewind",0,t,0,t,t,t],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",t,t],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",t,t],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",t,t],[1,174,"Eject",0,t,0,t,t,t],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",t,t],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",t,t],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",t,t],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",t,t],[1,179,"LaunchApp1",0,t,0,"VK_MEDIA_LAUNCH_APP1",t,t],[1,180,"SelectTask",0,t,0,t,t,t],[1,181,"LaunchScreenSaver",0,t,0,t,t,t],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",t,t],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",t,t],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",t,t],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",t,t],[1,186,"BrowserStop",0,t,0,"VK_BROWSER_STOP",t,t],[1,187,"BrowserRefresh",0,t,0,"VK_BROWSER_REFRESH",t,t],[1,188,"BrowserFavorites",0,t,0,"VK_BROWSER_FAVORITES",t,t],[1,189,"ZoomToggle",0,t,0,t,t,t],[1,190,"MailReply",0,t,0,t,t,t],[1,191,"MailForward",0,t,0,t,t,t],[1,192,"MailSend",0,t,0,t,t,t],[1,0,t,114,"KeyInComposition",229,t,t,t],[1,0,t,116,"ABNT_C2",194,"VK_ABNT_C2",t,t],[1,0,t,96,"OEM_8",223,"VK_OEM_8",t,t],[1,0,t,0,t,0,"VK_KANA",t,t],[1,0,t,0,t,0,"VK_HANGUL",t,t],[1,0,t,0,t,0,"VK_JUNJA",t,t],[1,0,t,0,t,0,"VK_FINAL",t,t],[1,0,t,0,t,0,"VK_HANJA",t,t],[1,0,t,0,t,0,"VK_KANJI",t,t],[1,0,t,0,t,0,"VK_CONVERT",t,t],[1,0,t,0,t,0,"VK_NONCONVERT",t,t],[1,0,t,0,t,0,"VK_ACCEPT",t,t],[1,0,t,0,t,0,"VK_MODECHANGE",t,t],[1,0,t,0,t,0,"VK_SELECT",t,t],[1,0,t,0,t,0,"VK_PRINT",t,t],[1,0,t,0,t,0,"VK_EXECUTE",t,t],[1,0,t,0,t,0,"VK_SNAPSHOT",t,t],[1,0,t,0,t,0,"VK_HELP",t,t],[1,0,t,0,t,0,"VK_APPS",t,t],[1,0,t,0,t,0,"VK_PROCESSKEY",t,t],[1,0,t,0,t,0,"VK_PACKET",t,t],[1,0,t,0,t,0,"VK_DBE_SBCSCHAR",t,t],[1,0,t,0,t,0,"VK_DBE_DBCSCHAR",t,t],[1,0,t,0,t,0,"VK_ATTN",t,t],[1,0,t,0,t,0,"VK_CRSEL",t,t],[1,0,t,0,t,0,"VK_EXSEL",t,t],[1,0,t,0,t,0,"VK_EREOF",t,t],[1,0,t,0,t,0,"VK_PLAY",t,t],[1,0,t,0,t,0,"VK_ZOOM",t,t],[1,0,t,0,t,0,"VK_NONAME",t,t],[1,0,t,0,t,0,"VK_PA1",t,t],[1,0,t,0,t,0,"VK_OEM_CLEAR",t,t]],e=[],s=[];for(const t of i){const[i,n,o,r,h,c,a,l,u]=t;if(s[n]||(s[n]=!0,Fe[n]=o,Te[o]=n,Re[o.toLowerCase()]=n,i&&(Oe[n]=r,0!==r&&3!==r&&5!==r&&4!==r&&6!==r&&57!==r&&(Ie[r]=n))),!e[r]){if(e[r]=!0,!h)throw new Error(`String representation missing for key code ${r} around scan code ${o}`);De.define(r,h),Ee.define(r,l||h),Ae.define(r,u||l||h)}c&&(Me[c]=r),a&&(Le[a]=r)}Ie[3]=46}(),function(t){t.toString=function(t){return De.keyCodeToStr(t)},t.fromString=function(t){return De.strToKeyCode(t)},t.toUserSettingsUS=function(t){return Ee.keyCodeToStr(t)},t.toUserSettingsGeneral=function(t){return Ae.keyCodeToStr(t)},t.fromUserSettings=function(t){return Ee.strToKeyCode(t)||Ae.strToKeyCode(t)},t.toElectronAccelerator=function(t){if(t>=98&&t<=113)return null;switch(t){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return De.keyCodeToStr(t)}}(_e||(_e={}));const Pe=globalThis.vscode;if(void 0!==Pe&&void 0!==Pe.process){const t=Pe.process;Be={get platform(){return t.platform},get arch(){return t.arch},get env(){return t.env},cwd:()=>t.cwd()}}else Be="undefined"!=typeof process?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return xt?"win32":Ct?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const $e=Be.cwd,We=Be.env,je=Be.platform,ze=46,He=47,Ve=92,Ue=58;class qe extends Error{constructor(t,i,e){let s;"string"==typeof i&&0===i.indexOf("not ")?(s="must not be",i=i.replace(/^not /,"")):s="must be";const n=-1!==t.indexOf(".")?"property":"argument";let o=`The "${t}" ${n} ${s} of type ${i}`;o+=". Received type "+typeof e,super(o),this.code="ERR_INVALID_ARG_TYPE"}}function Ke(t,i){if("string"!=typeof t)throw new qe(i,"string",t)}const Ge="win32"===je;function Ze(t){return t===He||t===Ve}function Qe(t){return t===He}function Je(t){return t>=65&&t<=90||t>=97&&t<=122}function Ye(t,i,e,s){let n="",o=0,r=-1,h=0,c=0;for(let a=0;a<=t.length;++a){if(a2){const t=n.lastIndexOf(e);-1===t?(n="",o=0):(n=n.slice(0,t),o=n.length-1-n.lastIndexOf(e)),r=a,h=0;continue}if(0!==n.length){n="",o=0,r=a,h=0;continue}}i&&(n+=n.length>0?`${e}..`:"..",o=2)}else n.length>0?n+=`${e}${t.slice(r+1,a)}`:n=t.slice(r+1,a),o=a-r-1;r=a,h=0}else c===ze&&-1!==h?++h:h=-1}return n}function Xe(t,i){!function(t){if(null===t||"object"!=typeof t)throw new qe("pathObject","Object",t)}(i);const e=i.dir||i.root,s=i.base||`${i.name||""}${i.ext||""}`;return e?e===i.root?`${e}${s}`:`${e}${t}${s}`:s}const ts={resolve(...t){let i="",e="",s=!1;for(let n=t.length-1;n>=-1;n--){let o;if(n>=0){if(o=t[n],Ke(o,"path"),0===o.length)continue}else 0===i.length?o=$e():(o=We[`=${i}`]||$e(),(void 0===o||o.slice(0,2).toLowerCase()!==i.toLowerCase()&&o.charCodeAt(2)===Ve)&&(o=`${i}\\`));const r=o.length;let h=0,c="",a=!1;const l=o.charCodeAt(0);if(1===r)Ze(l)&&(h=1,a=!0);else if(Ze(l))if(a=!0,Ze(o.charCodeAt(1))){let t=2,i=t;for(;t2&&Ze(o.charCodeAt(2))&&(a=!0,h=3));if(c.length>0)if(i.length>0){if(c.toLowerCase()!==i.toLowerCase())continue}else i=c;if(s){if(i.length>0)break}else if(e=`${o.slice(h)}\\${e}`,s=a,a&&i.length>0)break}return e=Ye(e,!s,"\\",Ze),s?`${i}\\${e}`:`${i}${e}`||"."},normalize(t){Ke(t,"path");const i=t.length;if(0===i)return".";let e,s=0,n=!1;const o=t.charCodeAt(0);if(1===i)return Qe(o)?"\\":t;if(Ze(o))if(n=!0,Ze(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Ze(t.charCodeAt(2))&&(n=!0,s=3));let r=s0&&Ze(t.charCodeAt(i-1))&&(r+="\\"),void 0===e?n?`\\${r}`:r:n?`${e}\\${r}`:`${e}${r}`},isAbsolute(t){Ke(t,"path");const i=t.length;if(0===i)return!1;const e=t.charCodeAt(0);return Ze(e)||i>2&&Je(e)&&t.charCodeAt(1)===Ue&&Ze(t.charCodeAt(2))},join(...t){if(0===t.length)return".";let i,e;for(let s=0;s0&&(void 0===i?i=e=n:i+=`\\${n}`)}if(void 0===i)return".";let s=!0,n=0;if("string"==typeof e&&Ze(e.charCodeAt(0))){++n;const t=e.length;t>1&&Ze(e.charCodeAt(1))&&(++n,t>2&&(Ze(e.charCodeAt(2))?++n:s=!1))}if(s){for(;n=2&&(i=`\\${i.slice(n)}`)}return ts.normalize(i)},relative(t,i){if(Ke(t,"from"),Ke(i,"to"),t===i)return"";const e=ts.resolve(t),s=ts.resolve(i);if(e===s)return"";if((t=e.toLowerCase())===(i=s.toLowerCase()))return"";let n=0;for(;nn&&t.charCodeAt(o-1)===Ve;)o--;const r=o-n;let h=0;for(;hh&&i.charCodeAt(c-1)===Ve;)c--;const a=c-h,l=rl){if(i.charCodeAt(h+d)===Ve)return s.slice(h+d+1);if(2===d)return s.slice(h+d)}r>l&&(t.charCodeAt(n+d)===Ve?u=d:2===d&&(u=3)),-1===u&&(u=0)}let f="";for(d=n+u+1;d<=o;++d)d!==o&&t.charCodeAt(d)!==Ve||(f+=0===f.length?"..":"\\..");return h+=u,f.length>0?`${f}${s.slice(h,c)}`:(s.charCodeAt(h)===Ve&&++h,s.slice(h,c))},toNamespacedPath(t){if("string"!=typeof t||0===t.length)return t;const i=ts.resolve(t);if(i.length<=2)return t;if(i.charCodeAt(0)===Ve){if(i.charCodeAt(1)===Ve){const t=i.charCodeAt(2);if(63!==t&&t!==ze)return`\\\\?\\UNC\\${i.slice(2)}`}}else if(Je(i.charCodeAt(0))&&i.charCodeAt(1)===Ue&&i.charCodeAt(2)===Ve)return`\\\\?\\${i}`;return t},dirname(t){Ke(t,"path");const i=t.length;if(0===i)return".";let e=-1,s=0;const n=t.charCodeAt(0);if(1===i)return Ze(n)?t:".";if(Ze(n)){if(e=s=1,Ze(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Ze(t.charCodeAt(2))?3:2,s=e);let o=-1,r=!0;for(let e=i-1;e>=s;--e)if(Ze(t.charCodeAt(e))){if(!r){o=e;break}}else r=!1;if(-1===o){if(-1===e)return".";o=e}return t.slice(0,o)},basename(t,i){void 0!==i&&Ke(i,"ext"),Ke(t,"path");let e,s=0,n=-1,o=!0;if(t.length>=2&&Je(t.charCodeAt(0))&&t.charCodeAt(1)===Ue&&(s=2),void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=s;--e){const c=t.charCodeAt(e);if(Ze(c)){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=s;--e)if(Ze(t.charCodeAt(e))){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ke(t,"path");let i=0,e=-1,s=0,n=-1,o=!0,r=0;t.length>=2&&t.charCodeAt(1)===Ue&&Je(t.charCodeAt(0))&&(i=s=2);for(let h=t.length-1;h>=i;--h){const i=t.charCodeAt(h);if(Ze(i)){if(!o){s=h+1;break}}else-1===n&&(o=!1,n=h+1),i===ze?-1===e?e=h:1!==r&&(r=1):-1!==e&&(r=-1)}return-1===e||-1===n||0===r||1===r&&e===n-1&&e===s+1?"":t.slice(e,n)},format:Xe.bind(null,"\\"),parse(t){Ke(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.length;let s=0,n=t.charCodeAt(0);if(1===e)return Ze(n)?(i.root=i.dir=t,i):(i.base=i.name=t,i);if(Ze(n)){if(s=1,Ze(t.charCodeAt(1))){let i=2,n=i;for(;i0&&(i.root=t.slice(0,s));let o=-1,r=s,h=-1,c=!0,a=t.length-1,l=0;for(;a>=s;--a)if(n=t.charCodeAt(a),Ze(n)){if(!c){r=a+1;break}}else-1===h&&(c=!1,h=a+1),n===ze?-1===o?o=a:1!==l&&(l=1):-1!==o&&(l=-1);return-1!==h&&(-1===o||0===l||1===l&&o===h-1&&o===r+1?i.base=i.name=t.slice(r,h):(i.name=t.slice(r,o),i.base=t.slice(r,h),i.ext=t.slice(o,h))),i.dir=r>0&&r!==s?t.slice(0,r-1):i.root,i},sep:"\\",delimiter:";",win32:null,posix:null},is=(()=>{if(Ge){const t=/\\/g;return()=>{const i=$e().replace(t,"/");return i.slice(i.indexOf("/"))}}return()=>$e()})(),es={resolve(...t){let i="",e=!1;for(let s=t.length-1;s>=-1&&!e;s--){const n=s>=0?t[s]:is();Ke(n,"path"),0!==n.length&&(i=`${n}/${i}`,e=n.charCodeAt(0)===He)}return i=Ye(i,!e,"/",Qe),e?`/${i}`:i.length>0?i:"."},normalize(t){if(Ke(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===He,e=t.charCodeAt(t.length-1)===He;return 0===(t=Ye(t,!i,"/",Qe)).length?i?"/":e?"./":".":(e&&(t+="/"),i?`/${t}`:t)},isAbsolute:t=>(Ke(t,"path"),t.length>0&&t.charCodeAt(0)===He),join(...t){if(0===t.length)return".";let i;for(let e=0;e0&&(void 0===i?i=s:i+=`/${s}`)}return void 0===i?".":es.normalize(i)},relative(t,i){if(Ke(t,"from"),Ke(i,"to"),t===i)return"";if((t=es.resolve(t))===(i=es.resolve(i)))return"";const e=t.length,s=e-1,n=i.length-1,o=so){if(i.charCodeAt(1+h)===He)return i.slice(1+h+1);if(0===h)return i.slice(1+h)}else s>o&&(t.charCodeAt(1+h)===He?r=h:0===h&&(r=0));let c="";for(h=1+r+1;h<=e;++h)h!==e&&t.charCodeAt(h)!==He||(c+=0===c.length?"..":"/..");return`${c}${i.slice(1+r)}`},toNamespacedPath:t=>t,dirname(t){if(Ke(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===He;let e=-1,s=!0;for(let i=t.length-1;i>=1;--i)if(t.charCodeAt(i)===He){if(!s){e=i;break}}else s=!1;return-1===e?i?"/":".":i&&1===e?"//":t.slice(0,e)},basename(t,i){void 0!==i&&Ke(i,"ext"),Ke(t,"path");let e,s=0,n=-1,o=!0;if(void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=0;--e){const c=t.charCodeAt(e);if(c===He){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=0;--e)if(t.charCodeAt(e)===He){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ke(t,"path");let i=-1,e=0,s=-1,n=!0,o=0;for(let r=t.length-1;r>=0;--r){const h=t.charCodeAt(r);if(h!==He)-1===s&&(n=!1,s=r+1),h===ze?-1===i?i=r:1!==o&&(o=1):-1!==i&&(o=-1);else if(!n){e=r+1;break}}return-1===i||-1===s||0===o||1===o&&i===s-1&&i===e+1?"":t.slice(i,s)},format:Xe.bind(null,"/"),parse(t){Ke(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.charCodeAt(0)===He;let s;e?(i.root="/",s=1):s=0;let n=-1,o=0,r=-1,h=!0,c=t.length-1,a=0;for(;c>=s;--c){const i=t.charCodeAt(c);if(i!==He)-1===r&&(h=!1,r=c+1),i===ze?-1===n?n=c:1!==a&&(a=1):-1!==n&&(a=-1);else if(!h){o=c+1;break}}if(-1!==r){const s=0===o&&e?1:o;-1===n||0===a||1===a&&n===r-1&&n===o+1?i.base=i.name=t.slice(s,r):(i.name=t.slice(s,n),i.base=t.slice(s,r),i.ext=t.slice(n,r))}return o>0?i.dir=t.slice(0,o-1):e&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};es.win32=ts.win32=ts,es.posix=ts.posix=es;const ss=Ge?ts.normalize:es.normalize,ns=Ge?ts.resolve:es.resolve,os=Ge?ts.relative:es.relative,rs=Ge?ts.dirname:es.dirname,hs=Ge?ts.basename:es.basename,cs=Ge?ts.extname:es.extname,as=Ge?ts.sep:es.sep,ls=/^\w[\w\d+.-]*$/,us=/^\//,ds=/^\/\//,fs="",ps="/",gs=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ms{static isUri(t){return t instanceof ms||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString}constructor(t,i,e,s,n,o=!1){"object"==typeof t?(this.scheme=t.scheme||fs,this.authority=t.authority||fs,this.path=t.path||fs,this.query=t.query||fs,this.fragment=t.fragment||fs):(this.scheme=function(t,i){return t||i?t:"file"}(t,o),this.authority=i||fs,this.path=function(t,i){switch(t){case"https":case"http":case"file":i?i[0]!==ps&&(i=ps+i):i=ps}return i}(this.scheme,e||fs),this.query=s||fs,this.fragment=n||fs,function(t,i){if(!t.scheme&&i)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${t.authority}", path: "${t.path}", query: "${t.query}", fragment: "${t.fragment}"}`);if(t.scheme&&!ls.test(t.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t.path)if(t.authority){if(!us.test(t.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(ds.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,o))}get fsPath(){return xs(this,!1)}with(t){if(!t)return this;let{scheme:i,authority:e,path:s,query:n,fragment:o}=t;return void 0===i?i=this.scheme:null===i&&(i=fs),void 0===e?e=this.authority:null===e&&(e=fs),void 0===s?s=this.path:null===s&&(s=fs),void 0===n?n=this.query:null===n&&(n=fs),void 0===o?o=this.fragment:null===o&&(o=fs),i===this.scheme&&e===this.authority&&s===this.path&&n===this.query&&o===this.fragment?this:new vs(i,e,s,n,o)}static parse(t,i=!1){const e=gs.exec(t);return e?new vs(e[2]||fs,Es(e[4]||fs),Es(e[5]||fs),Es(e[7]||fs),Es(e[9]||fs),i):new vs(fs,fs,fs,fs,fs)}static file(t){let i=fs;if(xt&&(t=t.replace(/\\/g,ps)),t[0]===ps&&t[1]===ps){const e=t.indexOf(ps,2);-1===e?(i=t.substring(2),t=ps):(i=t.substring(2,e),t=t.substring(e)||ps)}return new vs("file",i,t,fs,fs)}static from(t,i){return new vs(t.scheme,t.authority,t.path,t.query,t.fragment,i)}static joinPath(t,...i){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let e;return e=xt&&"file"===t.scheme?ms.file(ts.join(xs(t,!0),...i)).path:es.join(t.path,...i),t.with({path:e})}toString(t=!1){return Cs(this,t)}toJSON(){return this}static revive(t){var i,e;if(t){if(t instanceof ms)return t;{const s=new vs(t);return s._formatted=null!==(i=t.external)&&void 0!==i?i:null,s._fsPath=t._sep===ws&&null!==(e=t.fsPath)&&void 0!==e?e:null,s}}return t}}const ws=xt?1:void 0;class vs extends ms{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=xs(this,!1)),this._fsPath}toString(t=!1){return t?Cs(this,!0):(this._formatted||(this._formatted=Cs(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=ws),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const bs={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function ys(t,i,e){let s,n=-1;for(let o=0;o=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||i&&47===r||e&&91===r||e&&93===r||e&&58===r)-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),void 0!==s&&(s+=t.charAt(o));else{void 0===s&&(s=t.substr(0,o));const i=bs[r];void 0!==i?(-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),s+=i):-1===n&&(n=o)}}return-1!==n&&(s+=encodeURIComponent(t.substring(n))),void 0!==s?s:t}function ks(t){let i;for(let e=0;e1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&58===t.path.charCodeAt(2)?i?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,xt&&(e=e.replace(/\//g,"\\")),e}function Cs(t,i){const e=i?ks:ys;let s="",{scheme:n,authority:o,path:r,query:h,fragment:c}=t;if(n&&(s+=n,s+=":"),(o||"file"===n)&&(s+=ps,s+=ps),o){let t=o.indexOf("@");if(-1!==t){const i=o.substr(0,t);o=o.substr(t+1),t=i.lastIndexOf(":"),-1===t?s+=e(i,!1,!1):(s+=e(i.substr(0,t),!1,!1),s+=":",s+=e(i.substr(t+1),!1,!0)),s+="@"}o=o.toLowerCase(),t=o.lastIndexOf(":"),-1===t?s+=e(o,!1,!0):(s+=e(o.substr(0,t),!1,!0),s+=o.substr(t))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const t=r.charCodeAt(1);t>=65&&t<=90&&(r=`/${String.fromCharCode(t+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const t=r.charCodeAt(0);t>=65&&t<=90&&(r=`${String.fromCharCode(t+32)}:${r.substr(2)}`)}s+=e(r,!0,!1)}return h&&(s+="?",s+=e(h,!1,!1)),c&&(s+="#",s+=i?c:ys(c,!1,!1)),s}function Ss(t){try{return decodeURIComponent(t)}catch(i){return t.length>3?t.substr(0,3)+Ss(t.substr(3)):t}}const Ds=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Es(t){return t.match(Ds)?t.replace(Ds,(t=>Ss(t))):t}class As{constructor(t,i){this.lineNumber=t,this.column=i}with(t=this.lineNumber,i=this.column){return t===this.lineNumber&&i===this.column?this:new As(t,i)}delta(t=0,i=0){return this.with(this.lineNumber+t,this.column+i)}equals(t){return As.equals(this,t)}static equals(t,i){return!t&&!i||!!t&&!!i&&t.lineNumber===i.lineNumber&&t.column===i.column}isBefore(t){return As.isBefore(this,t)}static isBefore(t,i){return t.lineNumbere||t===e&&i>s?(this.startLineNumber=e,this.startColumn=s,this.endLineNumber=t,this.endColumn=i):(this.startLineNumber=t,this.startColumn=i,this.endLineNumber=e,this.endColumn=s)}isEmpty(){return Ms.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return Ms.containsPosition(this,t)}static containsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.columnt.endColumn)}static strictContainsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.column<=t.startColumn||i.lineNumber===t.endLineNumber&&i.column>=t.endColumn)}containsRange(t){return Ms.containsRange(this,t)}static containsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumnt.endColumn)}strictContainsRange(t){return Ms.strictContainsRange(this,t)}static strictContainsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumn<=t.startColumn||i.endLineNumber===t.endLineNumber&&i.endColumn>=t.endColumn)}plusRange(t){return Ms.plusRange(this,t)}static plusRange(t,i){let e,s,n,o;return i.startLineNumbert.endLineNumber?(n=i.endLineNumber,o=i.endColumn):i.endLineNumber===t.endLineNumber?(n=i.endLineNumber,o=Math.max(i.endColumn,t.endColumn)):(n=t.endLineNumber,o=t.endColumn),new Ms(e,s,n,o)}intersectRanges(t){return Ms.intersectRanges(this,t)}static intersectRanges(t,i){let e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn;const r=i.startLineNumber,h=i.startColumn,c=i.endLineNumber,a=i.endColumn;return ec?(n=c,o=a):n===c&&(o=Math.min(o,a)),e>n||e===n&&s>o?null:new Ms(e,s,n,o)}equalsRange(t){return Ms.equalsRange(this,t)}static equalsRange(t,i){return!t&&!i||!!t&&!!i&&t.startLineNumber===i.startLineNumber&&t.startColumn===i.startColumn&&t.endLineNumber===i.endLineNumber&&t.endColumn===i.endColumn}getEndPosition(){return Ms.getEndPosition(this)}static getEndPosition(t){return new As(t.endLineNumber,t.endColumn)}getStartPosition(){return Ms.getStartPosition(this)}static getStartPosition(t){return new As(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,i){return new Ms(this.startLineNumber,this.startColumn,t,i)}setStartPosition(t,i){return new Ms(t,i,this.endLineNumber,this.endColumn)}collapseToStart(){return Ms.collapseToStart(this)}static collapseToStart(t){return new Ms(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return Ms.collapseToEnd(this)}static collapseToEnd(t){return new Ms(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new Ms(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}static fromPositions(t,i=t){return new Ms(t.lineNumber,t.column,i.lineNumber,i.column)}static lift(t){return t?new Ms(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&"number"==typeof t.startLineNumber&&"number"==typeof t.startColumn&&"number"==typeof t.endLineNumber&&"number"==typeof t.endColumn}static areIntersectingOrTouching(t,i){return!(t.endLineNumbert.startLineNumber}toJSON(){return this}}class Ls extends Ms{constructor(t,i,e,s){super(t,i,e,s),this.selectionStartLineNumber=t,this.selectionStartColumn=i,this.positionLineNumber=e,this.positionColumn=s}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Ls.selectionsEqual(this,t)}static selectionsEqual(t,i){return t.selectionStartLineNumber===i.selectionStartLineNumber&&t.selectionStartColumn===i.selectionStartColumn&&t.positionLineNumber===i.positionLineNumber&&t.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,i){return 0===this.getDirection()?new Ls(this.startLineNumber,this.startColumn,t,i):new Ls(t,i,this.startLineNumber,this.startColumn)}getPosition(){return new As(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new As(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,i){return 0===this.getDirection()?new Ls(t,i,this.endLineNumber,this.endColumn):new Ls(this.endLineNumber,this.endColumn,t,i)}static fromPositions(t,i=t){return new Ls(t.lineNumber,t.column,i.lineNumber,i.column)}static fromRange(t,i){return 0===i?new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Ls(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Ls(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,i){if(t&&!i||!t&&i)return!1;if(!t&&!i)return!0;if(t.length!==i.length)return!1;for(let e=0,s=t.length;e{t&&t.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const Zs=new class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new de,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(t){this._onDidChange.fire({changedLanguages:t,changedColorMap:!1})}register(t,i){return this._tokenizationSupports.set(t,i),this.handleChange([t]),Yi((()=>{this._tokenizationSupports.get(t)===i&&(this._tokenizationSupports.delete(t),this.handleChange([t]))}))}get(t){return this._tokenizationSupports.get(t)||null}registerFactory(t,i){var e;null===(e=this._factories.get(t))||void 0===e||e.dispose();const s=new Is(this,t,i);return this._factories.set(t,s),Yi((()=>{const i=this._factories.get(t);i&&i===s&&(this._factories.delete(t),i.dispose())}))}async getOrCreate(t){const i=this.get(t);if(i)return i;const e=this._factories.get(t);return!e||e.isResolved?null:(await e.resolve(),this.get(t))}isResolved(t){if(this.get(t))return!0;const i=this._factories.get(t);return!(i&&!i.isResolved)}setColorMap(t){this._colorMap=t,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};var Qs,Js,Ys,Xs,tn,en,sn,nn,on,rn,hn,cn,an,ln,un,dn,fn,pn,gn,mn,wn,vn,bn,yn,kn,xn,Cn,Sn,Dn,En,An,Mn,Ln,Fn,Tn,Rn,On,In,_n,Nn;!function(t){t[t.Unknown=0]="Unknown",t[t.Disabled=1]="Disabled",t[t.Enabled=2]="Enabled"}(Qs||(Qs={})),function(t){t[t.Invoke=1]="Invoke",t[t.Auto=2]="Auto"}(Js||(Js={})),function(t){t[t.None=0]="None",t[t.KeepWhitespace=1]="KeepWhitespace",t[t.InsertAsSnippet=4]="InsertAsSnippet"}(Ys||(Ys={})),function(t){t[t.Method=0]="Method",t[t.Function=1]="Function",t[t.Constructor=2]="Constructor",t[t.Field=3]="Field",t[t.Variable=4]="Variable",t[t.Class=5]="Class",t[t.Struct=6]="Struct",t[t.Interface=7]="Interface",t[t.Module=8]="Module",t[t.Property=9]="Property",t[t.Event=10]="Event",t[t.Operator=11]="Operator",t[t.Unit=12]="Unit",t[t.Value=13]="Value",t[t.Constant=14]="Constant",t[t.Enum=15]="Enum",t[t.EnumMember=16]="EnumMember",t[t.Keyword=17]="Keyword",t[t.Text=18]="Text",t[t.Color=19]="Color",t[t.File=20]="File",t[t.Reference=21]="Reference",t[t.Customcolor=22]="Customcolor",t[t.Folder=23]="Folder",t[t.TypeParameter=24]="TypeParameter",t[t.User=25]="User",t[t.Issue=26]="Issue",t[t.Snippet=27]="Snippet"}(Xs||(Xs={})),function(t){t[t.Deprecated=1]="Deprecated"}(tn||(tn={})),function(t){t[t.Invoke=0]="Invoke",t[t.TriggerCharacter=1]="TriggerCharacter",t[t.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(en||(en={})),function(t){t[t.EXACT=0]="EXACT",t[t.ABOVE=1]="ABOVE",t[t.BELOW=2]="BELOW"}(sn||(sn={})),function(t){t[t.NotSet=0]="NotSet",t[t.ContentFlush=1]="ContentFlush",t[t.RecoverFromMarkers=2]="RecoverFromMarkers",t[t.Explicit=3]="Explicit",t[t.Paste=4]="Paste",t[t.Undo=5]="Undo",t[t.Redo=6]="Redo"}(nn||(nn={})),function(t){t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(on||(on={})),function(t){t[t.Text=0]="Text",t[t.Read=1]="Read",t[t.Write=2]="Write"}(rn||(rn={})),function(t){t[t.None=0]="None",t[t.Keep=1]="Keep",t[t.Brackets=2]="Brackets",t[t.Advanced=3]="Advanced",t[t.Full=4]="Full"}(hn||(hn={})),function(t){t[t.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",t[t.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",t[t.accessibilitySupport=2]="accessibilitySupport",t[t.accessibilityPageSize=3]="accessibilityPageSize",t[t.ariaLabel=4]="ariaLabel",t[t.ariaRequired=5]="ariaRequired",t[t.autoClosingBrackets=6]="autoClosingBrackets",t[t.autoClosingComments=7]="autoClosingComments",t[t.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",t[t.autoClosingDelete=9]="autoClosingDelete",t[t.autoClosingOvertype=10]="autoClosingOvertype",t[t.autoClosingQuotes=11]="autoClosingQuotes",t[t.autoIndent=12]="autoIndent",t[t.automaticLayout=13]="automaticLayout",t[t.autoSurround=14]="autoSurround",t[t.bracketPairColorization=15]="bracketPairColorization",t[t.guides=16]="guides",t[t.codeLens=17]="codeLens",t[t.codeLensFontFamily=18]="codeLensFontFamily",t[t.codeLensFontSize=19]="codeLensFontSize",t[t.colorDecorators=20]="colorDecorators",t[t.colorDecoratorsLimit=21]="colorDecoratorsLimit",t[t.columnSelection=22]="columnSelection",t[t.comments=23]="comments",t[t.contextmenu=24]="contextmenu",t[t.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",t[t.cursorBlinking=26]="cursorBlinking",t[t.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",t[t.cursorStyle=28]="cursorStyle",t[t.cursorSurroundingLines=29]="cursorSurroundingLines",t[t.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",t[t.cursorWidth=31]="cursorWidth",t[t.disableLayerHinting=32]="disableLayerHinting",t[t.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",t[t.domReadOnly=34]="domReadOnly",t[t.dragAndDrop=35]="dragAndDrop",t[t.dropIntoEditor=36]="dropIntoEditor",t[t.emptySelectionClipboard=37]="emptySelectionClipboard",t[t.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",t[t.extraEditorClassName=39]="extraEditorClassName",t[t.fastScrollSensitivity=40]="fastScrollSensitivity",t[t.find=41]="find",t[t.fixedOverflowWidgets=42]="fixedOverflowWidgets",t[t.folding=43]="folding",t[t.foldingStrategy=44]="foldingStrategy",t[t.foldingHighlight=45]="foldingHighlight",t[t.foldingImportsByDefault=46]="foldingImportsByDefault",t[t.foldingMaximumRegions=47]="foldingMaximumRegions",t[t.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",t[t.fontFamily=49]="fontFamily",t[t.fontInfo=50]="fontInfo",t[t.fontLigatures=51]="fontLigatures",t[t.fontSize=52]="fontSize",t[t.fontWeight=53]="fontWeight",t[t.fontVariations=54]="fontVariations",t[t.formatOnPaste=55]="formatOnPaste",t[t.formatOnType=56]="formatOnType",t[t.glyphMargin=57]="glyphMargin",t[t.gotoLocation=58]="gotoLocation",t[t.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",t[t.hover=60]="hover",t[t.inDiffEditor=61]="inDiffEditor",t[t.inlineSuggest=62]="inlineSuggest",t[t.letterSpacing=63]="letterSpacing",t[t.lightbulb=64]="lightbulb",t[t.lineDecorationsWidth=65]="lineDecorationsWidth",t[t.lineHeight=66]="lineHeight",t[t.lineNumbers=67]="lineNumbers",t[t.lineNumbersMinChars=68]="lineNumbersMinChars",t[t.linkedEditing=69]="linkedEditing",t[t.links=70]="links",t[t.matchBrackets=71]="matchBrackets",t[t.minimap=72]="minimap",t[t.mouseStyle=73]="mouseStyle",t[t.mouseWheelScrollSensitivity=74]="mouseWheelScrollSensitivity",t[t.mouseWheelZoom=75]="mouseWheelZoom",t[t.multiCursorMergeOverlapping=76]="multiCursorMergeOverlapping",t[t.multiCursorModifier=77]="multiCursorModifier",t[t.multiCursorPaste=78]="multiCursorPaste",t[t.multiCursorLimit=79]="multiCursorLimit",t[t.occurrencesHighlight=80]="occurrencesHighlight",t[t.overviewRulerBorder=81]="overviewRulerBorder",t[t.overviewRulerLanes=82]="overviewRulerLanes",t[t.padding=83]="padding",t[t.pasteAs=84]="pasteAs",t[t.parameterHints=85]="parameterHints",t[t.peekWidgetDefaultFocus=86]="peekWidgetDefaultFocus",t[t.definitionLinkOpensInPeek=87]="definitionLinkOpensInPeek",t[t.quickSuggestions=88]="quickSuggestions",t[t.quickSuggestionsDelay=89]="quickSuggestionsDelay",t[t.readOnly=90]="readOnly",t[t.readOnlyMessage=91]="readOnlyMessage",t[t.renameOnType=92]="renameOnType",t[t.renderControlCharacters=93]="renderControlCharacters",t[t.renderFinalNewline=94]="renderFinalNewline",t[t.renderLineHighlight=95]="renderLineHighlight",t[t.renderLineHighlightOnlyWhenFocus=96]="renderLineHighlightOnlyWhenFocus",t[t.renderValidationDecorations=97]="renderValidationDecorations",t[t.renderWhitespace=98]="renderWhitespace",t[t.revealHorizontalRightPadding=99]="revealHorizontalRightPadding",t[t.roundedSelection=100]="roundedSelection",t[t.rulers=101]="rulers",t[t.scrollbar=102]="scrollbar",t[t.scrollBeyondLastColumn=103]="scrollBeyondLastColumn",t[t.scrollBeyondLastLine=104]="scrollBeyondLastLine",t[t.scrollPredominantAxis=105]="scrollPredominantAxis",t[t.selectionClipboard=106]="selectionClipboard",t[t.selectionHighlight=107]="selectionHighlight",t[t.selectOnLineNumbers=108]="selectOnLineNumbers",t[t.showFoldingControls=109]="showFoldingControls",t[t.showUnused=110]="showUnused",t[t.snippetSuggestions=111]="snippetSuggestions",t[t.smartSelect=112]="smartSelect",t[t.smoothScrolling=113]="smoothScrolling",t[t.stickyScroll=114]="stickyScroll",t[t.stickyTabStops=115]="stickyTabStops",t[t.stopRenderingLineAfter=116]="stopRenderingLineAfter",t[t.suggest=117]="suggest",t[t.suggestFontSize=118]="suggestFontSize",t[t.suggestLineHeight=119]="suggestLineHeight",t[t.suggestOnTriggerCharacters=120]="suggestOnTriggerCharacters",t[t.suggestSelection=121]="suggestSelection",t[t.tabCompletion=122]="tabCompletion",t[t.tabIndex=123]="tabIndex",t[t.unicodeHighlighting=124]="unicodeHighlighting",t[t.unusualLineTerminators=125]="unusualLineTerminators",t[t.useShadowDOM=126]="useShadowDOM",t[t.useTabStops=127]="useTabStops",t[t.wordBreak=128]="wordBreak",t[t.wordSeparators=129]="wordSeparators",t[t.wordWrap=130]="wordWrap",t[t.wordWrapBreakAfterCharacters=131]="wordWrapBreakAfterCharacters",t[t.wordWrapBreakBeforeCharacters=132]="wordWrapBreakBeforeCharacters",t[t.wordWrapColumn=133]="wordWrapColumn",t[t.wordWrapOverride1=134]="wordWrapOverride1",t[t.wordWrapOverride2=135]="wordWrapOverride2",t[t.wrappingIndent=136]="wrappingIndent",t[t.wrappingStrategy=137]="wrappingStrategy",t[t.showDeprecated=138]="showDeprecated",t[t.inlayHints=139]="inlayHints",t[t.editorClassName=140]="editorClassName",t[t.pixelRatio=141]="pixelRatio",t[t.tabFocusMode=142]="tabFocusMode",t[t.layoutInfo=143]="layoutInfo",t[t.wrappingInfo=144]="wrappingInfo",t[t.defaultColorDecorators=145]="defaultColorDecorators",t[t.colorDecoratorsActivatedOn=146]="colorDecoratorsActivatedOn",t[t.inlineCompletionsAccessibilityVerbose=147]="inlineCompletionsAccessibilityVerbose"}(cn||(cn={})),function(t){t[t.TextDefined=0]="TextDefined",t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(an||(an={})),function(t){t[t.LF=0]="LF",t[t.CRLF=1]="CRLF"}(ln||(ln={})),function(t){t[t.Left=1]="Left",t[t.Right=2]="Right"}(un||(un={})),function(t){t[t.None=0]="None",t[t.Indent=1]="Indent",t[t.IndentOutdent=2]="IndentOutdent",t[t.Outdent=3]="Outdent"}(dn||(dn={})),function(t){t[t.Both=0]="Both",t[t.Right=1]="Right",t[t.Left=2]="Left",t[t.None=3]="None"}(fn||(fn={})),function(t){t[t.Type=1]="Type",t[t.Parameter=2]="Parameter"}(pn||(pn={})),function(t){t[t.Automatic=0]="Automatic",t[t.Explicit=1]="Explicit"}(gn||(gn={})),function(t){t[t.DependsOnKbLayout=-1]="DependsOnKbLayout",t[t.Unknown=0]="Unknown",t[t.Backspace=1]="Backspace",t[t.Tab=2]="Tab",t[t.Enter=3]="Enter",t[t.Shift=4]="Shift",t[t.Ctrl=5]="Ctrl",t[t.Alt=6]="Alt",t[t.PauseBreak=7]="PauseBreak",t[t.CapsLock=8]="CapsLock",t[t.Escape=9]="Escape",t[t.Space=10]="Space",t[t.PageUp=11]="PageUp",t[t.PageDown=12]="PageDown",t[t.End=13]="End",t[t.Home=14]="Home",t[t.LeftArrow=15]="LeftArrow",t[t.UpArrow=16]="UpArrow",t[t.RightArrow=17]="RightArrow",t[t.DownArrow=18]="DownArrow",t[t.Insert=19]="Insert",t[t.Delete=20]="Delete",t[t.Digit0=21]="Digit0",t[t.Digit1=22]="Digit1",t[t.Digit2=23]="Digit2",t[t.Digit3=24]="Digit3",t[t.Digit4=25]="Digit4",t[t.Digit5=26]="Digit5",t[t.Digit6=27]="Digit6",t[t.Digit7=28]="Digit7",t[t.Digit8=29]="Digit8",t[t.Digit9=30]="Digit9",t[t.KeyA=31]="KeyA",t[t.KeyB=32]="KeyB",t[t.KeyC=33]="KeyC",t[t.KeyD=34]="KeyD",t[t.KeyE=35]="KeyE",t[t.KeyF=36]="KeyF",t[t.KeyG=37]="KeyG",t[t.KeyH=38]="KeyH",t[t.KeyI=39]="KeyI",t[t.KeyJ=40]="KeyJ",t[t.KeyK=41]="KeyK",t[t.KeyL=42]="KeyL",t[t.KeyM=43]="KeyM",t[t.KeyN=44]="KeyN",t[t.KeyO=45]="KeyO",t[t.KeyP=46]="KeyP",t[t.KeyQ=47]="KeyQ",t[t.KeyR=48]="KeyR",t[t.KeyS=49]="KeyS",t[t.KeyT=50]="KeyT",t[t.KeyU=51]="KeyU",t[t.KeyV=52]="KeyV",t[t.KeyW=53]="KeyW",t[t.KeyX=54]="KeyX",t[t.KeyY=55]="KeyY",t[t.KeyZ=56]="KeyZ",t[t.Meta=57]="Meta",t[t.ContextMenu=58]="ContextMenu",t[t.F1=59]="F1",t[t.F2=60]="F2",t[t.F3=61]="F3",t[t.F4=62]="F4",t[t.F5=63]="F5",t[t.F6=64]="F6",t[t.F7=65]="F7",t[t.F8=66]="F8",t[t.F9=67]="F9",t[t.F10=68]="F10",t[t.F11=69]="F11",t[t.F12=70]="F12",t[t.F13=71]="F13",t[t.F14=72]="F14",t[t.F15=73]="F15",t[t.F16=74]="F16",t[t.F17=75]="F17",t[t.F18=76]="F18",t[t.F19=77]="F19",t[t.F20=78]="F20",t[t.F21=79]="F21",t[t.F22=80]="F22",t[t.F23=81]="F23",t[t.F24=82]="F24",t[t.NumLock=83]="NumLock",t[t.ScrollLock=84]="ScrollLock",t[t.Semicolon=85]="Semicolon",t[t.Equal=86]="Equal",t[t.Comma=87]="Comma",t[t.Minus=88]="Minus",t[t.Period=89]="Period",t[t.Slash=90]="Slash",t[t.Backquote=91]="Backquote",t[t.BracketLeft=92]="BracketLeft",t[t.Backslash=93]="Backslash",t[t.BracketRight=94]="BracketRight",t[t.Quote=95]="Quote",t[t.OEM_8=96]="OEM_8",t[t.IntlBackslash=97]="IntlBackslash",t[t.Numpad0=98]="Numpad0",t[t.Numpad1=99]="Numpad1",t[t.Numpad2=100]="Numpad2",t[t.Numpad3=101]="Numpad3",t[t.Numpad4=102]="Numpad4",t[t.Numpad5=103]="Numpad5",t[t.Numpad6=104]="Numpad6",t[t.Numpad7=105]="Numpad7",t[t.Numpad8=106]="Numpad8",t[t.Numpad9=107]="Numpad9",t[t.NumpadMultiply=108]="NumpadMultiply",t[t.NumpadAdd=109]="NumpadAdd",t[t.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",t[t.NumpadSubtract=111]="NumpadSubtract",t[t.NumpadDecimal=112]="NumpadDecimal",t[t.NumpadDivide=113]="NumpadDivide",t[t.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",t[t.ABNT_C1=115]="ABNT_C1",t[t.ABNT_C2=116]="ABNT_C2",t[t.AudioVolumeMute=117]="AudioVolumeMute",t[t.AudioVolumeUp=118]="AudioVolumeUp",t[t.AudioVolumeDown=119]="AudioVolumeDown",t[t.BrowserSearch=120]="BrowserSearch",t[t.BrowserHome=121]="BrowserHome",t[t.BrowserBack=122]="BrowserBack",t[t.BrowserForward=123]="BrowserForward",t[t.MediaTrackNext=124]="MediaTrackNext",t[t.MediaTrackPrevious=125]="MediaTrackPrevious",t[t.MediaStop=126]="MediaStop",t[t.MediaPlayPause=127]="MediaPlayPause",t[t.LaunchMediaPlayer=128]="LaunchMediaPlayer",t[t.LaunchMail=129]="LaunchMail",t[t.LaunchApp2=130]="LaunchApp2",t[t.Clear=131]="Clear",t[t.MAX_VALUE=132]="MAX_VALUE"}(mn||(mn={})),function(t){t[t.Hint=1]="Hint",t[t.Info=2]="Info",t[t.Warning=4]="Warning",t[t.Error=8]="Error"}(wn||(wn={})),function(t){t[t.Unnecessary=1]="Unnecessary",t[t.Deprecated=2]="Deprecated"}(vn||(vn={})),function(t){t[t.Inline=1]="Inline",t[t.Gutter=2]="Gutter"}(bn||(bn={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.TEXTAREA=1]="TEXTAREA",t[t.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",t[t.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",t[t.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",t[t.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",t[t.CONTENT_TEXT=6]="CONTENT_TEXT",t[t.CONTENT_EMPTY=7]="CONTENT_EMPTY",t[t.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",t[t.CONTENT_WIDGET=9]="CONTENT_WIDGET",t[t.OVERVIEW_RULER=10]="OVERVIEW_RULER",t[t.SCROLLBAR=11]="SCROLLBAR",t[t.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",t[t.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(yn||(yn={})),function(t){t[t.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",t[t.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",t[t.TOP_CENTER=2]="TOP_CENTER"}(kn||(kn={})),function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=4]="Right",t[t.Full=7]="Full"}(xn||(xn={})),function(t){t[t.Left=0]="Left",t[t.Right=1]="Right",t[t.None=2]="None",t[t.LeftOfInjectedText=3]="LeftOfInjectedText",t[t.RightOfInjectedText=4]="RightOfInjectedText"}(Cn||(Cn={})),function(t){t[t.Off=0]="Off",t[t.On=1]="On",t[t.Relative=2]="Relative",t[t.Interval=3]="Interval",t[t.Custom=4]="Custom"}(Sn||(Sn={})),function(t){t[t.None=0]="None",t[t.Text=1]="Text",t[t.Blocks=2]="Blocks"}(Dn||(Dn={})),function(t){t[t.Smooth=0]="Smooth",t[t.Immediate=1]="Immediate"}(En||(En={})),function(t){t[t.Auto=1]="Auto",t[t.Hidden=2]="Hidden",t[t.Visible=3]="Visible"}(An||(An={})),function(t){t[t.LTR=0]="LTR",t[t.RTL=1]="RTL"}(Mn||(Mn={})),function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(Ln||(Ln={})),function(t){t[t.Invoke=1]="Invoke",t[t.TriggerCharacter=2]="TriggerCharacter",t[t.ContentChange=3]="ContentChange"}(Fn||(Fn={})),function(t){t[t.File=0]="File",t[t.Module=1]="Module",t[t.Namespace=2]="Namespace",t[t.Package=3]="Package",t[t.Class=4]="Class",t[t.Method=5]="Method",t[t.Property=6]="Property",t[t.Field=7]="Field",t[t.Constructor=8]="Constructor",t[t.Enum=9]="Enum",t[t.Interface=10]="Interface",t[t.Function=11]="Function",t[t.Variable=12]="Variable",t[t.Constant=13]="Constant",t[t.String=14]="String",t[t.Number=15]="Number",t[t.Boolean=16]="Boolean",t[t.Array=17]="Array",t[t.Object=18]="Object",t[t.Key=19]="Key",t[t.Null=20]="Null",t[t.EnumMember=21]="EnumMember",t[t.Struct=22]="Struct",t[t.Event=23]="Event",t[t.Operator=24]="Operator",t[t.TypeParameter=25]="TypeParameter"}(Tn||(Tn={})),function(t){t[t.Deprecated=1]="Deprecated"}(Rn||(Rn={})),function(t){t[t.Hidden=0]="Hidden",t[t.Blink=1]="Blink",t[t.Smooth=2]="Smooth",t[t.Phase=3]="Phase",t[t.Expand=4]="Expand",t[t.Solid=5]="Solid"}(On||(On={})),function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(In||(In={})),function(t){t[t.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",t[t.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",t[t.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",t[t.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(_n||(_n={})),function(t){t[t.None=0]="None",t[t.Same=1]="Same",t[t.Indent=2]="Indent",t[t.DeepIndent=3]="DeepIndent"}(Nn||(Nn={}));class Bn{static chord(t,i){return Ne(t,i)}}function Pn(){return{editor:void 0,languages:void 0,CancellationTokenSource:Ce,Emitter:de,KeyCode:mn,KeyMod:Bn,Position:As,Range:Ms,Selection:Ls,SelectionDirection:Mn,MarkerSeverity:wn,MarkerTag:vn,Uri:ms,Token:_s}}Bn.CtrlCmd=2048,Bn.Shift=1024,Bn.Alt=512,Bn.WinCtrl=256;const $n=window,Wn=$n;class jn{get cachedValues(){return this._map}constructor(t){this.fn=t,this._map=new Map}get(t){if(this._map.has(t))return this._map.get(t);const i=this.fn(t);return this._map.set(t,i),i}}class zn{constructor(t){this.executor=t,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(t){this._error=t}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var Hn;function Vn(t){return!t||"string"!=typeof t||0===t.trim().length}const Un=/{(\d+)}/g;function qn(t,...i){return 0===i.length?t:t.replace(Un,(function(t,e){const s=parseInt(e,10);return isNaN(s)||s<0||s>=i.length?t:i[s]}))}function Kn(t){return t.replace(/[<>&]/g,(function(t){switch(t){case"<":return"<";case">":return">";case"&":return"&";default:return t}}))}function Gn(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Zn(t,i=" "){return Jn(Qn(t,i),i)}function Qn(t,i){if(!t||!i)return t;const e=i.length;if(0===e||0===t.length)return t;let s=0;for(;t.indexOf(i,s)===s;)s+=e;return t.substring(s)}function Jn(t,i){if(!t||!i)return t;const e=i.length,s=t.length;if(0===e||0===s)return t;let n=s,o=-1;for(;o=t.lastIndexOf(i,n-1),-1!==o&&o+e===n;){if(0===o)return"";n=o}return t.substring(0,n)}function Yn(t,i,e={}){if(!t)throw new Error("Cannot create regex from empty string");i||(t=Gn(t)),e.wholeWord&&(/\B/.test(t.charAt(0))||(t="\\b"+t),/\B/.test(t.charAt(t.length-1))||(t+="\\b"));let s="";return e.global&&(s+="g"),e.matchCase||(s+="i"),e.multiline&&(s+="m"),e.unicode&&(s+="u"),new RegExp(t,s)}function Xn(t){return t.split(/\r\n|\r|\n/)}function to(t){for(let i=0,e=t.length;i=0;e--){const i=t.charCodeAt(e);if(32!==i&&9!==i)return e}return-1}function so(t,i){return ti?1:0}function no(t,i,e=0,s=t.length,n=0,o=i.length){for(;eo)return 1}const r=s-e,h=o-n;return rh?1:0}function oo(t,i){return ro(t,i,0,t.length,0,i.length)}function ro(t,i,e=0,s=t.length,n=0,o=i.length){for(;e=128||h>=128)return no(t.toLowerCase(),i.toLowerCase(),e,s,n,o);co(r)&&(r-=32),co(h)&&(h-=32);const c=r-h;if(0!==c)return c}const r=s-e,h=o-n;return rh?1:0}function ho(t){return t>=48&&t<=57}function co(t){return t>=97&&t<=122}function ao(t){return t>=65&&t<=90}function lo(t,i){return t.length===i.length&&0===ro(t,i)}function uo(t,i){return!(i.length>t.length)&&0===ro(t,i,0,i.length)}function fo(t,i){const e=Math.min(t.length,i.length);let s;for(s=0;s1){const s=t.charCodeAt(i-2);if(go(s))return wo(s,e)}return e}(this._str,this._offset);return this._offset-=t>=65536?2:1,t}nextCodePoint(){const t=vo(this._str,this._len,this._offset);return this._offset+=t>=65536?2:1,t}eol(){return this._offset>=this._len}}class yo{get offset(){return this._iterator.offset}constructor(t,i=0){this._iterator=new bo(t,i)}nextGraphemeLength(){const t=_o.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.nextCodePoint());for(;!i.eol();){const e=i.offset,n=t.getGraphemeBreakType(i.nextCodePoint());if(Io(s,n)){i.setOffset(e);break}s=n}return i.offset-e}prevGraphemeLength(){const t=_o.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.prevCodePoint());for(;i.offset>0;){const e=i.offset,n=t.getGraphemeBreakType(i.prevCodePoint());if(Io(n,s)){i.setOffset(e);break}s=n}return e-i.offset}eol(){return this._iterator.eol()}}function ko(t,i){return new yo(t,i).nextGraphemeLength()}function xo(t,i){return new yo(t,i).prevGraphemeLength()}let Co;function So(t){return Co||(Co=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),Co.test(t)}const Do=/^[\t\n\r\x20-\x7E]*$/;function Eo(t){return Do.test(t)}const Ao=/[\u2028\u2029]/;function Mo(t){return Ao.test(t)}function Lo(t){return t>=11904&&t<=55215||t>=63744&&t<=64255||t>=65281&&t<=65374}function Fo(t){return t>=127462&&t<=127487||8986===t||8987===t||9200===t||9203===t||t>=9728&&t<=10175||11088===t||11093===t||t>=127744&&t<=128591||t>=128640&&t<=128764||t>=128992&&t<=129008||t>=129280&&t<=129535||t>=129648&&t<=129782}const To=String.fromCharCode(65279);function Ro(t){return!!(t&&t.length>0&&65279===t.charCodeAt(0))}function Oo(t){return t%=52,String.fromCharCode(t<26?97+t:65+t-26)}function Io(t,i){return 0===t?5!==i&&7!==i:!(2===t&&3===i||4!==t&&2!==t&&3!==t&&4!==i&&2!==i&&3!==i&&(8===t&&(8===i||9===i||11===i||12===i)||!(11!==t&&9!==t||9!==i&&10!==i)||(12===t||10===t)&&10===i||5===i||13===i||7===i||1===t||13===t&&14===i||6===t&&6===i))}class _o{static getInstance(){return _o._INSTANCE||(_o._INSTANCE=new _o),_o._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(t){if(t<32)return 10===t?3:13===t?2:4;if(t<127)return 0;const i=this._data,e=i.length/3;let s=1;for(;s<=e;)if(ti[3*s+1]))return i[3*s+2];s=2*s+1}return 0}}function No(t){return 127995<=t&&t<=127999}_o._INSTANCE=null;class Bo{static getInstance(t){return Hn.cache.get(Array.from(t))}static getLocales(){return Hn._locales.value}constructor(t){this.confusableDictionary=t}isAmbiguous(t){return this.confusableDictionary.has(t)}getPrimaryConfusable(t){return this.confusableDictionary.get(t)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}Hn=Bo,Bo.ambiguousCharacterData=new zn((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))),Bo.cache=new class{constructor(t){this.fn=t,this.lastCache=void 0,this.lastArgKey=void 0}get(t){const i=JSON.stringify(t);return this.lastArgKey!==i&&(this.lastArgKey=i,this.lastCache=this.fn(t)),this.lastCache}}((t=>{function i(t){const i=new Map;for(let e=0;e!t.startsWith("_")&&t in s));0===o.length&&(o=["_default"]);for(const t of o)n=e(n,i(s[t]));const r=function(t,i){const e=new Map(t);for(const[t,s]of i)e.set(t,s);return e}(i(s._common),n);return new Hn(r)})),Bo._locales=new zn((()=>Object.keys(Hn.ambiguousCharacterData.value).filter((t=>!t.startsWith("_")))));class Po{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(Po.getRawData())),this._data}static isInvisibleCharacter(t){return Po.getData().has(t)}static get codePoints(){return Po.getData()}}Po._data=void 0;class $o{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}$o.INSTANCE=new $o;class Wo extends te{constructor(){super(),this._onDidChange=this._register(new de),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(t){var i;null===(i=this._mediaQueryList)||void 0===i||i.removeEventListener("change",this._listener),this._mediaQueryList=Wn.matchMedia(`(resolution: ${Wn.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class jo extends te{get value(){return this._value}constructor(){super(),this._onDidChange=this._register(new de),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const t=this._register(new Wo);this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)})))}_getPixelRatio(){const t=document.createElement("canvas").getContext("2d");return(Wn.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}function zo(t,i){"string"==typeof t&&(t=Wn.matchMedia(t)),t.addEventListener("change",i)}const Ho=new class{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=new jo),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}},Vo=navigator.userAgent,Uo=Vo.indexOf("Firefox")>=0,qo=Vo.indexOf("AppleWebKit")>=0,Ko=Vo.indexOf("Chrome")>=0,Go=!Ko&&Vo.indexOf("Safari")>=0,Zo=!Ko&&!Go&&qo;Vo.indexOf("Electron/");const Qo=Vo.indexOf("Android")>=0;let Jo=!1;if(Wn.matchMedia){const t=Wn.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),i=Wn.matchMedia("(display-mode: fullscreen)");Jo=t.matches,zo(t,(({matches:t})=>{Jo&&i.matches||(Jo=t)}))}class Yo{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){const i=Xo(t);this._maxWidth!==i&&(this._maxWidth=i,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){const i=Xo(t);this._width!==i&&(this._width=i,this.domNode.style.width=this._width)}setHeight(t){const i=Xo(t);this._height!==i&&(this._height=i,this.domNode.style.height=this._height)}setTop(t){const i=Xo(t);this._top!==i&&(this._top=i,this.domNode.style.top=this._top)}setLeft(t){const i=Xo(t);this._left!==i&&(this._left=i,this.domNode.style.left=this._left)}setBottom(t){const i=Xo(t);this._bottom!==i&&(this._bottom=i,this.domNode.style.bottom=this._bottom)}setRight(t){const i=Xo(t);this._right!==i&&(this._right=i,this.domNode.style.right=this._right)}setPaddingLeft(t){const i=Xo(t);this._paddingLeft!==i&&(this._paddingLeft=i,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){const i=Xo(t);this._fontSize!==i&&(this._fontSize=i,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){const i=Xo(t);this._lineHeight!==i&&(this._lineHeight=i,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){const i=Xo(t);this._letterSpacing!==i&&(this._letterSpacing=i,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,i){this.domNode.classList.toggle(t,i),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,i){this.domNode.setAttribute(t,i)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}}function Xo(t){return"number"==typeof t?`${t}px`:t}function tr(t){return new Yo(t)}function ir(t,i){t instanceof Yo?(t.setFontFamily(i.getMassagedFontFamily()),t.setFontWeight(i.fontWeight),t.setFontSize(i.fontSize),t.setFontFeatureSettings(i.fontFeatureSettings),t.setFontVariationSettings(i.fontVariationSettings),t.setLineHeight(i.lineHeight),t.setLetterSpacing(i.letterSpacing)):(t.style.fontFamily=i.getMassagedFontFamily(),t.style.fontWeight=i.fontWeight,t.style.fontSize=i.fontSize+"px",t.style.fontFeatureSettings=i.fontFeatureSettings,t.style.fontVariationSettings=i.fontVariationSettings,t.style.lineHeight=i.lineHeight+"px",t.style.letterSpacing=i.letterSpacing+"px")}class er{constructor(t,i){this.chr=t,this.type=i,this.width=0}fulfill(t){this.width=t}}class sr{constructor(t,i){this._bareFontInfo=t,this._requests=i,this._container=null,this._testElements=null}read(){this._createDomElements(),Wn.document.body.appendChild(this._container),this._readFromDomElements(),Wn.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const t=document.createElement("div");t.style.position="absolute",t.style.top="-50000px",t.style.width="50000px";const i=document.createElement("div");ir(i,this._bareFontInfo),t.appendChild(i);const e=document.createElement("div");ir(e,this._bareFontInfo),e.style.fontWeight="bold",t.appendChild(e);const s=document.createElement("div");ir(s,this._bareFontInfo),s.style.fontStyle="italic",t.appendChild(s);const n=[];for(const t of this._requests){let o;0===t.type&&(o=i),2===t.type&&(o=e),1===t.type&&(o=s),o.appendChild(document.createElement("br"));const r=document.createElement("span");sr._render(r,t),o.appendChild(r),n.push(r)}this._container=t,this._testElements=n}static _render(t,i){if(" "===i.chr){let i=" ";for(let t=0;t<8;t++)i+=i;t.innerText=i}else{let e=i.chr;for(let t=0;t<8;t++)e+=e;t.textContent=e}}_readFromDomElements(){for(let t=0,i=this._requests.length;tthis._values[t]))}}const ar=new class extends te{constructor(){super(),this._onDidChange=this._register(new de),this.onDidChange=this._onDidChange.event,this._cache=new cr,this._evictUntrustedReadingsTimeout=-1}dispose(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new cr,this._onDidChange.fire()}_writeToCache(t,i){this._cache.put(t,i),i.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=$n.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()}),5e3))}_evictUntrustedReadings(){const t=this._cache.getValues();let i=!1;for(const e of t)e.isTrusted||(i=!0,this._cache.remove(e));i&&this._onDidChange.fire()}readFontInfo(t){if(!this._cache.has(t)){let i=this._actualReadFontInfo(t);(i.typicalHalfwidthCharacterWidth<=2||i.typicalFullwidthCharacterWidth<=2||i.spaceWidth<=2||i.maxDigitWidth<=2)&&(i=new hr({pixelRatio:Ho.value,fontFamily:i.fontFamily,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFeatureSettings:i.fontFeatureSettings,fontVariationSettings:i.fontVariationSettings,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,isMonospace:i.isMonospace,typicalHalfwidthCharacterWidth:Math.max(i.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(i.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:i.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(i.spaceWidth,5),middotWidth:Math.max(i.middotWidth,5),wsmiddotWidth:Math.max(i.wsmiddotWidth,5),maxDigitWidth:Math.max(i.maxDigitWidth,5)},!1)),this._writeToCache(t,i)}return this._cache.get(t)}_createRequest(t,i,e,s){const n=new er(t,i);return e.push(n),null==s||s.push(n),n}_actualReadFontInfo(t){const i=[],e=[],s=this._createRequest("n",0,i,e),n=this._createRequest("m",0,i,null),o=this._createRequest(" ",0,i,e),r=this._createRequest("0",0,i,e),h=this._createRequest("1",0,i,e),c=this._createRequest("2",0,i,e),a=this._createRequest("3",0,i,e),l=this._createRequest("4",0,i,e),u=this._createRequest("5",0,i,e),d=this._createRequest("6",0,i,e),f=this._createRequest("7",0,i,e),p=this._createRequest("8",0,i,e),g=this._createRequest("9",0,i,e),m=this._createRequest("→",0,i,e),w=this._createRequest("→",0,i,null),v=this._createRequest("·",0,i,e),b=this._createRequest(String.fromCharCode(11825),0,i,null),y="|/-_ilm%";for(let t=0,s=8;t.001){x=!1;break}}let S=!0;return x&&w.width!==C&&(S=!1),w.width>m.width&&(S=!1),new hr({pixelRatio:Ho.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:x,typicalHalfwidthCharacterWidth:s.width,typicalFullwidthCharacterWidth:n.width,canUseHalfwidthRightwardsArrow:S,spaceWidth:o.width,middotWidth:v.width,wsmiddotWidth:b.width,maxDigitWidth:k},!0)}};var lr;!function(t){t.serviceIds=new Map,t.DI_TARGET="$di$target",t.DI_DEPENDENCIES="$di$dependencies",t.getServiceDependencies=function(i){return i[t.DI_DEPENDENCIES]||[]}}(lr||(lr={}));const ur=dr("instantiationService");function dr(t){if(lr.serviceIds.has(t))return lr.serviceIds.get(t);const i=function(t,e,s){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(t,i,e){i[lr.DI_TARGET]===i?i[lr.DI_DEPENDENCIES].push({id:t,index:e}):(i[lr.DI_DEPENDENCIES]=[{id:t,index:e}],i[lr.DI_TARGET]=i)}(i,t,s)};return i.toString=()=>t,lr.serviceIds.set(t,i),i}const fr=dr("codeEditorService"),pr=dr("modelService"),gr=dr("textModelService");class mr extends te{constructor(t,i="",e="",s=!0,n){super(),this._onDidChange=this._register(new de),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=t,this._label=i,this._cssClass=e,this._enabled=s,this._actionCallback=n}get id(){return this._id}get label(){return this._label}set label(t){this._setLabel(t)}_setLabel(t){this._label!==t&&(this._label=t,this._onDidChange.fire({label:t}))}get tooltip(){return this._tooltip||""}set tooltip(t){this._setTooltip(t)}_setTooltip(t){this._tooltip!==t&&(this._tooltip=t,this._onDidChange.fire({tooltip:t}))}get class(){return this._cssClass}set class(t){this._setClass(t)}_setClass(t){this._cssClass!==t&&(this._cssClass=t,this._onDidChange.fire({class:t}))}get enabled(){return this._enabled}set enabled(t){this._setEnabled(t)}_setEnabled(t){this._enabled!==t&&(this._enabled=t,this._onDidChange.fire({enabled:t}))}get checked(){return this._checked}set checked(t){this._setChecked(t)}_setChecked(t){this._checked!==t&&(this._checked=t,this._onDidChange.fire({checked:t}))}async run(t,i){this._actionCallback&&await this._actionCallback(t)}}class wr extends te{constructor(){super(...arguments),this._onWillRun=this._register(new de),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new de),this.onDidRun=this._onDidRun.event}async run(t,i){if(!t.enabled)return;let e;this._onWillRun.fire({action:t});try{await this.runAction(t,i)}catch(t){e=t}this._onDidRun.fire({action:t,error:e})}async runAction(t,i){await t.run(i)}}class vr{constructor(){this.id=vr.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...t){let i=[];for(const e of t)e.length&&(i=i.length?[...i,new vr,...e]:e);return i}async run(){}}vr.ID="vs.actions.separator";class br{get actions(){return this._actions}constructor(t,i,e,s){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=t,this.label=i,this.class=s,this._actions=e}async run(){}}class yr extends mr{constructor(){super(yr.ID,ot(0,"(empty)"),void 0,!1)}}function kr(t){var i,e;return{id:t.id,label:t.label,class:t.class,enabled:null===(i=t.enabled)||void 0===i||i,checked:null!==(e=t.checked)&&void 0!==e&&e,run:async(...i)=>t.run(...i),tooltip:t.label}}var xr,Cr;yr.ID="vs.actions.empty",function(t){t.isThemeColor=function(t){return t&&"object"==typeof t&&"string"==typeof t.id}}(xr||(xr={})),function(t){t.iconNameSegment="[A-Za-z0-9]+",t.iconNameExpression="[A-Za-z0-9-]+",t.iconModifierExpression="~[A-Za-z]+",t.iconNameCharacter="[A-Za-z0-9~-]";const i=new RegExp(`^(${t.iconNameExpression})(${t.iconModifierExpression})?$`);function e(t){const s=i.exec(t.id);if(!s)return e(Os.error);const[,n,o]=s,r=["codicon","codicon-"+n];return o&&r.push("codicon-modifier-"+o.substring(1)),r}t.asClassNameArray=e,t.asClassName=function(t){return e(t).join(" ")},t.asCSSSelector=function(t){return"."+e(t).join(".")},t.isThemeIcon=function(t){return t&&"object"==typeof t&&"string"==typeof t.id&&(void 0===t.color||xr.isThemeColor(t.color))};const s=new RegExp(`^\\$\\((${t.iconNameExpression}(?:${t.iconModifierExpression})?)\\)$`);t.fromString=function(t){const i=s.exec(t);if(!i)return;const[,e]=i;return{id:e}},t.fromId=function(t){return{id:t}},t.modify=function(t,i){let e=t.id;const s=e.lastIndexOf("~");return-1!==s&&(e=e.substring(0,s)),i&&(e=`${e}~${i}`),{id:e}},t.getModifier=function(t){const i=t.id.lastIndexOf("~");if(-1!==i)return t.id.substring(i+1)},t.isEqual=function(t,i){var e,s;return t.id===i.id&&(null===(e=t.color)||void 0===e?void 0:e.id)===(null===(s=i.color)||void 0===s?void 0:s.id)}}(Cr||(Cr={}));const Sr=dr("commandService"),Dr=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new de,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(t,i){if(!t)throw new Error("invalid command");if("string"==typeof t){if(!i)throw new Error("invalid command");return this.registerCommand({id:t,handler:i})}if(t.metadata&&Array.isArray(t.metadata.args)){const i=[];for(const e of t.metadata.args)i.push(e.constraint);const e=t.handler;t.handler=function(t,...s){return function(t,i){const e=Math.min(t.length,i.length);for(let s=0;s{n();const t=this._commands.get(e);(null==t?void 0:t.isEmpty())&&this._commands.delete(e)}));return this._onDidRegisterCommand.fire(e),o}registerCommandAlias(t,i){return Dr.registerCommand(t,((t,...e)=>t.get(Sr).executeCommand(i,...e)))}getCommand(t){const i=this._commands.get(t);if(i&&!i.isEmpty())return Ht.first(i)}getCommands(){const t=new Map;for(const i of this._commands.keys()){const e=this.getCommand(i);e&&t.set(i,e)}return t}};function Er(...t){switch(t.length){case 1:return ot(0,"Did you mean {0}?",t[0]);case 2:return ot(0,"Did you mean {0} or {1}?",t[0],t[1]);case 3:return ot(0,"Did you mean {0}, {1} or {2}?",t[0],t[1],t[2]);default:return}}Dr.registerCommand("noop",(()=>{}));const Ar=ot(0,"Did you forget to open or close the quote?"),Mr=ot(0,"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class Lr{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(t){switch(t.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return t.isTripleEq?"===":"==";case 4:return t.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return t.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw Vi(`unhandled token type: ${JSON.stringify(t)}; have you forgotten to add a case?`)}}reset(t){return this._input=t,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(Er("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(Er("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(Er("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(t){return!this._isAtEnd()&&this._input.charCodeAt(this._current)===t&&(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(t){this._tokens.push({type:t,offset:this._start})}_error(t){const i=this._start,e=this._input.substring(this._start,this._current),s={type:19,offset:this._start,lexeme:e};this._errors.push({offset:i,lexeme:e,additionalInfo:t}),this._tokens.push(s)}_string(){this.stringRe.lastIndex=this._start;const t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;const i=this._input.substring(this._start,this._current),e=Lr._keywords.get(i);e?this._addToken(e):this._tokens.push({type:17,lexeme:i,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(Ar):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let t=this._current,i=!1,e=!1;for(;;){if(t>=this._input.length)return this._current=t,void this._error(Mr);const s=this._input.charCodeAt(t);if(i)i=!1;else{if(47===s&&!e){t++;break}91===s?e=!0:92===s?i=!0:93===s&&(e=!1)}t++}for(;t=this._input.length}}Lr._regexFlags=new Set(["i","g","s","m","y","u"].map((t=>t.charCodeAt(0)))),Lr._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const Fr=new Map;Fr.set("false",!1),Fr.set("true",!0),Fr.set("isMac",Ct),Fr.set("isLinux",St),Fr.set("isWindows",xt),Fr.set("isWeb",Et),Fr.set("isMacNative",Ct&&!Et),Fr.set("isEdge",jt),Fr.set("isFirefox",$t),Fr.set("isChrome",Pt),Fr.set("isSafari",Wt);const Tr=Object.prototype.hasOwnProperty,Rr={regexParsingWithErrorRecovery:!0},Or=ot(0,"Empty context key expression"),Ir=ot(0,"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),_r=ot(0,"'in' after 'not'."),Nr=ot(0,"closing parenthesis ')'"),Br=ot(0,"Unexpected token"),Pr=ot(0,"Did you forget to put && or || before the token?"),$r=ot(0,"Unexpected end of expression"),Wr=ot(0,"Did you forget to put a context key?");class jr{constructor(t=Rr){this._config=t,this._scanner=new Lr,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(t){if(""!==t){this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const t=this._peek(),i=17===t.type?Pr:void 0;throw this._parsingErrors.push({message:Br,offset:t.offset,lexeme:Lr.getLexeme(t),additionalInfo:i}),jr._parseError}return t}catch(t){if(t!==jr._parseError)throw t;return}}else this._parsingErrors.push({message:Or,offset:0,lexeme:"",additionalInfo:Ir})}_expr(){return this._or()}_or(){const t=[this._and()];for(;this._matchOne(16);){const i=this._and();t.push(i)}return 1===t.length?t[0]:zr.or(...t)}_and(){const t=[this._term()];for(;this._matchOne(15);){const i=this._term();t.push(i)}return 1===t.length?t[0]:zr.and(...t)}_term(){if(this._matchOne(2)){const t=this._peek();switch(t.type){case 11:return this._advance(),Vr.INSTANCE;case 12:return this._advance(),Ur.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,Nr),null==t?void 0:t.negate()}case 17:return this._advance(),Jr.create(t.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",t)}}return this._primary()}_primary(){const t=this._peek();switch(t.type){case 11:return this._advance(),zr.true();case 12:return this._advance(),zr.false();case 0:{this._advance();const t=this._expr();return this._consume(1,Nr),t}case 17:{const i=t.lexeme;if(this._advance(),this._matchOne(9)){const t=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==t.type)throw this._errExpectedButGot("REGEX",t);const e=t.lexeme,s=e.lastIndexOf("/"),n=s===e.length-1?void 0:this._removeFlagsGY(e.substring(s+1));let o;try{o=new RegExp(e.substring(1,s),n)}catch(i){throw this._errExpectedButGot("REGEX",t)}return sh.create(i,o)}switch(t.type){case 10:case 19:{const e=[t.lexeme];this._advance();let s=this._peek(),n=0;for(let i=0;i=0){const o=e.slice(i+1,n),r="i"===e[n+1]?"i":"";try{s=new RegExp(o,r)}catch(i){throw this._errExpectedButGot("REGEX",t)}}}if(null===s)throw this._errExpectedButGot("REGEX",t);return sh.create(i,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,_r);const t=this._value();return zr.notIn(i,t)}switch(this._peek().type){case 3:{this._advance();const t=this._value();if(18===this._previous().type)return zr.equals(i,t);switch(t){case"true":return zr.has(i);case"false":return zr.not(i);default:return zr.equals(i,t)}}case 4:{this._advance();const t=this._value();if(18===this._previous().type)return zr.notEquals(i,t);switch(t){case"true":return zr.not(i);case"false":return zr.has(i);default:return zr.notEquals(i,t)}}case 5:return this._advance(),ih.create(i,this._value());case 6:return this._advance(),eh.create(i,this._value());case 7:return this._advance(),Xr.create(i,this._value());case 8:return this._advance(),th.create(i,this._value());case 13:return this._advance(),zr.in(i,this._value());default:return zr.has(i)}}case 20:throw this._parsingErrors.push({message:$r,offset:t.offset,lexeme:"",additionalInfo:Wr}),jr._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const t=this._peek();switch(t.type){case 17:case 18:return this._advance(),t.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(t){return t.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(t){return!!this._check(t)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(t,i){if(this._check(t))return this._advance();throw this._errExpectedButGot(i,this._peek())}_errExpectedButGot(t,i,e){const s=ot(0,"Expected: {0}\nReceived: '{1}'.",t,Lr.getLexeme(i)),n=i.offset,o=Lr.getLexeme(i);return this._parsingErrors.push({message:s,offset:n,lexeme:o,additionalInfo:e}),jr._parseError}_check(t){return this._peek().type===t}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}jr._parseError=new Error;class zr{static false(){return Vr.INSTANCE}static true(){return Ur.INSTANCE}static has(t){return qr.create(t)}static equals(t,i){return Kr.create(t,i)}static notEquals(t,i){return Qr.create(t,i)}static regex(t,i){return sh.create(t,i)}static in(t,i){return Gr.create(t,i)}static notIn(t,i){return Zr.create(t,i)}static not(t){return Jr.create(t)}static and(...t){return rh.create(t,null,!0)}static or(...t){return hh.create(t,null,!0)}static deserialize(t){if(null!=t)return this._parser.parse(t)}}function Hr(t,i){return t.cmp(i)}zr._parser=new jr({regexParsingWithErrorRecovery:!1});class Vr{constructor(){this.type=0}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!1}serialize(){return"false"}keys(){return[]}negate(){return Ur.INSTANCE}}Vr.INSTANCE=new Vr;class Ur{constructor(){this.type=1}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!0}serialize(){return"true"}keys(){return[]}negate(){return Vr.INSTANCE}}Ur.INSTANCE=new Ur;class qr{static create(t,i=null){const e=Fr.get(t);return"boolean"==typeof e?e?Ur.INSTANCE:Vr.INSTANCE:new qr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=2}cmp(t){return t.type!==this.type?this.type-t.type:lh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?t?Ur.INSTANCE:Vr.INSTANCE:this}evaluate(t){return!!t.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Jr.create(this.key,this)),this.negated}}class Kr{static create(t,i,e=null){if("boolean"==typeof i)return i?qr.create(t,e):Jr.create(t,e);const s=Fr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?Ur.INSTANCE:Vr.INSTANCE:new Kr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=4}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?Ur.INSTANCE:Vr.INSTANCE:this}evaluate(t){return t.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Qr.create(this.key,this.value,this)),this.negated}}class Gr{static create(t,i){return new Gr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=10,this.negated=null}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.valueKey,t.key,t.valueKey)}equals(t){return t.type===this.type&&this.key===t.key&&this.valueKey===t.valueKey}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.valueKey),e=t.getValue(this.key);return Array.isArray(i)?i.includes(e):"string"==typeof e&&"object"==typeof i&&null!==i&&Tr.call(i,e)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=Zr.create(this.key,this.valueKey)),this.negated}}class Zr{static create(t,i){return new Zr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=11,this._negated=Gr.create(t,i)}cmp(t){return t.type!==this.type?this.type-t.type:this._negated.cmp(t._negated)}equals(t){return t.type===this.type&&this._negated.equals(t._negated)}substituteConstants(){return this}evaluate(t){return!this._negated.evaluate(t)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class Qr{static create(t,i,e=null){if("boolean"==typeof i)return i?Jr.create(t,e):qr.create(t,e);const s=Fr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?Vr.INSTANCE:Ur.INSTANCE:new Qr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=5}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?Vr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return t.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Kr.create(this.key,this.value,this)),this.negated}}class Jr{static create(t,i=null){const e=Fr.get(t);return"boolean"==typeof e?e?Vr.INSTANCE:Ur.INSTANCE:new Jr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=3}cmp(t){return t.type!==this.type?this.type-t.type:lh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?t?Vr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return!t.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=qr.create(this.key,this)),this.negated}}function Yr(t,i){if("string"==typeof t){const i=parseFloat(t);isNaN(i)||(t=i)}return"string"==typeof t||"number"==typeof t?i(t):Vr.INSTANCE}class Xr{static create(t,i,e=null){return Yr(i,(i=>new Xr(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=12}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=eh.create(this.key,this.value,this)),this.negated}}class th{static create(t,i,e=null){return Yr(i,(i=>new th(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=13}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ih.create(this.key,this.value,this)),this.negated}}class ih{static create(t,i,e=null){return Yr(i,(i=>new ih(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=14}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))new eh(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=15}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Xr.create(this.key,this.value,this)),this.negated}}class sh{static create(t,i){return new sh(t,i)}constructor(t,i){this.key=t,this.regexp=i,this.type=7,this.negated=null}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.keyt.key)return 1;const i=this.regexp?this.regexp.source:"",e=t.regexp?t.regexp.source:"";return ie?1:0}equals(t){return t.type===this.type&&(this.key===t.key&&(this.regexp?this.regexp.source:"")===(t.regexp?t.regexp.source:""))}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.key);return!!this.regexp&&this.regexp.test(i)}serialize(){return`${this.key} =~ ${this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/"}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=nh.create(this)),this.negated}}class nh{static create(t){return new nh(t)}constructor(t){this._actual=t,this.type=8}cmp(t){return t.type!==this.type?this.type-t.type:this._actual.cmp(t._actual)}equals(t){return t.type===this.type&&this._actual.equals(t._actual)}substituteConstants(){return this}evaluate(t){return!this._actual.evaluate(t)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function oh(t){let i=null;for(let e=0,s=t.length;et.expr.length)return 1;for(let i=0,e=this.expr.length;i1;){const t=s[s.length-1];if(9!==t.type)break;s.pop();const i=s.pop(),n=0===s.length,o=hh.create(t.expr.map((t=>rh.create([t,i],null,e))),null,n);o&&(s.push(o),s.sort(Hr))}if(1===s.length)return s[0];if(e){for(let t=0;tt.serialize())).join(" && ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());this.negated=hh.create(t,this,!0)}return this.negated}}class hh{static create(t,i,e){return hh._normalizeArr(t,i,e)}constructor(t,i){this.expr=t,this.negated=i,this.type=9}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.lengtht.expr.length)return 1;for(let i=0,e=this.expr.length;it.serialize())).join(" || ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());for(;t.length>1;){const i=t.shift(),e=t.shift(),s=[];for(const t of ph(i))for(const i of ph(e))s.push(rh.create([t,i],null,!1));t.unshift(hh.create(s,null,!1))}this.negated=hh.create(t,this,!0)}return this.negated}}class ch extends qr{static all(){return ch._info.values()}constructor(t,i,e){super(t,null),this._defaultValue=i,"object"==typeof e?ch._info.push({...e,key:t}):!0!==e&&ch._info.push({key:t,description:e,type:null!=i?typeof i:void 0})}bindTo(t){return t.createKey(this.key,this._defaultValue)}getValue(t){return t.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(t){return Kr.create(this.key,t)}}ch._info=[];const ah=dr("contextKeyService");function lh(t,i){return ti?1:0}function uh(t,i,e,s){return te?1:is?1:0}function dh(t,i){if(0===t.type||1===i.type)return!0;if(9===t.type)return 9===i.type&&fh(t.expr,i.expr);if(9===i.type){for(const e of i.expr)if(dh(t,e))return!0;return!1}if(6===t.type){if(6===i.type)return fh(i.expr,t.expr);for(const e of t.expr)if(dh(e,i))return!0;return!1}return t.equals(i)}function fh(t,i){let e=0,s=0;for(;e>>0,s=(4294901760&t)>>>16;return new vh(0!==s?[mh(e,i),mh(s,i)]:[mh(e,i)])}{const e=[];for(let s=0;s{r(),this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(Mh)),this._cachedMergedKeybindings.slice(0)}}const Ah=new Eh;function Mh(t,i){if(t.weight1!==i.weight1)return t.weight1-i.weight1;if(t.command&&i.command){if(t.commandi.command)return 1}return t.weight2-i.weight2}Dh.add("platform.keybindingsRegistry",Ah);var Lh,Fh=function(t,i){return function(e,s){i(e,s,t)}};function Th(t){return void 0!==t.command}class Rh{constructor(t){if(Rh._instances.has(t))throw new TypeError(`MenuId with identifier '${t}' already exists. Use MenuId.for(ident) or a unique identifier`);Rh._instances.set(t,this),this.id=t}}Rh._instances=new Map,Rh.CommandPalette=new Rh("CommandPalette"),Rh.DebugBreakpointsContext=new Rh("DebugBreakpointsContext"),Rh.DebugCallStackContext=new Rh("DebugCallStackContext"),Rh.DebugConsoleContext=new Rh("DebugConsoleContext"),Rh.DebugVariablesContext=new Rh("DebugVariablesContext"),Rh.DebugWatchContext=new Rh("DebugWatchContext"),Rh.DebugToolBar=new Rh("DebugToolBar"),Rh.DebugToolBarStop=new Rh("DebugToolBarStop"),Rh.EditorContext=new Rh("EditorContext"),Rh.SimpleEditorContext=new Rh("SimpleEditorContext"),Rh.EditorContent=new Rh("EditorContent"),Rh.EditorLineNumberContext=new Rh("EditorLineNumberContext"),Rh.EditorContextCopy=new Rh("EditorContextCopy"),Rh.EditorContextPeek=new Rh("EditorContextPeek"),Rh.EditorContextShare=new Rh("EditorContextShare"),Rh.EditorTitle=new Rh("EditorTitle"),Rh.EditorTitleRun=new Rh("EditorTitleRun"),Rh.EditorTitleContext=new Rh("EditorTitleContext"),Rh.EditorTitleContextShare=new Rh("EditorTitleContextShare"),Rh.EmptyEditorGroup=new Rh("EmptyEditorGroup"),Rh.EmptyEditorGroupContext=new Rh("EmptyEditorGroupContext"),Rh.EditorTabsBarContext=new Rh("EditorTabsBarContext"),Rh.EditorTabsBarShowTabsSubmenu=new Rh("EditorTabsBarShowTabsSubmenu"),Rh.EditorActionsPositionSubmenu=new Rh("EditorActionsPositionSubmenu"),Rh.ExplorerContext=new Rh("ExplorerContext"),Rh.ExplorerContextShare=new Rh("ExplorerContextShare"),Rh.ExtensionContext=new Rh("ExtensionContext"),Rh.GlobalActivity=new Rh("GlobalActivity"),Rh.CommandCenter=new Rh("CommandCenter"),Rh.CommandCenterCenter=new Rh("CommandCenterCenter"),Rh.LayoutControlMenuSubmenu=new Rh("LayoutControlMenuSubmenu"),Rh.LayoutControlMenu=new Rh("LayoutControlMenu"),Rh.MenubarMainMenu=new Rh("MenubarMainMenu"),Rh.MenubarAppearanceMenu=new Rh("MenubarAppearanceMenu"),Rh.MenubarDebugMenu=new Rh("MenubarDebugMenu"),Rh.MenubarEditMenu=new Rh("MenubarEditMenu"),Rh.MenubarCopy=new Rh("MenubarCopy"),Rh.MenubarFileMenu=new Rh("MenubarFileMenu"),Rh.MenubarGoMenu=new Rh("MenubarGoMenu"),Rh.MenubarHelpMenu=new Rh("MenubarHelpMenu"),Rh.MenubarLayoutMenu=new Rh("MenubarLayoutMenu"),Rh.MenubarNewBreakpointMenu=new Rh("MenubarNewBreakpointMenu"),Rh.PanelAlignmentMenu=new Rh("PanelAlignmentMenu"),Rh.PanelPositionMenu=new Rh("PanelPositionMenu"),Rh.ActivityBarPositionMenu=new Rh("ActivityBarPositionMenu"),Rh.MenubarPreferencesMenu=new Rh("MenubarPreferencesMenu"),Rh.MenubarRecentMenu=new Rh("MenubarRecentMenu"),Rh.MenubarSelectionMenu=new Rh("MenubarSelectionMenu"),Rh.MenubarShare=new Rh("MenubarShare"),Rh.MenubarSwitchEditorMenu=new Rh("MenubarSwitchEditorMenu"),Rh.MenubarSwitchGroupMenu=new Rh("MenubarSwitchGroupMenu"),Rh.MenubarTerminalMenu=new Rh("MenubarTerminalMenu"),Rh.MenubarViewMenu=new Rh("MenubarViewMenu"),Rh.MenubarHomeMenu=new Rh("MenubarHomeMenu"),Rh.OpenEditorsContext=new Rh("OpenEditorsContext"),Rh.OpenEditorsContextShare=new Rh("OpenEditorsContextShare"),Rh.ProblemsPanelContext=new Rh("ProblemsPanelContext"),Rh.SCMInputBox=new Rh("SCMInputBox"),Rh.SCMHistoryItem=new Rh("SCMHistoryItem"),Rh.SCMChangeContext=new Rh("SCMChangeContext"),Rh.SCMResourceContext=new Rh("SCMResourceContext"),Rh.SCMResourceContextShare=new Rh("SCMResourceContextShare"),Rh.SCMResourceFolderContext=new Rh("SCMResourceFolderContext"),Rh.SCMResourceGroupContext=new Rh("SCMResourceGroupContext"),Rh.SCMSourceControl=new Rh("SCMSourceControl"),Rh.SCMTitle=new Rh("SCMTitle"),Rh.SearchContext=new Rh("SearchContext"),Rh.SearchActionMenu=new Rh("SearchActionContext"),Rh.StatusBarWindowIndicatorMenu=new Rh("StatusBarWindowIndicatorMenu"),Rh.StatusBarRemoteIndicatorMenu=new Rh("StatusBarRemoteIndicatorMenu"),Rh.StickyScrollContext=new Rh("StickyScrollContext"),Rh.TestItem=new Rh("TestItem"),Rh.TestItemGutter=new Rh("TestItemGutter"),Rh.TestMessageContext=new Rh("TestMessageContext"),Rh.TestMessageContent=new Rh("TestMessageContent"),Rh.TestPeekElement=new Rh("TestPeekElement"),Rh.TestPeekTitle=new Rh("TestPeekTitle"),Rh.TouchBarContext=new Rh("TouchBarContext"),Rh.TitleBarContext=new Rh("TitleBarContext"),Rh.TitleBarTitleContext=new Rh("TitleBarTitleContext"),Rh.TunnelContext=new Rh("TunnelContext"),Rh.TunnelPrivacy=new Rh("TunnelPrivacy"),Rh.TunnelProtocol=new Rh("TunnelProtocol"),Rh.TunnelPortInline=new Rh("TunnelInline"),Rh.TunnelTitle=new Rh("TunnelTitle"),Rh.TunnelLocalAddressInline=new Rh("TunnelLocalAddressInline"),Rh.TunnelOriginInline=new Rh("TunnelOriginInline"),Rh.ViewItemContext=new Rh("ViewItemContext"),Rh.ViewContainerTitle=new Rh("ViewContainerTitle"),Rh.ViewContainerTitleContext=new Rh("ViewContainerTitleContext"),Rh.ViewTitle=new Rh("ViewTitle"),Rh.ViewTitleContext=new Rh("ViewTitleContext"),Rh.CommentEditorActions=new Rh("CommentEditorActions"),Rh.CommentThreadTitle=new Rh("CommentThreadTitle"),Rh.CommentThreadActions=new Rh("CommentThreadActions"),Rh.CommentThreadAdditionalActions=new Rh("CommentThreadAdditionalActions"),Rh.CommentThreadTitleContext=new Rh("CommentThreadTitleContext"),Rh.CommentThreadCommentContext=new Rh("CommentThreadCommentContext"),Rh.CommentTitle=new Rh("CommentTitle"),Rh.CommentActions=new Rh("CommentActions"),Rh.InteractiveToolbar=new Rh("InteractiveToolbar"),Rh.InteractiveCellTitle=new Rh("InteractiveCellTitle"),Rh.InteractiveCellDelete=new Rh("InteractiveCellDelete"),Rh.InteractiveCellExecute=new Rh("InteractiveCellExecute"),Rh.InteractiveInputExecute=new Rh("InteractiveInputExecute"),Rh.NotebookToolbar=new Rh("NotebookToolbar"),Rh.NotebookStickyScrollContext=new Rh("NotebookStickyScrollContext"),Rh.NotebookCellTitle=new Rh("NotebookCellTitle"),Rh.NotebookCellDelete=new Rh("NotebookCellDelete"),Rh.NotebookCellInsert=new Rh("NotebookCellInsert"),Rh.NotebookCellBetween=new Rh("NotebookCellBetween"),Rh.NotebookCellListTop=new Rh("NotebookCellTop"),Rh.NotebookCellExecute=new Rh("NotebookCellExecute"),Rh.NotebookCellExecutePrimary=new Rh("NotebookCellExecutePrimary"),Rh.NotebookDiffCellInputTitle=new Rh("NotebookDiffCellInputTitle"),Rh.NotebookDiffCellMetadataTitle=new Rh("NotebookDiffCellMetadataTitle"),Rh.NotebookDiffCellOutputsTitle=new Rh("NotebookDiffCellOutputsTitle"),Rh.NotebookOutputToolbar=new Rh("NotebookOutputToolbar"),Rh.NotebookEditorLayoutConfigure=new Rh("NotebookEditorLayoutConfigure"),Rh.NotebookKernelSource=new Rh("NotebookKernelSource"),Rh.BulkEditTitle=new Rh("BulkEditTitle"),Rh.BulkEditContext=new Rh("BulkEditContext"),Rh.TimelineItemContext=new Rh("TimelineItemContext"),Rh.TimelineTitle=new Rh("TimelineTitle"),Rh.TimelineTitleContext=new Rh("TimelineTitleContext"),Rh.TimelineFilterSubMenu=new Rh("TimelineFilterSubMenu"),Rh.AccountsContext=new Rh("AccountsContext"),Rh.SidebarTitle=new Rh("SidebarTitle"),Rh.PanelTitle=new Rh("PanelTitle"),Rh.AuxiliaryBarTitle=new Rh("AuxiliaryBarTitle"),Rh.TerminalInstanceContext=new Rh("TerminalInstanceContext"),Rh.TerminalEditorInstanceContext=new Rh("TerminalEditorInstanceContext"),Rh.TerminalNewDropdownContext=new Rh("TerminalNewDropdownContext"),Rh.TerminalTabContext=new Rh("TerminalTabContext"),Rh.TerminalTabEmptyAreaContext=new Rh("TerminalTabEmptyAreaContext"),Rh.TerminalStickyScrollContext=new Rh("TerminalStickyScrollContext"),Rh.WebviewContext=new Rh("WebviewContext"),Rh.InlineCompletionsActions=new Rh("InlineCompletionsActions"),Rh.NewFile=new Rh("NewFile"),Rh.MergeInput1Toolbar=new Rh("MergeToolbar1Toolbar"),Rh.MergeInput2Toolbar=new Rh("MergeToolbar2Toolbar"),Rh.MergeBaseToolbar=new Rh("MergeBaseToolbar"),Rh.MergeInputResultToolbar=new Rh("MergeToolbarResultToolbar"),Rh.InlineSuggestionToolbar=new Rh("InlineSuggestionToolbar"),Rh.ChatContext=new Rh("ChatContext"),Rh.ChatCodeBlock=new Rh("ChatCodeblock"),Rh.ChatMessageTitle=new Rh("ChatMessageTitle"),Rh.ChatExecute=new Rh("ChatExecute"),Rh.ChatInputSide=new Rh("ChatInputSide"),Rh.AccessibleView=new Rh("AccessibleView"),Rh.MultiDiffEditorFileToolbar=new Rh("MultiDiffEditorFileToolbar");const Oh=dr("menuService");class Ih{static for(t){let i=this._all.get(t);return i||(i=new Ih(t),this._all.set(t,i)),i}static merge(t){const i=new Set;for(const e of t)e instanceof Ih&&i.add(e.id);return i}constructor(t){this.id=t,this.has=i=>i===t}}Ih._all=new Map;const _h=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new me({merge:Ih.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(t){return this._commands.set(t.id,t),this._onDidChangeMenu.fire(Ih.for(Rh.CommandPalette)),Yi((()=>{this._commands.delete(t.id)&&this._onDidChangeMenu.fire(Ih.for(Rh.CommandPalette))}))}getCommand(t){return this._commands.get(t)}getCommands(){const t=new Map;return this._commands.forEach(((i,e)=>t.set(e,i))),t}appendMenuItem(t,i){let e=this._menuItems.get(t);e||(e=new Ut,this._menuItems.set(t,e));const s=e.push(i);return this._onDidChangeMenu.fire(Ih.for(t)),Yi((()=>{s(),this._onDidChangeMenu.fire(Ih.for(t))}))}appendMenuItems(t){const i=new Xi;for(const{id:e,item:s}of t)i.add(this.appendMenuItem(e,s));return i}getMenuItems(t){let i;return i=this._menuItems.has(t)?[...this._menuItems.get(t)]:[],t===Rh.CommandPalette&&this._appendImplicitItems(i),i}_appendImplicitItems(t){const i=new Set;for(const e of t)Th(e)&&(i.add(e.command.id),e.alt&&i.add(e.alt.id));this._commands.forEach(((e,s)=>{i.has(s)||t.push({command:e})}))}};class Nh extends br{constructor(t,i,e){super(`submenuitem.${t.submenu.id}`,"string"==typeof t.title?t.title:t.title.value,e,"submenu"),this.item=t,this.hideActions=i}}let Bh=Lh=class{static label(t,i){return(null==i?void 0:i.renderShortTitle)&&t.shortTitle?"string"==typeof t.shortTitle?t.shortTitle:t.shortTitle.value:"string"==typeof t.title?t.title:t.title.value}constructor(t,i,e,s,n,o){var r,h;let c;if(this.hideActions=s,this._commandService=o,this.id=t.id,this.label=Lh.label(t,e),this.tooltip=null!==(h="string"==typeof t.tooltip?t.tooltip:null===(r=t.tooltip)||void 0===r?void 0:r.value)&&void 0!==h?h:"",this.enabled=!t.precondition||n.contextMatchesRules(t.precondition),this.checked=void 0,t.toggled){const i=t.toggled.condition?t.toggled:{condition:t.toggled};this.checked=n.contextMatchesRules(i.condition),this.checked&&i.tooltip&&(this.tooltip="string"==typeof i.tooltip?i.tooltip:i.tooltip.value),this.checked&&Cr.isThemeIcon(i.icon)&&(c=i.icon),this.checked&&i.title&&(this.label="string"==typeof i.title?i.title:i.title.value)}c||(c=Cr.isThemeIcon(t.icon)?t.icon:void 0),this.item=t,this.alt=i?new Lh(i,void 0,e,s,n,o):void 0,this._options=e,this.class=c&&Cr.asClassName(c)}run(...t){var i,e;let s=[];return(null===(i=this._options)||void 0===i?void 0:i.arg)&&(s=[...s,this._options.arg]),(null===(e=this._options)||void 0===e?void 0:e.shouldForwardArgs)&&(s=[...s,...t]),this._commandService.executeCommand(this.id,...s)}};Bh=Lh=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Fh(4,ah),Fh(5,Sr)],Bh);class Ph{constructor(t){this.desc=t}}function $h(t){const i=new Xi,e=new t,{f1:s,menu:n,keybinding:o,...r}=e.desc;if(i.add(Dr.registerCommand({id:r.id,handler:(t,...i)=>e.run(t,...i),metadata:r.metadata})),Array.isArray(n))for(const t of n)i.add(_h.appendMenuItem(t.id,{command:{...r,precondition:null===t.precondition?void 0:r.precondition},...t}));else n&&i.add(_h.appendMenuItem(n.id,{command:{...r,precondition:null===n.precondition?void 0:r.precondition},...n}));if(s&&(i.add(_h.appendMenuItem(Rh.CommandPalette,{command:r,when:r.precondition})),i.add(_h.addCommand(r))),Array.isArray(o))for(const t of o)i.add(Ah.registerKeybindingRule({...t,id:r.id,when:r.precondition?zr.and(r.precondition,t.when):t.when}));else o&&i.add(Ah.registerKeybindingRule({...o,id:r.id,when:r.precondition?zr.and(r.precondition,o.when):o.when}));return i}const Wh=dr("telemetryService"),jh=dr("logService");var zh;!function(t){t[t.Off=0]="Off",t[t.Trace=1]="Trace",t[t.Debug=2]="Debug",t[t.Info=3]="Info",t[t.Warning=4]="Warning",t[t.Error=5]="Error"}(zh||(zh={}));const Hh=zh.Info;class Vh extends te{constructor(){super(...arguments),this.level=Hh,this._onDidChangeLogLevel=this._register(new de),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(t){this.level!==t&&(this.level=t,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(t){return this.level!==zh.Off&&this.level<=t}}class Uh extends Vh{constructor(t=Hh,i=!0){super(),this.useColors=i,this.setLevel(t)}trace(t,...i){this.checkLogLevel(zh.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",t,...i):console.log(t,...i))}debug(t,...i){this.checkLogLevel(zh.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",t,...i):console.log(t,...i))}info(t,...i){this.checkLogLevel(zh.Info)&&(this.useColors?console.log("%c INFO","color: #33f",t,...i):console.log(t,...i))}warn(t,...i){this.checkLogLevel(zh.Warning)&&(this.useColors?console.log("%c WARN","color: #993",t,...i):console.log(t,...i))}error(t,...i){this.checkLogLevel(zh.Error)&&(this.useColors?console.log("%c ERR","color: #f33",t,...i):console.error(t,...i))}dispose(){}}class qh extends Vh{constructor(t){super(),this.loggers=t,t.length&&this.setLevel(t[0].getLevel())}setLevel(t){for(const i of this.loggers)i.setLevel(t);super.setLevel(t)}trace(t,...i){for(const e of this.loggers)e.trace(t,...i)}debug(t,...i){for(const e of this.loggers)e.debug(t,...i)}info(t,...i){for(const e of this.loggers)e.info(t,...i)}warn(t,...i){for(const e of this.loggers)e.warn(t,...i)}error(t,...i){for(const e of this.loggers)e.error(t,...i)}dispose(){for(const t of this.loggers)t.dispose()}}new ch("logLevel",function(){switch(zh.Info){case zh.Trace:return"trace";case zh.Debug:return"debug";case zh.Info:return"info";case zh.Warning:return"warn";case zh.Error:return"error";case zh.Off:return"off"}}()),Dt||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator,Dt||navigator&&navigator.clipboard&&navigator,Dt||Jo||navigator,"ontouchstart"in $n||navigator;const Kh=$n.PointerEvent&&("ontouchstart"in $n||navigator.maxTouchPoints>0||navigator.maxTouchPoints>0),Gh=Ct?256:2048,Zh=Ct?2048:256;class Qh{constructor(t){this._standardKeyboardEventBrand=!0;const i=t;this.browserEvent=i,this.target=i.target,this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,this.altGraphKey=i.getModifierState("AltGraph"),this.keyCode=function(t){if(t.charCode){const i=String.fromCharCode(t.charCode).toUpperCase();return _e.fromString(i)}const i=t.keyCode;if(3===i)return 7;if(Uo)switch(i){case 59:return 85;case 60:if(St)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Ct)return 57}else if(qo){if(Ct&&93===i)return 57;if(!Ct&&92===i)return 57}return Me[i]||0}(i),this.code=i.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode);let i=0;return this.ctrlKey&&(i|=Gh),this.altKey&&(i|=512),this.shiftKey&&(i|=1024),this.metaKey&&(i|=Zh),i|=t,i}_computeKeyCodeChord(){let t=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode),new wh(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}}const Jh=new WeakMap;function Yh(t){if(!t.parent||t.parent===t)return null;try{const i=t.location,e=t.parent.location;if("null"!==i.origin&&"null"!==e.origin&&i.origin!==e.origin)return null}catch(t){return null}return t.parent}class Xh{static getSameOriginWindowChain(t){let i=Jh.get(t);if(!i){i=[],Jh.set(t,i);let e,s=t;do{e=Yh(s),i.push(e?{window:new WeakRef(s),iframeElement:s.frameElement||null}:{window:new WeakRef(s),iframeElement:null}),s=e}while(s)}return i.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,i){var e,s;if(!i||t===i)return{top:0,left:0};let n=0,o=0;const r=this.getSameOriginWindowChain(t);for(const t of r){const r=t.window.deref();if(n+=null!==(e=null==r?void 0:r.scrollY)&&void 0!==e?e:0,o+=null!==(s=null==r?void 0:r.scrollX)&&void 0!==s?s:0,r===i)break;if(!t.iframeElement)break;const h=t.iframeElement.getBoundingClientRect();n+=h.top,o+=h.left}return{top:n,left:o}}}class tc{constructor(t,i){this.timestamp=Date.now(),this.browserEvent=i,this.leftButton=0===i.button,this.middleButton=1===i.button,this.rightButton=2===i.button,this.buttons=i.buttons,this.target=i.target,this.detail=i.detail||1,"dblclick"===i.type&&(this.detail=2),this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,"number"==typeof i.pageX?(this.posx=i.pageX,this.posy=i.pageY):(this.posx=i.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=i.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const e=Xh.getPositionOfChildWindowRelativeToAncestorWindow(t,i.view);this.posx-=e.left,this.posy-=e.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class ic{constructor(t,i=0,e=0){if(this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=e,this.deltaX=i,t){const i=t,e=t;void 0!==i.wheelDeltaY?this.deltaY=i.wheelDeltaY/120:void 0!==e.VERTICAL_AXIS&&e.axis===e.VERTICAL_AXIS?this.deltaY=-e.detail/3:"wheel"===t.type&&(this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?Uo&&!Ct?-t.deltaY/3:-t.deltaY:-t.deltaY/40),void 0!==i.wheelDeltaX?this.deltaX=Go&&xt?-i.wheelDeltaX/120:i.wheelDeltaX/120:void 0!==e.HORIZONTAL_AXIS&&e.axis===e.HORIZONTAL_AXIS?this.deltaX=-t.detail/3:"wheel"===t.type&&(this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?Uo&&!Ct?-t.deltaX/3:-t.deltaX:-t.deltaX/40),0===this.deltaY&&0===this.deltaX&&t.wheelDelta&&(this.deltaY=t.wheelDelta/120)}}preventDefault(){var t;null===(t=this.browserEvent)||void 0===t||t.preventDefault()}stopPropagation(){var t;null===(t=this.browserEvent)||void 0===t||t.stopPropagation()}}const ec=Symbol("MicrotaskDelay");function sc(t){return!!t&&"function"==typeof t.then}function nc(t){const i=new Ce,e=t(i.token),s=new Promise(((t,s)=>{const n=i.token.onCancellationRequested((()=>{n.dispose(),i.dispose(),s(new zi)}));Promise.resolve(e).then((e=>{n.dispose(),i.dispose(),t(e)}),(t=>{n.dispose(),i.dispose(),s(t)}))}));return new class{cancel(){i.cancel()}then(t,i){return s.then(t,i)}catch(t){return this.then(void 0,t)}finally(t){return s.finally(t)}}}function oc(t,i,e){return new Promise(((s,n)=>{const o=i.onCancellationRequested((()=>{o.dispose(),s(e)}));t.then(s,n).finally((()=>o.dispose()))}))}class rc{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(t){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=t,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const t=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,t};this.queuedPromise=new Promise((i=>{this.activePromise.then(t,t).then(i)}))}return new Promise(((t,i)=>{this.queuedPromise.then(t,i)}))}return this.activePromise=t(),new Promise(((t,i)=>{this.activePromise.then((i=>{this.activePromise=null,t(i)}),(t=>{this.activePromise=null,i(t)}))}))}dispose(){this.isDisposed=!0}}class hc{constructor(t){this.defaultDelay=t,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(t,i=this.defaultDelay){this.task=t,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((t,i)=>{this.doResolve=t,this.doReject=i})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const t=this.task;return this.task=null,t()}})));const e=()=>{var t;this.deferred=null,null===(t=this.doResolve)||void 0===t||t.call(this,null)};return this.deferred=i===ec?(t=>{let i=!0;return queueMicrotask((()=>{i&&(i=!1,t())})),{isTriggered:()=>i,dispose:()=>{i=!1}}})(e):((t,i)=>{let e=!0;const s=setTimeout((()=>{e=!1,i()}),t);return{isTriggered:()=>e,dispose:()=>{clearTimeout(s),e=!1}}})(i,e),this.completionPromise}isTriggered(){var t;return!!(null===(t=this.deferred)||void 0===t?void 0:t.isTriggered())}cancel(){var t;this.cancelTimeout(),this.completionPromise&&(null===(t=this.doReject)||void 0===t||t.call(this,new zi),this.completionPromise=null)}cancelTimeout(){var t;null===(t=this.deferred)||void 0===t||t.dispose(),this.deferred=null}dispose(){this.cancel()}}class cc{constructor(t){this.delayer=new hc(t),this.throttler=new rc}trigger(t,i){return this.delayer.trigger((()=>this.throttler.queue(t)),i)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function ac(t,i){return i?new Promise(((e,s)=>{const n=setTimeout((()=>{o.dispose(),e()}),t),o=i.onCancellationRequested((()=>{clearTimeout(n),o.dispose(),s(new zi)}))})):nc((i=>ac(t,i)))}function lc(t,i=0,e){const s=setTimeout((()=>{t(),e&&n.dispose()}),i),n=Yi((()=>{clearTimeout(s),null==e||e.deleteAndLeak(n)}));return null==e||e.add(n),n}function uc(t,i=(t=>!!t),e=null){let s=0;const n=t.length,o=()=>{if(s>=n)return Promise.resolve(e);const r=t[s++];return Promise.resolve(r()).then((t=>i(t)?Promise.resolve(t):o()))};return o()}class dc{constructor(t,i){this._token=-1,"function"==typeof t&&"number"==typeof i&&this.setIfNotSet(t,i)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,i){this.cancel(),this._token=setTimeout((()=>{this._token=-1,t()}),i)}setIfNotSet(t,i){-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,t()}),i))}}class fc{constructor(){this.disposable=void 0}cancel(){var t;null===(t=this.disposable)||void 0===t||t.dispose(),this.disposable=void 0}cancelAndSet(t,i,e=globalThis){this.cancel();const s=e.setInterval((()=>{t()}),i);this.disposable=Yi((()=>{e.clearInterval(s),this.disposable=void 0}))}dispose(){this.cancel()}}class pc{constructor(t,i){this.timeoutToken=-1,this.runner=t,this.timeout=i,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(t=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,t)}get delay(){return this.timeout}set delay(t){this.timeout=t}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var t;null===(t=this.runner)||void 0===t||t.call(this)}}let gc,mc;mc="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(t,i)=>{Ot((()=>{if(e)return;const t=Date.now()+15;i(Object.freeze({didTimeout:!0,timeRemaining:()=>Math.max(0,t-Date.now())}))}));let e=!1;return{dispose(){e||(e=!0)}}}:(t,i,e)=>{const s=t.requestIdleCallback(i,"number"==typeof e?{timeout:e}:void 0);let n=!1;return{dispose(){n||(n=!0,t.cancelIdleCallback(s))}}},gc=t=>mc(globalThis,t);class wc{constructor(t,i){this._didRun=!1,this._executor=()=>{try{this._value=i()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=mc(t,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class vc extends wc{constructor(t){super(globalThis,t)}}class bc{get isRejected(){var t;return 1===(null===(t=this.outcome)||void 0===t?void 0:t.outcome)}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((t,i)=>{this.completeCallback=t,this.errorCallback=i}))}complete(t){return new Promise((i=>{this.completeCallback(t),this.outcome={outcome:0,value:t},i()}))}error(t){return new Promise((i=>{this.errorCallback(t),this.outcome={outcome:1,value:t},i()}))}cancel(){return this.error(new zi)}}var yc;!function(t){t.settled=async function(t){let i;const e=await Promise.all(t.map((t=>t.then((t=>t),(t=>{i||(i=t)})))));if(void 0!==i)throw i;return e},t.withAsyncBody=function(t){return new Promise((async(i,e)=>{try{await t(i,e)}catch(t){e(t)}}))}}(yc||(yc={}));class kc{static fromArray(t){return new kc((i=>{i.emitMany(t)}))}static fromPromise(t){return new kc((async i=>{i.emitMany(await t)}))}static fromPromises(t){return new kc((async i=>{await Promise.all(t.map((async t=>i.emitOne(await t))))}))}static merge(t){return new kc((async i=>{await Promise.all(t.map((async t=>{for await(const e of t)i.emitOne(e)})))}))}constructor(t){this._state=0,this._results=[],this._error=null,this._onStateChanged=new de,queueMicrotask((async()=>{const i={emitOne:t=>this.emitOne(t),emitMany:t=>this.emitMany(t),reject:t=>this.reject(t)};try{await Promise.resolve(t(i)),this.resolve()}catch(t){this.reject(t)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}}))}[Symbol.asyncIterator](){let t=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(t{for await(const s of t)e.emitOne(i(s))}))}map(t){return kc.map(this,t)}static filter(t,i){return new kc((async e=>{for await(const s of t)i(s)&&e.emitOne(s)}))}filter(t){return kc.filter(this,t)}static coalesce(t){return kc.filter(t,(t=>!!t))}coalesce(){return kc.coalesce(this)}static async toPromise(t){const i=[];for await(const e of t)i.push(e);return i}toPromise(){return kc.toPromise(this)}emitOne(t){0===this._state&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){0===this._state&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(t){0===this._state&&(this._state=2,this._error=t,this._onStateChanged.fire())}}kc.EMPTY=kc.fromArray([]);class xc extends kc{constructor(t,i){super(i),this._source=t}cancel(){this._source.cancel()}} -/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */ -const{entries:Cc,setPrototypeOf:Sc,isFrozen:Dc,getPrototypeOf:Ec,getOwnPropertyDescriptor:Ac}=Object;let{freeze:Mc,seal:Lc,create:Fc}=Object,{apply:Tc,construct:Rc}="undefined"!=typeof Reflect&&Reflect;Tc||(Tc=function(t,i,e){return t.apply(i,e)}),Mc||(Mc=function(t){return t}),Lc||(Lc=function(t){return t}),Rc||(Rc=function(t,i){return new t(...i)});const Oc=Uc(Array.prototype.forEach),Ic=Uc(Array.prototype.pop),_c=Uc(Array.prototype.push),Nc=Uc(String.prototype.toLowerCase),Bc=Uc(String.prototype.toString),Pc=Uc(String.prototype.match),$c=Uc(String.prototype.replace),Wc=Uc(String.prototype.indexOf),jc=Uc(String.prototype.trim),zc=Uc(RegExp.prototype.test),Hc=(Vc=TypeError,function(){for(var t=arguments.length,i=new Array(t),e=0;e1?e-1:0),n=1;n/gm),ca=Lc(/\${[\w\W]*}/gm),aa=Lc(/^data-[\-\w.\u00B7-\uFFFF]/),la=Lc(/^aria-[\-\w]+$/),ua=Lc(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),da=Lc(/^(?:\w+script|data):/i),fa=Lc(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),pa=Lc(/^html$/i);var ga=Object.freeze({__proto__:null,MUSTACHE_EXPR:ra,ERB_EXPR:ha,TMPLIT_EXPR:ca,DATA_ATTR:aa,ARIA_ATTR:la,IS_ALLOWED_URI:ua,IS_SCRIPT_OR_DATA:da,ATTR_WHITESPACE:fa,DOCTYPE_NAME:pa});const ma=()=>"undefined"==typeof window?null:window;var wa=function t(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ma();const e=i=>t(i);if(e.version="3.0.5",e.removed=[],!i||!i.document||9!==i.document.nodeType)return e.isSupported=!1,e;const s=i.document,n=s.currentScript;let{document:o}=i;const{DocumentFragment:r,HTMLTemplateElement:h,Node:c,Element:a,NodeFilter:l,NamedNodeMap:u=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=i,g=a.prototype,m=Gc(g,"cloneNode"),w=Gc(g,"nextSibling"),v=Gc(g,"childNodes"),b=Gc(g,"parentNode");if("function"==typeof h){const t=o.createElement("template");t.content&&t.content.ownerDocument&&(o=t.content.ownerDocument)}let y,k="";const{implementation:x,createNodeIterator:C,createDocumentFragment:S,getElementsByTagName:D}=o,{importNode:E}=s;let A={};e.isSupported="function"==typeof Cc&&"function"==typeof b&&x&&void 0!==x.createHTMLDocument;const{MUSTACHE_EXPR:M,ERB_EXPR:L,TMPLIT_EXPR:F,DATA_ATTR:T,ARIA_ATTR:R,IS_SCRIPT_OR_DATA:O,ATTR_WHITESPACE:I}=ga;let{IS_ALLOWED_URI:_}=ga,N=null;const B=qc({},[...Zc,...Qc,...Jc,...Xc,...ia]);let P=null;const $=qc({},[...ea,...sa,...na,...oa]);let W=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),j=null,z=null,H=!0,V=!0,U=!1,q=!0,K=!1,G=!1,Z=!1,Q=!1,J=!1,Y=!1,X=!1,tt=!0,it=!1,et=!0,st=!1,nt={},ot=null;const rt=qc({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let ht=null;const ct=qc({},["audio","video","img","source","image","track"]);let at=null;const lt=qc({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ut="http://www.w3.org/1998/Math/MathML",dt="http://www.w3.org/2000/svg",ft="http://www.w3.org/1999/xhtml";let pt=ft,gt=!1,mt=null;const wt=qc({},[ut,dt,ft],Bc);let vt;const bt=["application/xhtml+xml","text/html"];let yt,kt=null;const xt=o.createElement("form"),Ct=function(t){return t instanceof RegExp||t instanceof Function},St=function(t){if(!kt||kt!==t){if(t&&"object"==typeof t||(t={}),t=Kc(t),vt=vt=-1===bt.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,yt="application/xhtml+xml"===vt?Bc:Nc,N="ALLOWED_TAGS"in t?qc({},t.ALLOWED_TAGS,yt):B,P="ALLOWED_ATTR"in t?qc({},t.ALLOWED_ATTR,yt):$,mt="ALLOWED_NAMESPACES"in t?qc({},t.ALLOWED_NAMESPACES,Bc):wt,at="ADD_URI_SAFE_ATTR"in t?qc(Kc(lt),t.ADD_URI_SAFE_ATTR,yt):lt,ht="ADD_DATA_URI_TAGS"in t?qc(Kc(ct),t.ADD_DATA_URI_TAGS,yt):ct,ot="FORBID_CONTENTS"in t?qc({},t.FORBID_CONTENTS,yt):rt,j="FORBID_TAGS"in t?qc({},t.FORBID_TAGS,yt):{},z="FORBID_ATTR"in t?qc({},t.FORBID_ATTR,yt):{},nt="USE_PROFILES"in t&&t.USE_PROFILES,H=!1!==t.ALLOW_ARIA_ATTR,V=!1!==t.ALLOW_DATA_ATTR,U=t.ALLOW_UNKNOWN_PROTOCOLS||!1,q=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,K=t.SAFE_FOR_TEMPLATES||!1,G=t.WHOLE_DOCUMENT||!1,J=t.RETURN_DOM||!1,Y=t.RETURN_DOM_FRAGMENT||!1,X=t.RETURN_TRUSTED_TYPE||!1,Q=t.FORCE_BODY||!1,tt=!1!==t.SANITIZE_DOM,it=t.SANITIZE_NAMED_PROPS||!1,et=!1!==t.KEEP_CONTENT,st=t.IN_PLACE||!1,_=t.ALLOWED_URI_REGEXP||ua,pt=t.NAMESPACE||ft,W=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&Ct(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(W.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&Ct(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(W.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(W.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),K&&(V=!1),Y&&(J=!0),nt&&(N=qc({},[...ia]),P=[],!0===nt.html&&(qc(N,Zc),qc(P,ea)),!0===nt.svg&&(qc(N,Qc),qc(P,sa),qc(P,oa)),!0===nt.svgFilters&&(qc(N,Jc),qc(P,sa),qc(P,oa)),!0===nt.mathMl&&(qc(N,Xc),qc(P,na),qc(P,oa))),t.ADD_TAGS&&(N===B&&(N=Kc(N)),qc(N,t.ADD_TAGS,yt)),t.ADD_ATTR&&(P===$&&(P=Kc(P)),qc(P,t.ADD_ATTR,yt)),t.ADD_URI_SAFE_ATTR&&qc(at,t.ADD_URI_SAFE_ATTR,yt),t.FORBID_CONTENTS&&(ot===rt&&(ot=Kc(ot)),qc(ot,t.FORBID_CONTENTS,yt)),et&&(N["#text"]=!0),G&&qc(N,["html","head","body"]),N.table&&(qc(N,["tbody"]),delete j.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw Hc('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw Hc('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');y=t.TRUSTED_TYPES_POLICY,k=y.createHTML("")}else void 0===y&&(y=function(t,i){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let e=null;const s="data-tt-policy-suffix";i&&i.hasAttribute(s)&&(e=i.getAttribute(s));const n="dompurify"+(e?"#"+e:"");try{return t.createPolicy(n,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+n+" could not be created."),null}}(p,n)),null!==y&&"string"==typeof k&&(k=y.createHTML(""));Mc&&Mc(t),kt=t}},Dt=qc({},["mi","mo","mn","ms","mtext"]),Et=qc({},["foreignobject","desc","title","annotation-xml"]),At=qc({},["title","style","font","a","script"]),Mt=qc({},Qc);qc(Mt,Jc),qc(Mt,Yc);const Lt=qc({},Xc);qc(Lt,ta);const Ft=function(t){_c(e.removed,{element:t});try{t.parentNode.removeChild(t)}catch(i){t.remove()}},Tt=function(t,i){try{_c(e.removed,{attribute:i.getAttributeNode(t),from:i})}catch(t){_c(e.removed,{attribute:null,from:i})}if(i.removeAttribute(t),"is"===t&&!P[t])if(J||Y)try{Ft(i)}catch(t){}else try{i.setAttribute(t,"")}catch(t){}},Rt=function(t){let i,e;if(Q)t=""+t;else{const i=Pc(t,/^[\r\n\t ]+/);e=i&&i[0]}"application/xhtml+xml"===vt&&pt===ft&&(t=''+t+"");const s=y?y.createHTML(t):t;if(pt===ft)try{i=(new f).parseFromString(s,vt)}catch(t){}if(!i||!i.documentElement){i=x.createDocument(pt,"template",null);try{i.documentElement.innerHTML=gt?k:s}catch(t){}}const n=i.body||i.documentElement;return t&&e&&n.insertBefore(o.createTextNode(e),n.childNodes[0]||null),pt===ft?D.call(i,G?"html":"body")[0]:G?i.documentElement:n},Ot=function(t){return C.call(t.ownerDocument||t,t,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)},It=function(t){return"object"==typeof c?t instanceof c:t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName},_t=function(t,i,s){A[t]&&Oc(A[t],(t=>{t.call(e,i,s,kt)}))},Nt=function(t){let i;if(_t("beforeSanitizeElements",t,null),(s=t)instanceof d&&("string"!=typeof s.nodeName||"string"!=typeof s.textContent||"function"!=typeof s.removeChild||!(s.attributes instanceof u)||"function"!=typeof s.removeAttribute||"function"!=typeof s.setAttribute||"string"!=typeof s.namespaceURI||"function"!=typeof s.insertBefore||"function"!=typeof s.hasChildNodes))return Ft(t),!0;var s;const n=yt(t.nodeName);if(_t("uponSanitizeElement",t,{tagName:n,allowedTags:N}),t.hasChildNodes()&&!It(t.firstElementChild)&&(!It(t.content)||!It(t.content.firstElementChild))&&zc(/<[/\w]/g,t.innerHTML)&&zc(/<[/\w]/g,t.textContent))return Ft(t),!0;if(!N[n]||j[n]){if(!j[n]&&Pt(n)){if(W.tagNameCheck instanceof RegExp&&zc(W.tagNameCheck,n))return!1;if(W.tagNameCheck instanceof Function&&W.tagNameCheck(n))return!1}if(et&&!ot[n]){const i=b(t)||t.parentNode,e=v(t)||t.childNodes;if(e&&i)for(let s=e.length-1;s>=0;--s)i.insertBefore(m(e[s],!0),w(t))}return Ft(t),!0}return t instanceof a&&!function(t){let i=b(t);i&&i.tagName||(i={namespaceURI:pt,tagName:"template"});const e=Nc(t.tagName),s=Nc(i.tagName);return!!mt[t.namespaceURI]&&(t.namespaceURI===dt?i.namespaceURI===ft?"svg"===e:i.namespaceURI===ut?"svg"===e&&("annotation-xml"===s||Dt[s]):Boolean(Mt[e]):t.namespaceURI===ut?i.namespaceURI===ft?"math"===e:i.namespaceURI===dt?"math"===e&&Et[s]:Boolean(Lt[e]):t.namespaceURI===ft?!(i.namespaceURI===dt&&!Et[s])&&!(i.namespaceURI===ut&&!Dt[s])&&!Lt[e]&&(At[e]||!Mt[e]):!("application/xhtml+xml"!==vt||!mt[t.namespaceURI]))}(t)?(Ft(t),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!zc(/<\/no(script|embed|frames)/i,t.innerHTML)?(K&&3===t.nodeType&&(i=t.textContent,i=$c(i,M," "),i=$c(i,L," "),i=$c(i,F," "),t.textContent!==i&&(_c(e.removed,{element:t.cloneNode()}),t.textContent=i)),_t("afterSanitizeElements",t,null),!1):(Ft(t),!0)},Bt=function(t,i,e){if(tt&&("id"===i||"name"===i)&&(e in o||e in xt))return!1;if(V&&!z[i]&&zc(T,i));else if(H&&zc(R,i));else if(!P[i]||z[i]){if(!(Pt(t)&&(W.tagNameCheck instanceof RegExp&&zc(W.tagNameCheck,t)||W.tagNameCheck instanceof Function&&W.tagNameCheck(t))&&(W.attributeNameCheck instanceof RegExp&&zc(W.attributeNameCheck,i)||W.attributeNameCheck instanceof Function&&W.attributeNameCheck(i))||"is"===i&&W.allowCustomizedBuiltInElements&&(W.tagNameCheck instanceof RegExp&&zc(W.tagNameCheck,e)||W.tagNameCheck instanceof Function&&W.tagNameCheck(e))))return!1}else if(at[i]);else if(zc(_,$c(e,I,"")));else if("src"!==i&&"xlink:href"!==i&&"href"!==i||"script"===t||0!==Wc(e,"data:")||!ht[t])if(U&&!zc(O,$c(e,I,"")));else if(e)return!1;return!0},Pt=function(t){return t.indexOf("-")>0},$t=function(t){let i,s,n,o;_t("beforeSanitizeAttributes",t,null);const{attributes:r}=t;if(!r)return;const h={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:P};for(o=r.length;o--;){i=r[o];const{name:c,namespaceURI:a}=i;if(s="value"===c?i.value:jc(i.value),n=yt(c),h.attrName=n,h.attrValue=s,h.keepAttr=!0,h.forceKeepAttr=void 0,_t("uponSanitizeAttribute",t,h),s=h.attrValue,h.forceKeepAttr)continue;if(Tt(c,t),!h.keepAttr)continue;if(!q&&zc(/\/>/i,s)){Tt(c,t);continue}K&&(s=$c(s,M," "),s=$c(s,L," "),s=$c(s,F," "));const l=yt(t.nodeName);if(Bt(l,n,s)){if(!it||"id"!==n&&"name"!==n||(Tt(c,t),s="user-content-"+s),y&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(a);else switch(p.getAttributeType(l,n)){case"TrustedHTML":s=y.createHTML(s);break;case"TrustedScriptURL":s=y.createScriptURL(s)}try{a?t.setAttributeNS(a,c,s):t.setAttribute(c,s),Ic(e.removed)}catch(t){}}}_t("afterSanitizeAttributes",t,null)},Wt=function t(i){let e;const s=Ot(i);for(_t("beforeSanitizeShadowDOM",i,null);e=s.nextNode();)_t("uponSanitizeShadowNode",e,null),Nt(e)||(e.content instanceof r&&t(e.content),$t(e));_t("afterSanitizeShadowDOM",i,null)};return e.sanitize=function(t){let i,n,o,h,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(gt=!t,gt&&(t="\x3c!--\x3e"),"string"!=typeof t&&!It(t)){if("function"!=typeof t.toString)throw Hc("toString is not a function");if("string"!=typeof(t=t.toString()))throw Hc("dirty is not a string, aborting")}if(!e.isSupported)return t;if(Z||St(a),e.removed=[],"string"==typeof t&&(st=!1),st){if(t.nodeName){const i=yt(t.nodeName);if(!N[i]||j[i])throw Hc("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof c)i=Rt("\x3c!----\x3e"),n=i.ownerDocument.importNode(t,!0),1===n.nodeType&&"BODY"===n.nodeName||"HTML"===n.nodeName?i=n:i.appendChild(n);else{if(!J&&!K&&!G&&-1===t.indexOf("<"))return y&&X?y.createHTML(t):t;if(i=Rt(t),!i)return J?null:X?k:""}i&&Q&&Ft(i.firstChild);const l=Ot(st?t:i);for(;o=l.nextNode();)Nt(o)||(o.content instanceof r&&Wt(o.content),$t(o));if(st)return t;if(J){if(Y)for(h=S.call(i.ownerDocument);i.firstChild;)h.appendChild(i.firstChild);else h=i;return(P.shadowroot||P.shadowrootmode)&&(h=E.call(s,h,!0)),h}let u=G?i.outerHTML:i.innerHTML;return G&&N["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&zc(pa,i.ownerDocument.doctype.name)&&(u="\n"+u),K&&(u=$c(u,M," "),u=$c(u,L," "),u=$c(u,F," ")),y&&X?y.createHTML(u):u},e.setConfig=function(t){St(t),Z=!0},e.clearConfig=function(){kt=null,Z=!1},e.isValidAttribute=function(t,i,e){kt||St({});const s=yt(t),n=yt(i);return Bt(s,n,e)},e.addHook=function(t,i){"function"==typeof i&&(A[t]=A[t]||[],_c(A[t],i))},e.removeHook=function(t){if(A[t])return Ic(A[t])},e.removeHooks=function(t){A[t]&&(A[t]=[])},e.removeAllHooks=function(){A={}},e}();const va=wa.sanitize,ba=wa.addHook,ya=wa.removeHook;var ka;function xa(t,i){return ms.isUri(t)?lo(t.scheme,i):uo(t,i+":")}function Ca(t,...i){return i.some((i=>xa(t,i)))}!function(t){t.inMemory="inmemory",t.vscode="vscode",t.internal="private",t.walkThrough="walkThrough",t.walkThroughSnippet="walkThroughSnippet",t.http="http",t.https="https",t.file="file",t.mailto="mailto",t.untitled="untitled",t.data="data",t.command="command",t.vscodeRemote="vscode-remote",t.vscodeRemoteResource="vscode-remote-resource",t.vscodeManagedRemoteResource="vscode-managed-remote-resource",t.vscodeUserData="vscode-userdata",t.vscodeCustomEditor="vscode-custom-editor",t.vscodeNotebookCell="vscode-notebook-cell",t.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",t.vscodeNotebookCellOutput="vscode-notebook-cell-output",t.vscodeInteractiveInput="vscode-interactive-input",t.vscodeSettings="vscode-settings",t.vscodeWorkspaceTrust="vscode-workspace-trust",t.vscodeTerminal="vscode-terminal",t.vscodeChatSesssion="vscode-chat-editor",t.webviewPanel="webview-panel",t.vscodeWebview="vscode-webview",t.extension="extension",t.vscodeFileResource="vscode-file",t.tmp="tmp",t.vsls="vsls",t.vscodeSourceControl="vscode-scm"}(ka||(ka={}));const Sa=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._remoteResourcesPath=`/${ka.vscodeRemoteResource}`}setPreferredWebSchema(t){this._preferredWebSchema=t}rewrite(t){if(this._delegate)try{return this._delegate(t)}catch(i){return Bi(i),t}const i=t.authority;let e=this._hosts[i];e&&-1!==e.indexOf(":")&&-1===e.indexOf("[")&&(e=`[${e}]`);const s=this._ports[i],n=this._connectionTokens[i];let o=`path=${encodeURIComponent(t.path)}`;return"string"==typeof n&&(o+=`&tkn=${encodeURIComponent(n)}`),ms.from({scheme:Et?this._preferredWebSchema:ka.vscodeRemoteResource,authority:`${e}:${s}`,path:this._remoteResourcesPath,query:o})}};class Da{uriToBrowserUri(t){return t.scheme===ka.vscodeRemote?Sa.rewrite(t):t.scheme!==ka.file||!Dt&&At!==`${ka.vscodeFileResource}://${Da.FALLBACK_AUTHORITY}`?t:t.with({scheme:ka.vscodeFileResource,authority:t.authority||Da.FALLBACK_AUTHORITY,query:null,fragment:null})}}Da.FALLBACK_AUTHORITY="vscode-app";const Ea=new Da;var Aa;function Ma(t){return La(t,0)}function La(t,i){switch(typeof t){case"object":return null===t?Fa(349,i):Array.isArray(t)?(e=t,s=Fa(104579,s=i),e.reduce(((t,i)=>La(i,t)),s)):function(t,i){return i=Fa(181387,i),Object.keys(t).sort().reduce(((i,e)=>(i=Ta(e,i),La(t[e],i))),i)}(t,i);case"string":return Ta(t,i);case"boolean":return function(t,i){return Fa(t?433:863,i)}(t,i);case"number":return Fa(t,i);case"undefined":return Fa(937,i);default:return Fa(617,i)}var e,s}function Fa(t,i){return(i<<5)-i+t|0}function Ta(t,i){i=Fa(149417,i);for(let e=0,s=t.length;e>>s)>>>0}function Oa(t,i=0,e=t.byteLength,s=0){for(let n=0;nt.toString(16).padStart(2,"0"))).join(""):function(t,i,e="0"){for(;t.length>>0).toString(16),i/4)}!function(t){const i=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);t.CoopAndCoep=Object.freeze(i.get("3"));const e="vscode-coi";t.getHeadersFromQuery=function(t){let s;"string"==typeof t?s=new URL(t).searchParams:t instanceof URL?s=t.searchParams:ms.isUri(t)&&(s=new URL(t.toString(!0)).searchParams);const n=null==s?void 0:s.get(e);if(n)return i.get(n)},t.addSearchParam=function(t,i,s){if(!globalThis.crossOriginIsolated)return;const n=i&&s?"3":s?"2":"1";t instanceof URLSearchParams?t.set(e,n):t[e]=n}}(Aa||(Aa={}));class _a{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(t){const i=t.length;if(0===i)return;const e=this._buff;let s,n,o=this._buffLen,r=this._leftoverHighSurrogate;for(0!==r?(s=r,n=-1,r=0):(s=t.charCodeAt(0),n=0);;){let h=s;if(go(s)){if(!(n+1>>6,t[i++]=128|(63&e)>>>0):e<65536?(t[i++]=224|(61440&e)>>>12,t[i++]=128|(4032&e)>>>6,t[i++]=128|(63&e)>>>0):(t[i++]=240|(1835008&e)>>>18,t[i++]=128|(258048&e)>>>12,t[i++]=128|(4032&e)>>>6,t[i++]=128|(63&e)>>>0),i>=64&&(this._step(),i-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),i}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Ia(this._h0)+Ia(this._h1)+Ia(this._h2)+Ia(this._h3)+Ia(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Oa(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Oa(this._buff));const t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){const t=_a._bigBlock32,i=this._buffDV;for(let e=0;e<64;e+=4)t.setUint32(e,i.getUint32(e,!1),!1);for(let i=64;i<320;i+=4)t.setUint32(i,Ra(t.getUint32(i-12,!1)^t.getUint32(i-32,!1)^t.getUint32(i-56,!1)^t.getUint32(i-64,!1),1),!1);let e,s,n,o=this._h0,r=this._h1,h=this._h2,c=this._h3,a=this._h4;for(let i=0;i<80;i++)i<20?(e=r&h|~r&c,s=1518500249):i<40?(e=r^h^c,s=1859775393):i<60?(e=r&h|r&c|h&c,s=2400959708):(e=r^h^c,s=3395469782),n=Ra(o,5)+e+a+s+t.getUint32(4*i,!1)&4294967295,a=c,c=h,h=Ra(r,30),r=o,o=n;this._h0=this._h0+o&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+h&4294967295,this._h3=this._h3+c&4294967295,this._h4=this._h4+a&4294967295}}_a._bigBlock32=new DataView(new ArrayBuffer(320));const{getWindow:Na,getWindows:Ba,getWindowsCount:Pa,getWindowId:$a,onDidRegisterWindow:Wa,onWillUnregisterWindow:ja}=function(){const t=new Map;var i;"number"!=typeof(i=$n).vscodeWindowId&&Object.defineProperty(i,"vscodeWindowId",{get:()=>1}),t.set($n.vscodeWindowId,{window:$n,disposables:new Xi});const e=new de,s=new de,n=new de;return{onDidRegisterWindow:e.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:s.event,registerWindow(i){if(t.has(i.vscodeWindowId))return te.None;const o=new Xi,r={window:i,disposables:o.add(new Xi)};return t.set(i.vscodeWindowId,r),o.add(Yi((()=>{t.delete(i.vscodeWindowId),s.fire(i)}))),o.add(Va(i,Ll.BEFORE_UNLOAD,(()=>{n.fire(i)}))),e.fire(r),o},getWindows:()=>t.values(),getWindowsCount:()=>t.size,getWindowId:t=>t.vscodeWindowId,hasWindow:i=>t.has(i),getWindowById:i=>t.get(i),getWindow(t){var i;return(null===(i=null==t?void 0:t.ownerDocument)||void 0===i?void 0:i.defaultView)?t.ownerDocument.defaultView.window:(null==t?void 0:t.view)?t.view.window:$n},getDocument:t=>Na(t).document}}();function za(t){for(;t.firstChild;)t.firstChild.remove()}class Ha{constructor(t,i,e,s){this._node=t,this._type=i,this._handler=e,this._options=s||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function Va(t,i,e,s){return new Ha(t,i,e,s)}function Ua(t,i){return function(e){return i(new tc(t,e))}}const qa=function(t,i,e,s){let n=e;return"click"===i||"mousedown"===i?n=Ua(Na(t),e):"keydown"!==i&&"keypress"!==i&&"keyup"!==i||(n=function(t){return function(i){return t(new Qh(i))}}(e)),Va(t,i,n,s)};function Ka(t,i,e){return mc(t,i,e)}class Ga extends wc{constructor(t,i){super(t,i)}}let Za,Qa;class Ja extends fc{cancelAndSet(t,i,e){return super.cancelAndSet(t,i,e)}}class Ya{constructor(t,i=0){this._runner=t,this.priority=i,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){Bi(t)}}static sort(t,i){return i.priority-t.priority}}function Xa(t){return Na(t).getComputedStyle(t,null)}function tl(t,i){const e=Na(t),s=e.document;if(t!==s.body)return new el(t.clientWidth,t.clientHeight);if(Mt&&(null==e?void 0:e.visualViewport))return new el(e.visualViewport.width,e.visualViewport.height);if((null==e?void 0:e.innerWidth)&&e.innerHeight)return new el(e.innerWidth,e.innerHeight);if(s.body&&s.body.clientWidth&&s.body.clientHeight)return new el(s.body.clientWidth,s.body.clientHeight);if(s.documentElement&&s.documentElement.clientWidth&&s.documentElement.clientHeight)return new el(s.documentElement.clientWidth,s.documentElement.clientHeight);if(i)return tl(i);throw new Error("Unable to figure out browser width and height")}!function(){const t=new Map,i=new Map,e=new Map,s=new Map;Qa=(n,o,r=0)=>{const h=$a(n),c=new Ya(o,r);let a=t.get(h);return a||(a=[],t.set(h,a)),a.push(c),e.get(h)||(e.set(h,!0),n.requestAnimationFrame((()=>(n=>{var o;e.set(n,!1);const r=null!==(o=t.get(n))&&void 0!==o?o:[];for(i.set(n,r),t.set(n,[]),s.set(n,!0);r.length>0;)r.sort(Ya.sort),r.shift().execute();s.set(n,!1)})(h)))),c},Za=(t,e,n)=>{const o=$a(t);if(s.get(o)){const t=new Ya(e,n);let s=i.get(o);return s||(s=[],i.set(o,s)),s.push(t),t}return Qa(t,e,n)}}();class il{static convertToPixels(t,i){return parseFloat(i)||0}static getDimension(t,i,e){const s=Xa(t),n=s?s.getPropertyValue(i):"0";return il.convertToPixels(t,n)}static getBorderLeftWidth(t){return il.getDimension(t,"border-left-width","borderLeftWidth")}static getBorderRightWidth(t){return il.getDimension(t,"border-right-width","borderRightWidth")}static getBorderTopWidth(t){return il.getDimension(t,"border-top-width","borderTopWidth")}static getBorderBottomWidth(t){return il.getDimension(t,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(t){return il.getDimension(t,"padding-left","paddingLeft")}static getPaddingRight(t){return il.getDimension(t,"padding-right","paddingRight")}static getPaddingTop(t){return il.getDimension(t,"padding-top","paddingTop")}static getPaddingBottom(t){return il.getDimension(t,"padding-bottom","paddingBottom")}static getMarginLeft(t){return il.getDimension(t,"margin-left","marginLeft")}static getMarginTop(t){return il.getDimension(t,"margin-top","marginTop")}static getMarginRight(t){return il.getDimension(t,"margin-right","marginRight")}static getMarginBottom(t){return il.getDimension(t,"margin-bottom","marginBottom")}}class el{constructor(t,i){this.width=t,this.height=i}with(t=this.width,i=this.height){return t!==this.width||i!==this.height?new el(t,i):this}static is(t){return"object"==typeof t&&"number"==typeof t.height&&"number"==typeof t.width}static lift(t){return t instanceof el?t:new el(t.width,t.height)}static equals(t,i){return t===i||!(!t||!i)&&t.width===i.width&&t.height===i.height}}function sl(t){let i=t.offsetParent,e=t.offsetTop,s=t.offsetLeft;for(;null!==(t=t.parentNode)&&t!==t.ownerDocument.body&&t!==t.ownerDocument.documentElement;){e-=t.scrollTop;const n=ul(t)?null:Xa(t);n&&(s-="rtl"!==n.direction?t.scrollLeft:-t.scrollLeft),t===i&&(s+=il.getBorderLeftWidth(t),e+=il.getBorderTopWidth(t),e+=t.offsetTop,s+=t.offsetLeft,i=t.offsetParent)}return{left:s,top:e}}function nl(t){const i=t.getBoundingClientRect(),e=Na(t);return{left:i.left+e.scrollX,top:i.top+e.scrollY,width:i.width,height:i.height}}function ol(t){const i=il.getMarginLeft(t)+il.getMarginRight(t);return t.offsetWidth+i}function rl(t){const i=il.getBorderLeftWidth(t)+il.getBorderRightWidth(t),e=il.getPaddingLeft(t)+il.getPaddingRight(t);return t.offsetWidth-i-e}function hl(t){const i=il.getBorderTopWidth(t)+il.getBorderBottomWidth(t),e=il.getPaddingTop(t)+il.getPaddingBottom(t);return t.offsetHeight-i-e}function cl(t){const i=il.getMarginTop(t)+il.getMarginBottom(t);return t.offsetHeight+i}function al(t,i){return Boolean(null==i?void 0:i.contains(t))}function ll(t,i,e){return!!function(t,i,e){for(;t&&t.nodeType===t.ELEMENT_NODE;){if(t.classList.contains(i))return t;if(e)if("string"==typeof e){if(t.classList.contains(e))return null}else if(t===e)return null;t=t.parentNode}return null}(t,i,e)}function ul(t){return t&&!!t.host&&!!t.mode}function dl(t){return!!fl(t)}function fl(t){for(var i;t.parentNode;){if(t===(null===(i=t.ownerDocument)||void 0===i?void 0:i.body))return null;t=t.parentNode}return ul(t)?t:null}function pl(){let t=ml().activeElement;for(;null==t?void 0:t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function gl(t){return t.ownerDocument.activeElement===t}function ml(){var t;return Pa()<=1?document:null!==(t=Array.from(Ba()).map((({window:t})=>t.document)).find((t=>t.hasFocus())))&&void 0!==t?t:document}el.None=new el(0,0);const wl=new Map;function vl(t=$n.document.head,i,e){const s=document.createElement("style");if(s.type="text/css",s.media="screen",null==i||i(s),t.appendChild(s),e&&e.add(Yi((()=>t.removeChild(s)))),t===$n.document.head){const t=new Set;wl.set(s,t);for(const{window:i,disposables:n}of Ba()){if(i===$n)continue;const o=n.add(bl(s,t,i));null==e||e.add(o)}}return s}function bl(t,i,e){var s,n;const o=new Xi,r=t.cloneNode(!0);e.document.head.appendChild(r),o.add(Yi((()=>e.document.head.removeChild(r))));for(const i of Cl(t))null===(s=r.sheet)||void 0===s||s.insertRule(i.cssText,null===(n=r.sheet)||void 0===n?void 0:n.cssRules.length);return o.add(yl.observe(t,o,{childList:!0})((()=>{r.textContent=t.textContent}))),i.add(r),o.add(Yi((()=>i.delete(r)))),o}const yl=new class{constructor(){this.mutationObservers=new Map}observe(t,i,e){let s=this.mutationObservers.get(t);s||(s=new Map,this.mutationObservers.set(t,s));const n=Ma(e);let o=s.get(n);if(o)o.users+=1;else{const r=new de,h=new MutationObserver((t=>r.fire(t)));h.observe(t,e);const c=o={users:1,observer:h,onDidMutate:r.event};i.add(Yi((()=>{c.users-=1,0===c.users&&(r.dispose(),h.disconnect(),null==s||s.delete(n),0===(null==s?void 0:s.size)&&this.mutationObservers.delete(t))}))),s.set(n,o)}return o.onDidMutate}};let kl=null;function xl(){return kl||(kl=vl()),kl}function Cl(t){var i,e;return(null===(i=null==t?void 0:t.sheet)||void 0===i?void 0:i.rules)?t.sheet.rules:(null===(e=null==t?void 0:t.sheet)||void 0===e?void 0:e.cssRules)?t.sheet.cssRules:[]}function Sl(t,i,e=xl()){var s,n;if(e&&i){null===(s=e.sheet)||void 0===s||s.insertRule(`${t} {${i}}`,0);for(const s of null!==(n=wl.get(e))&&void 0!==n?n:[])Sl(t,i,s)}}function Dl(t,i=xl()){var e,s;if(!i)return;const n=Cl(i),o=[];for(let i=0;i=0;t--)null===(e=i.sheet)||void 0===e||e.deleteRule(o[t]);for(const e of null!==(s=wl.get(i))&&void 0!==s?s:[])Dl(t,e)}function El(t){return"string"==typeof t.selectorText}function Al(t){return t instanceof MouseEvent||t instanceof Na(t).MouseEvent}function Ml(t){return t instanceof KeyboardEvent||t instanceof Na(t).KeyboardEvent}const Ll={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:qo?"webkitAnimationStart":"animationstart",ANIMATION_END:qo?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:qo?"webkitAnimationIteration":"animationiteration"},Fl=(t,i)=>(t.preventDefault(),i&&t.stopPropagation(),t);class Tl extends te{static hasFocusWithin(t){if(t instanceof HTMLElement){const i=fl(t);return al(i?i.activeElement:t.ownerDocument.activeElement,t)}return al(t.document.activeElement,t.document)}constructor(t){super(),this._onDidFocus=this._register(new de),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new de),this.onDidBlur=this._onDidBlur.event;let i=Tl.hasFocusWithin(t),e=!1;const s=()=>{e=!1,i||(i=!0,this._onDidFocus.fire())},n=()=>{i&&(e=!0,(t instanceof HTMLElement?Na(t):t).setTimeout((()=>{e&&(e=!1,i=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{Tl.hasFocusWithin(t)!==i&&(i?n():s())},this._register(Va(t,Ll.FOCUS,s,!0)),this._register(Va(t,Ll.BLUR,n,!0)),t instanceof HTMLElement&&(this._register(Va(t,Ll.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(Va(t,Ll.FOCUS_OUT,(()=>this._refreshStateHandler()))))}}function Rl(t){return new Tl(t)}function Ol(t,...i){if(t.append(...i),1===i.length&&"string"!=typeof i[0])return i[0]}function Il(t,i){return t.insertBefore(i,t.firstChild),i}function _l(t,...i){t.innerText="",Ol(t,...i)}const Nl=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Bl;function Pl(t,i,e,...s){const n=Nl.exec(i);if(!n)throw new Error("Bad use of emmet");const o=n[1]||"div";let r;return r=t!==Bl.HTML?document.createElementNS(t,o):document.createElement(o),n[3]&&(r.id=n[3]),n[4]&&(r.className=n[4].replace(/\./g," ").trim()),e&&Object.entries(e).forEach((([t,i])=>{void 0!==i&&(/^on\w+$/.test(t)?r[t]=i:"selected"===t?i&&r.setAttribute(t,"true"):r.setAttribute(t,i))})),r.append(...s),r}function $l(t,i,...e){return Pl(Bl.HTML,t,i,...e)}function Wl(...t){for(const i of t)i.style.display="",i.removeAttribute("aria-hidden")}function jl(...t){for(const i of t)i.style.display="none",i.setAttribute("aria-hidden","true")}function zl(t,i){return Math.max(1,Math.floor(t.devicePixelRatio*i))/t.devicePixelRatio}function Hl(t){$n.open(t,"_blank","noopener")}function Vl(t){return t?`url('${Ea.uriToBrowserUri(t).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function Ul(t){return`'${t.replace(/'/g,"%27")}'`}function ql(t,i){if(void 0!==t){const e=t.match(/^\s*var\((.+)\)$/);if(e){const t=e[1].split(",",2);return 2===t.length&&(i=ql(t[1].trim(),i)),`var(${t[0]}, ${i})`}return t}return i}!function(t){t.HTML="http://www.w3.org/1999/xhtml",t.SVG="http://www.w3.org/2000/svg"}(Bl||(Bl={})),$l.SVG=function(t,i,...e){return Pl(Bl.SVG,t,i,...e)},Sa.setPreferredWebSchema(/^https:/.test($n.location.href)?"https":"http");const Kl=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class Gl extends de{constructor(){super(),this._subscriptions=new Xi,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(he.runAndSubscribe(Wa,(({window:t,disposables:i})=>this.registerListeners(t,i)),{window:$n,disposables:this._subscriptions}))}registerListeners(t,i){i.add(Va(t,"keydown",(t=>{if(t.defaultPrevented)return;const i=new Qh(t);if(6!==i.keyCode||!t.repeat){if(t.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(t.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(t.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(t.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===i.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=t.altKey,this._keyStatus.ctrlKey=t.ctrlKey,this._keyStatus.metaKey=t.metaKey,this._keyStatus.shiftKey=t.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=t,this.fire(this._keyStatus))}}),!0)),i.add(Va(t,"keyup",(t=>{t.defaultPrevented||(this._keyStatus.lastKeyReleased=!t.altKey&&this._keyStatus.altKey?"alt":!t.ctrlKey&&this._keyStatus.ctrlKey?"ctrl":!t.metaKey&&this._keyStatus.metaKey?"meta":!t.shiftKey&&this._keyStatus.shiftKey?"shift":void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=t.altKey,this._keyStatus.ctrlKey=t.ctrlKey,this._keyStatus.metaKey=t.metaKey,this._keyStatus.shiftKey=t.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=t,this.fire(this._keyStatus)))}),!0)),i.add(Va(t.document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),i.add(Va(t.document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),i.add(Va(t.document.body,"mousemove",(t=>{t.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),i.add(Va(t,"blur",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return Gl.instance||(Gl.instance=new Gl),Gl.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class Zl extends te{constructor(t,i){super(),this.element=t,this.callbacks=i,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(Va(this.element,Ll.DRAG_START,(t=>{var i,e;null===(e=(i=this.callbacks).onDragStart)||void 0===e||e.call(i,t)}))),this.callbacks.onDrag&&this._register(Va(this.element,Ll.DRAG,(t=>{var i,e;null===(e=(i=this.callbacks).onDrag)||void 0===e||e.call(i,t)}))),this._register(Va(this.element,Ll.DRAG_ENTER,(t=>{var i,e;this.counter++,this.dragStartTime=t.timeStamp,null===(e=(i=this.callbacks).onDragEnter)||void 0===e||e.call(i,t)}))),this._register(Va(this.element,Ll.DRAG_OVER,(t=>{var i,e;t.preventDefault(),null===(e=(i=this.callbacks).onDragOver)||void 0===e||e.call(i,t,t.timeStamp-this.dragStartTime)}))),this._register(Va(this.element,Ll.DRAG_LEAVE,(t=>{var i,e;this.counter--,0===this.counter&&(this.dragStartTime=0,null===(e=(i=this.callbacks).onDragLeave)||void 0===e||e.call(i,t))}))),this._register(Va(this.element,Ll.DRAG_END,(t=>{var i,e;this.counter=0,this.dragStartTime=0,null===(e=(i=this.callbacks).onDragEnd)||void 0===e||e.call(i,t)}))),this._register(Va(this.element,Ll.DROP,(t=>{var i,e;this.counter=0,this.dragStartTime=0,null===(e=(i=this.callbacks).onDrop)||void 0===e||e.call(i,t)})))}}const Ql=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function Jl(t,...i){let e,s;Array.isArray(i[0])?(e={},s=i[0]):(e=i[0]||{},s=i[1]);const n=Ql.exec(t);if(!n||!n.groups)throw new Error("Bad use of h");const o=document.createElement(n.groups.tag||"div");n.groups.id&&(o.id=n.groups.id);const r=[];if(n.groups.class)for(const t of n.groups.class.split("."))""!==t&&r.push(t);if(void 0!==e.className)for(const t of e.className.split("."))""!==t&&r.push(t);r.length>0&&(o.className=r.join(" "));const h={};if(n.groups.name&&(h[n.groups.name]=o),s)for(const t of s)t instanceof HTMLElement?o.appendChild(t):"string"==typeof t?o.append(t):"root"in t&&(Object.assign(h,t),o.appendChild(t.root));for(const[t,i]of Object.entries(e))if("className"!==t)if("style"===t)for(const[t,e]of Object.entries(i))o.style.setProperty(Yl(t),"number"==typeof e?e+"px":""+e);else"tabIndex"===t?o.tabIndex=i:o.setAttribute(Yl(t),i.toString());return h.root=o,h}function Yl(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Xl{constructor(t){this.id=t.id,this.precondition=t.precondition,this._kbOpts=t.kbOpts,this._menuOpts=t.menuOpts,this.metadata=t.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const t=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const i of t){let t=i.kbExpr;this.precondition&&(t=t?zr.and(t,this.precondition):this.precondition),Ah.registerKeybindingRule({id:this.id,weight:i.weight,args:i.args,when:t,primary:i.primary,secondary:i.secondary,win:i.win,linux:i.linux,mac:i.mac})}}Dr.registerCommand({id:this.id,handler:(t,i)=>this.runCommand(t,i),metadata:this.metadata})}_registerMenuItem(t){_h.appendMenuItem(t.menuId,{group:t.group,command:{id:this.id,title:t.title,icon:t.icon,precondition:this.precondition},when:t.when,order:t.order})}}class tu extends Xl{constructor(){super(...arguments),this._implementations=[]}addImplementation(t,i,e,s){return this._implementations.push({priority:t,name:i,implementation:e,when:s}),this._implementations.sort(((t,i)=>i.priority-t.priority)),{dispose:()=>{for(let t=0;t{if(t.get(ah).contextMatchesRules(null!=e?e:void 0))return s(t,o,i)}))}runCommand(t,i){return eu.runEditorCommand(t,i,this.precondition,((t,i,e)=>this.runEditorCommand(t,i,e)))}}class su extends eu{static convertOptions(t){let i;function e(i){return i.menuId||(i.menuId=Rh.EditorContext),i.title||(i.title=t.label),i.when=zr.and(t.precondition,i.when),i}return i=Array.isArray(t.menuOpts)?t.menuOpts:t.menuOpts?[t.menuOpts]:[],Array.isArray(t.contextMenuOpts)?i.push(...t.contextMenuOpts.map(e)):t.contextMenuOpts&&i.push(e(t.contextMenuOpts)),t.menuOpts=i,t}constructor(t){super(su.convertOptions(t)),this.label=t.label,this.alias=t.alias}runEditorCommand(t,i,e){return this.reportTelemetry(t,i),this.run(t,i,e||{})}reportTelemetry(t,i){t.get(Wh).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class nu extends su{constructor(){super(...arguments),this._implementations=[]}addImplementation(t,i){return this._implementations.push([t,i]),this._implementations.sort(((t,i)=>i[0]-t[0])),{dispose:()=>{for(let t=0;t{var e,n;const o=t.get(ah),r=t.get(jh);if(o.contextMatchesRules(null!==(e=this.desc.precondition)&&void 0!==e?e:void 0))return this.runEditorCommand(t,s,...i);r.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,null===(n=this.desc.precondition)||void 0===n?void 0:n.serialize())}))}}function ru(t,i){Dr.registerCommand(t,(function(t,...e){const s=t.get(ur),[n,o]=e;q(ms.isUri(n)),q(As.isIPosition(o));const r=t.get(pr).getModel(n);if(r){const t=As.lift(o);return s.invokeFunction(i,r,t,...e.slice(2))}return t.get(gr).createModelReference(n).then((t=>new Promise(((n,r)=>{try{n(s.invokeFunction(i,t.object.textEditorModel,As.lift(o),e.slice(2)))}catch(t){r(t)}})).finally((()=>{t.dispose()}))))}))}function hu(t){return du.INSTANCE.registerEditorCommand(t),t}function cu(t){const i=new t;return du.INSTANCE.registerEditorAction(i),i}function au(t){return du.INSTANCE.registerEditorAction(t),t}function lu(t,i,e){du.INSTANCE.registerEditorContribution(t,i,e)}var uu;!function(t){t.getEditorCommand=function(t){return du.INSTANCE.getEditorCommand(t)},t.getEditorActions=function(){return du.INSTANCE.getEditorActions()},t.getEditorContributions=function(){return du.INSTANCE.getEditorContributions()},t.getSomeEditorContributions=function(t){return du.INSTANCE.getEditorContributions().filter((i=>t.indexOf(i.id)>=0))},t.getDiffEditorContributions=function(){return du.INSTANCE.getDiffEditorContributions()}}(uu||(uu={}));class du{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(t,i,e){this.editorContributions.push({id:t,ctor:i,instantiation:e})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(t){t.register(),this.editorActions.push(t)}getEditorActions(){return this.editorActions}registerEditorCommand(t){t.register(),this.editorCommands[t.id]=t}getEditorCommand(t){return this.editorCommands[t]||null}}function fu(t){return t.register(),t}du.INSTANCE=new du,Dh.add("editor.contributions",du.INSTANCE);const pu=fu(new tu({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:Rh.MenubarEditMenu,group:"1_do",title:ot(0,"&&Undo"),order:1},{menuId:Rh.CommandPalette,group:"",title:ot(0,"Undo"),order:1}]}));fu(new iu(pu,{id:"default:undo",precondition:void 0}));const gu=fu(new tu({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:Rh.MenubarEditMenu,group:"1_do",title:ot(0,"&&Redo"),order:2},{menuId:Rh.CommandPalette,group:"",title:ot(0,"Redo"),order:1}]}));fu(new iu(gu,{id:"default:redo",precondition:void 0}));const mu=fu(new tu({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:Rh.MenubarSelectionMenu,group:"1_basic",title:ot(0,"&&Select All"),order:1},{menuId:Rh.CommandPalette,group:"",title:ot(0,"Select All"),order:1}]}));let wu=!1;function vu(t){Et&&(wu||(wu=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(t.message))}class bu{constructor(t,i,e,s){this.vsWorker=t,this.req=i,this.method=e,this.args=s,this.type=0}}class yu{constructor(t,i,e,s){this.vsWorker=t,this.seq=i,this.res=e,this.err=s,this.type=1}}class ku{constructor(t,i,e,s){this.vsWorker=t,this.req=i,this.eventName=e,this.arg=s,this.type=2}}class xu{constructor(t,i,e){this.vsWorker=t,this.req=i,this.event=e,this.type=3}}class Cu{constructor(t,i){this.vsWorker=t,this.req=i,this.type=4}}class Su{constructor(t){this._workerId=-1,this._handler=t,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(t){this._workerId=t}sendMessage(t,i){const e=String(++this._lastSentReq);return new Promise(((s,n)=>{this._pendingReplies[e]={resolve:s,reject:n},this._send(new bu(this._workerId,e,t,i))}))}listen(t,i){let e=null;const s=new de({onWillAddFirstListener:()=>{e=String(++this._lastSentReq),this._pendingEmitters.set(e,s),this._send(new ku(this._workerId,e,t,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(e),this._send(new Cu(this._workerId,e)),e=null}});return s.event}handleMessage(t){t&&t.vsWorker&&(-1!==this._workerId&&t.vsWorker!==this._workerId||this._handleMessage(t))}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq])return void console.warn("Got reply to unknown seq");const i=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let e=t.err;return t.err.$isError&&(e=new Error,e.name=t.err.name,e.message=t.err.message,e.stack=t.err.stack),void i.reject(e)}i.resolve(t.res)}_handleRequestMessage(t){const i=t.req;this._handler.handleMessage(t.method,t.args).then((t=>{this._send(new yu(this._workerId,i,t,void 0))}),(t=>{t.detail instanceof Error&&(t.detail=$i(t.detail)),this._send(new yu(this._workerId,i,void 0,$i(t)))}))}_handleSubscribeEventMessage(t){const i=t.req,e=this._handler.handleEvent(t.eventName,t.arg)((t=>{this._send(new xu(this._workerId,i,t))}));this._pendingEvents.set(i,e)}_handleEventMessage(t){this._pendingEmitters.has(t.req)?this._pendingEmitters.get(t.req).fire(t.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(t){this._pendingEvents.has(t.req)?(this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)):console.warn("Got unsubscribe for unknown req")}_send(t){const i=[];if(0===t.type)for(let e=0;e{this._protocol.handleMessage(t)}),(t=>{null==s||s(t)}))),this._protocol=new Su({sendMessage:(t,i)=>{this._worker.postMessage(t,i)},handleMessage:(t,i)=>{if("function"!=typeof e[t])return Promise.reject(new Error("Missing method "+t+" on main thread host."));try{return Promise.resolve(e[t].apply(e,i))}catch(t){return Promise.reject(t)}},handleEvent:(t,i)=>{if(Au(t)){const s=e[t].call(e,i);if("function"!=typeof s)throw new Error(`Missing dynamic event ${t} on main thread host.`);return s}if(Eu(t)){const i=e[t];if("function"!=typeof i)throw new Error(`Missing event ${t} on main thread host.`);return i}throw new Error(`Malformed event name ${t}`)}}),this._protocol.setWorkerId(this._worker.getId());let n=null;const o=globalThis.require;void 0!==o&&"function"==typeof o.getConfig?n=o.getConfig():void 0!==globalThis.requirejs&&(n=globalThis.requirejs.s.contexts._.config);const r=et(e);this._onModuleLoaded=this._protocol.sendMessage("$initialize",[this._worker.getId(),JSON.parse(JSON.stringify(n)),i,r]);const h=(t,i)=>this._request(t,i),c=(t,i)=>this._protocol.listen(t,i);this._lazyProxy=new Promise(((t,e)=>{s=e,this._onModuleLoaded.then((i=>{t(function(t,i,e){const s=t=>function(){const e=Array.prototype.slice.call(arguments,0);return i(t,e)},n=t=>function(i){return e(t,i)},o={};for(const i of t)o[i]=Au(i)?n(i):Eu(i)?e(i,void 0):s(i);return o}(i,h,c))}),(t=>{e(t),this._onError("Worker failed to load "+i,t)}))}))}getProxyObject(){return this._lazyProxy}_request(t,i){return new Promise(((e,s)=>{this._onModuleLoaded.then((()=>{this._protocol.sendMessage(t,i).then(e,s)}),s)}))}_onError(t,i){console.error(t),console.info(i)}}function Eu(t){return"o"===t[0]&&"n"===t[1]&&ao(t.charCodeAt(2))}function Au(t){return/^onDynamic/.test(t)&&ao(t.charCodeAt(9))}function Mu(t,i){var e;const s=globalThis.MonacoEnvironment;if(null==s?void 0:s.createTrustedTypesPolicy)try{return s.createTrustedTypesPolicy(t,i)}catch(t){return void Bi(t)}try{return null===(e=$n.trustedTypes)||void 0===e?void 0:e.createPolicy(t,i)}catch(t){return void Bi(t)}}const Lu=Mu("defaultWorkerFactory",{createScriptURL:t=>t});class Fu{constructor(t,i,e,s,n){this.id=i,this.label=e;const o=function(t){const i=globalThis.MonacoEnvironment;if(i){if("function"==typeof i.getWorker)return i.getWorker("workerMain.js",t);if("function"==typeof i.getWorkerUrl){const e=i.getWorkerUrl("workerMain.js",t);return new Worker(Lu?Lu.createScriptURL(e):e,{name:t})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}(e);this.worker="function"==typeof o.then?o:Promise.resolve(o),this.postMessage(t,[]),this.worker.then((t=>{t.onmessage=function(t){s(t.data)},t.onmessageerror=n,"function"==typeof t.addEventListener&&t.addEventListener("error",n)}))}getId(){return this.id}postMessage(t,i){var e;null===(e=this.worker)||void 0===e||e.then((e=>{try{e.postMessage(t,i)}catch(t){Bi(t),Bi(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:t}))}}))}dispose(){var t;null===(t=this.worker)||void 0===t||t.then((t=>t.terminate())),this.worker=null}}class Tu{constructor(t){this._label=t,this._webWorkerFailedBeforeError=!1}create(t,i,e){const s=++Tu.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new Fu(t,s,this._label||"anonymous"+s,i,(t=>{vu(t),this._webWorkerFailedBeforeError=t,e(t)}))}}var Ru;Tu.LAST_WORKER_ID=0,function(t){t[t.None=0]="None",t[t.Indent=1]="Indent",t[t.IndentOutdent=2]="IndentOutdent",t[t.Outdent=3]="Outdent"}(Ru||(Ru={}));class Ou{constructor(t){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=t.open,this.close=t.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(t.notIn))for(let i=0,e=t.notIn.length;i0&&t.getLanguageId(r-1)===n;)r--;return new Bu(t,n,r,o+1,t.getStartOffset(r),t.getEndOffset(o))}class Bu{constructor(t,i,e,s,n,o){this._scopedLineTokensBrand=void 0,this._actual=t,this.languageId=i,this._firstTokenIndex=e,this._lastTokenIndex=s,this.firstCharOffset=n,this._lastCharOffset=o}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(t){return this._actual.getLineContent().substring(0,this.firstCharOffset+t)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(t){return this._actual.findTokenIndexAtOffset(t+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(t){return this._actual.getStandardTokenType(t+this._firstTokenIndex)}}function Pu(t){return!!(3&t)}class $u{constructor(t){if(this._autoClosingPairs=t.autoClosingPairs?t.autoClosingPairs.map((t=>new Ou(t))):t.brackets?t.brackets.map((t=>new Ou({open:t[0],close:t[1]}))):[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){const i=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new Ou({open:i.open,close:i.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof t.autoCloseBefore?t.autoCloseBefore:$u.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof t.autoCloseBefore?t.autoCloseBefore:$u.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(t){return t?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}$u.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t",$u.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t";const Wu="undefined"!=typeof Buffer;let ju,zu,Hu,Vu;new zn((()=>new Uint8Array(256)));class Uu{static wrap(t){return Wu&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new Uu(t)}constructor(t){this.buffer=t,this.byteLength=this.buffer.byteLength}toString(){return Wu?this.buffer.toString():(ju||(ju=new TextDecoder),ju.decode(this.buffer))}}function qu(t,i){return(0|t[i+0])>>>0|t[i+1]<<8>>>0}function Ku(t,i,e){t[e+0]=255&i,t[e+1]=255&(i>>>=8)}function Gu(t,i){return t[i]*2**24+65536*t[i+1]+256*t[i+2]+t[i+3]}function Zu(t,i,e){t[e+3]=i,t[e+2]=i>>>=8,t[e+1]=i>>>=8,t[e]=i>>>=8}function Qu(t,i){return t[i]}function Ju(t,i,e){t[e]=i}function Yu(){return zu||(zu=new TextDecoder("UTF-16LE")),zu}function Xu(){return Vu||(Vu=Bt()?Yu():(Hu||(Hu=new TextDecoder("UTF-16BE")),Hu)),Vu}class td{constructor(t){this._capacity=0|t,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(0===this._bufferLength)return"";const t=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return Xu().decode(t)}_flushBuffer(){const t=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[t]:this._completedStrings[this._completedStrings.length]=t}appendCharCode(t){const i=this._capacity-this._bufferLength;i<=1&&(0===i||go(t))&&this._flushBuffer(),this._buffer[this._bufferLength++]=t}appendASCIICharCode(t){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=t}appendString(t){const i=t.length;if(this._bufferLength+i>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=t);for(let e=0;e[t[0].toLowerCase(),t[1].toLowerCase()]));const e=[];for(let t=0;t{const[e,s]=t,[n,o]=i;return e===n||e===o||s===n||s===o},n=(t,s)=>{const n=Math.min(t,s),o=Math.max(t,s);for(let t=0;t0&&o.push({open:n,close:r})}return o}(i);this.brackets=e.map(((i,s)=>new id(t,s,i.open,i.close,function(t,i,e,s){let n=[];n=n.concat(t),n=n.concat(i);for(let t=0,i=n.length;t=0&&s.push(i);for(const i of o.close)i.indexOf(t)>=0&&s.push(i)}}function nd(t,i){return t.length-i.length}function od(t){if(t.length<=1)return t;const i=[],e=new Set;for(const s of t)e.has(s)||(i.push(s),e.add(s));return i}function rd(t){const i=/^[\w ]+$/.test(t);return t=Gn(t),i?`\\b${t}\\b`:t}function hd(t){return Yn(`(${t.map(rd).join(")|(")})`,!0)}const cd=function(){let t=null,i=null;return function(e){return t!==e&&(t=e,i=function(t){const i=new Uint16Array(t.length);let e=0;for(let s=t.length-1;s>=0;s--)i[e++]=t.charCodeAt(s);return Xu().decode(i)}(t)),i}}();class ad{static _findPrevBracketInText(t,i,e,s){const n=e.match(t);if(!n)return null;const o=s+(e.length-(n.index||0));return new Ms(i,o-n[0].length+1,i,o+1)}static findPrevBracketInRange(t,i,e,s,n){const o=cd(e).substring(e.length-n,e.length-s);return this._findPrevBracketInText(t,i,o,s)}static findNextBracketInText(t,i,e,s){const n=e.match(t);if(!n)return null;const o=n[0].length;if(0===o)return null;const r=s+(n.index||0);return new Ms(i,r+1,i,r+1+o)}static findNextBracketInRange(t,i,e,s,n){const o=e.substring(s,n);return this.findNextBracketInText(t,i,o,s)}}class ld{constructor(t){this._richEditBrackets=t}getElectricCharacters(){const t=[];if(this._richEditBrackets)for(const i of this._richEditBrackets.brackets)for(const e of i.close){const i=e.charAt(e.length-1);t.push(i)}return y(t)}onElectricCharacter(t,i,e){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const s=i.findTokenIndexAtOffset(e-1);if(Pu(i.getStandardTokenType(s)))return null;const n=this._richEditBrackets.reversedRegex,o=i.getLineContent().substring(0,e-1)+t,r=ad.findPrevBracketInRange(n,1,o,0,o.length);if(!r)return null;const h=o.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[h])return null;const c=i.getActualLineContentBefore(r.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:h}:null}}function ud(t){return t.global&&(t.lastIndex=0),!0}class dd{constructor(t){this._indentationRules=t}shouldIncrease(t){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&ud(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(t))}shouldDecrease(t){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&ud(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(t))}shouldIndentNextLine(t){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&ud(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(t))}shouldIgnore(t){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&ud(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(t))}getIndentMetadata(t){let i=0;return this.shouldIncrease(t)&&(i+=1),this.shouldDecrease(t)&&(i+=2),this.shouldIndentNextLine(t)&&(i+=4),this.shouldIgnore(t)&&(i+=8),i}}class fd{constructor(t){(t=t||{}).brackets=t.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],t.brackets.forEach((t=>{const i=fd._createOpenBracketRegExp(t[0]),e=fd._createCloseBracketRegExp(t[1]);i&&e&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:e})})),this._regExpRules=t.onEnterRules||[]}onEnter(t,i,e,s){if(t>=3)for(let t=0,n=this._regExpRules.length;t!t.reg||(t.reg.lastIndex=0,t.reg.test(t.text)))))return n.action}if(t>=2&&e.length>0&&s.length>0)for(let t=0,i=this._brackets.length;t=2&&e.length>0)for(let t=0,i=this._brackets.length;t0&&"#"===e.charAt(e.length-1)?e.substring(0,e.length-1):e)]=i,this._onDidChangeSchema.fire(t)}notifySchemaChanged(t){this._onDidChangeSchema.fire(t)}};Dh.add(Ed,Ad);const Md="base.contributions.configuration",Ld={properties:{},patternProperties:{}},Fd={properties:{},patternProperties:{}},Td={properties:{},patternProperties:{}},Rd={properties:{},patternProperties:{}},Od={properties:{},patternProperties:{}},Id={properties:{},patternProperties:{}},_d="vscode://schemas/settings/resourceLanguage",Nd=Dh.as(Ed),Bd="\\[([^\\]]+)\\]",Pd=new RegExp(Bd,"g"),$d=`^(${Bd})+$`,Wd=new RegExp($d);function jd(t){const i=[];if(Wd.test(t)){let e=Pd.exec(t);for(;null==e?void 0:e.length;){const s=e[1].trim();s&&i.push(s),e=Pd.exec(t)}}return y(i)}const zd=new class{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new de,this._onDidUpdateConfiguration=new de,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:ot(0,"Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},Nd.registerSchema(_d,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(t,i=!0){this.registerConfigurations([t],i)}registerConfigurations(t,i=!0){const e=new Set;this.doRegisterConfigurations(t,i,e),Nd.registerSchema(_d,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:e})}registerDefaultConfigurations(t){const i=new Set;this.doRegisterDefaultConfigurations(t,i),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i,defaultsOverrides:!0})}doRegisterDefaultConfigurations(t,i){var e;const s=[];for(const{overrides:n,source:o}of t)for(const t in n)if(i.add(t),Wd.test(t)){const i=this.configurationDefaultsOverrides.get(t),r=null!==(e=null==i?void 0:i.valuesSources)&&void 0!==e?e:new Map;if(o)for(const i of Object.keys(n[t]))r.set(i,o);const h={...(null==i?void 0:i.value)||{},...n[t]};this.configurationDefaultsOverrides.set(t,{source:o,value:h,valuesSources:r});const c={type:"object",default:h,description:ot(0,"Configure settings to be overridden for the {0} language.",t.replace(/[\[\]]/g,"")),$ref:_d,defaultDefaultValue:h,source:B(o)?void 0:o,defaultValueSource:o};s.push(...jd(t)),this.configurationProperties[t]=c,this.defaultLanguageConfigurationOverridesNode.properties[t]=c}else{this.configurationDefaultsOverrides.set(t,{value:n[t],source:o});const i=this.configurationProperties[t];i&&(this.updatePropertyDefaultValue(t,i),this.updateSchema(t,i))}this.doRegisterOverrideIdentifiers(s)}registerOverrideIdentifiers(t){this.doRegisterOverrideIdentifiers(t),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(t){for(const i of t)this.overrideIdentifiers.add(i);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(t,i,e){t.forEach((t=>{this.validateAndRegisterProperties(t,i,t.extensionInfo,t.restrictedProperties,void 0,e),this.configurationContributors.push(t),this.registerJSONConfiguration(t)}))}validateAndRegisterProperties(t,i=!0,e,s,n=3,o){var r;n=U(t.scope)?n:t.scope;const h=t.properties;if(h)for(const t in h){const c=h[t];i&&Hd(t,c)?delete h[t]:(c.source=e,c.defaultDefaultValue=h[t].default,this.updatePropertyDefaultValue(t,c),Wd.test(t)?c.scope=void 0:(c.scope=U(c.scope)?n:c.scope,c.restricted=U(c.restricted)?!!(null==s?void 0:s.includes(t)):c.restricted),!h[t].hasOwnProperty("included")||h[t].included?(this.configurationProperties[t]=h[t],(null===(r=h[t].policy)||void 0===r?void 0:r.name)&&this.policyConfigurations.set(h[t].policy.name,t),!h[t].deprecationMessage&&h[t].markdownDeprecationMessage&&(h[t].deprecationMessage=h[t].markdownDeprecationMessage),o.add(t)):(this.excludedConfigurationProperties[t]=h[t],delete h[t]))}const c=t.allOf;if(c)for(const t of c)this.validateAndRegisterProperties(t,i,e,s,n,o)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(t){const i=t=>{const e=t.properties;if(e)for(const t in e)this.updateSchema(t,e[t]);const s=t.allOf;null==s||s.forEach(i)};i(t)}updateSchema(t,i){switch(Ld.properties[t]=i,i.scope){case 1:Fd.properties[t]=i;break;case 2:Td.properties[t]=i;break;case 6:Rd.properties[t]=i;break;case 3:Od.properties[t]=i;break;case 4:Id.properties[t]=i;break;case 5:Id.properties[t]=i,this.resourceLanguageSettingsSchema.properties[t]=i}}updateOverridePropertyPatternKey(){for(const t of this.overrideIdentifiers.values()){const i=`[${t}]`,e={type:"object",description:ot(0,"Configure editor settings to be overridden for a language."),errorMessage:ot(0,"This setting does not support per-language configuration."),$ref:_d};this.updatePropertyDefaultValue(i,e),Ld.properties[i]=e,Fd.properties[i]=e,Td.properties[i]=e,Rd.properties[i]=e,Od.properties[i]=e,Id.properties[i]=e}}registerOverridePropertyPatternKey(){const t={type:"object",description:ot(0,"Configure editor settings to be overridden for a language."),errorMessage:ot(0,"This setting does not support per-language configuration."),$ref:_d};Ld.patternProperties[$d]=t,Fd.patternProperties[$d]=t,Td.patternProperties[$d]=t,Rd.patternProperties[$d]=t,Od.patternProperties[$d]=t,Id.patternProperties[$d]=t,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(t,i){const e=this.configurationDefaultsOverrides.get(t);let s=null==e?void 0:e.value,n=null==e?void 0:e.source;H(s)&&(s=i.defaultDefaultValue,n=void 0),H(s)&&(s=function(t){switch(Array.isArray(t)?t[0]:t){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(i.type)),i.default=s,i.defaultValueSource=n}};function Hd(t,i){var e,s,n,o;return t.trim()?Wd.test(t)?ot(0,"Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",t):void 0!==zd.getConfigurationProperties()[t]?ot(0,"Cannot register '{0}'. This property is already registered.",t):(null===(e=i.policy)||void 0===e?void 0:e.name)&&void 0!==zd.getPolicyConfigurations().get(null===(s=i.policy)||void 0===s?void 0:s.name)?ot(0,"Cannot register '{0}'. The associated policy {1} is already registered with {2}.",t,null===(n=i.policy)||void 0===n?void 0:n.name,zd.getPolicyConfigurations().get(null===(o=i.policy)||void 0===o?void 0:o.name)):null:ot(0,"Cannot register an empty property")}Dh.add(Md,zd);const Vd=new class{constructor(){this._onDidChangeLanguages=new de,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(t){return this._languages.push(t),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let i=0,e=this._languages.length;i{const i=new Set;return{info:new Zd(this,t,i),closing:i}})),n=new jn((t=>{const i=new Set,e=new Set;return{info:new Qd(this,t,i,e),opening:i,openingColorized:e}}));for(const[t,i]of e){const e=s.get(t),o=n.get(i);e.closing.add(o.info),o.opening.add(e.info)}const o=i.colorizedBracketPairs?Kd(i.colorizedBracketPairs):e.filter((t=>!("<"===t[0]&&">"===t[1])));for(const[t,i]of o){const e=s.get(t),o=n.get(i);e.closing.add(o.info),o.openingColorized.add(e.info),o.opening.add(e.info)}this._openingBrackets=new Map([...s.cachedValues].map((([t,i])=>[t,i.info]))),this._closingBrackets=new Map([...n.cachedValues].map((([t,i])=>[t,i.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(t){return this._openingBrackets.get(t)}getClosingBracketInfo(t){return this._closingBrackets.get(t)}getBracketInfo(t){return this.getOpeningBracketInfo(t)||this.getClosingBracketInfo(t)}}function Kd(t){return t.filter((([t,i])=>""!==t&&""!==i))}class Gd{constructor(t,i){this.config=t,this.bracketText=i}get languageId(){return this.config.languageId}}class Zd extends Gd{constructor(t,i,e){super(t,i),this.openedBrackets=e,this.isOpeningBracket=!0}}class Qd extends Gd{constructor(t,i,e,s){super(t,i),this.openingBrackets=e,this.openingColorizedBrackets=s,this.isOpeningBracket=!1}closes(t){return t.config===this.config&&this.openingBrackets.has(t)}closesColorized(t){return t.config===this.config&&this.openingColorizedBrackets.has(t)}getOpeningBrackets(){return[...this.openingBrackets]}}var Jd=function(t,i){return function(e,s){i(e,s,t)}};class Yd{constructor(t){this.languageId=t}affects(t){return!this.languageId||this.languageId===t}}const Xd=dr("languageConfigurationService");let tf=class extends te{constructor(t,i){super(),this.configurationService=t,this.languageService=i,this._registry=this._register(new lf),this.onDidChangeEmitter=this._register(new de),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const e=new Set(Object.values(ef));this._register(this.configurationService.onDidChangeConfiguration((t=>{const i=t.change.keys.some((t=>e.has(t))),s=t.change.overrides.filter((([t,i])=>i.some((t=>e.has(t))))).map((([t])=>t));if(i)this.configurations.clear(),this.onDidChangeEmitter.fire(new Yd(void 0));else for(const t of s)this.languageService.isRegisteredLanguageId(t)&&(this.configurations.delete(t),this.onDidChangeEmitter.fire(new Yd(t)))}))),this._register(this._registry.onDidChange((t=>{this.configurations.delete(t.languageId),this.onDidChangeEmitter.fire(new Yd(t.languageId))})))}register(t,i,e){return this._registry.register(t,i,e)}getLanguageConfiguration(t){let i=this.configurations.get(t);return i||(i=function(t,i,e,s){let n=i.getLanguageConfiguration(t);if(!n){if(!s.isRegisteredLanguageId(t))return new uf(t,{});n=new uf(t,{})}const o=function(t,i){const e=i.getValue(ef.brackets,{overrideIdentifier:t}),s=i.getValue(ef.colorizedBracketPairs,{overrideIdentifier:t});return{brackets:sf(e),colorizedBracketPairs:sf(s)}}(n.languageId,e),r=hf([n.underlyingConfig,o]);return new uf(n.languageId,r)}(t,this._registry,this.configurationService,this.languageService),this.configurations.set(t,i)),i}};tf=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Jd(0,pd),Jd(1,yd)],tf);const ef={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function sf(t){if(Array.isArray(t))return t.map((t=>{if(Array.isArray(t)&&2===t.length)return[t[0],t[1]]})).filter((t=>!!t))}function nf(t,i,e){let s=io(t.getLineContent(i));return s.length>e-1&&(s=s.substring(0,e-1)),s}function of(t,i,e){return t.tokenization.forceTokenization(i),Nu(t.tokenization.getLineTokens(i),void 0===e?t.getLineMaxColumn(i)-1:e-1)}class rf{constructor(t){this.languageId=t,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(t,i){const e=new cf(t,i,++this._order);return this._entries.push(e),this._resolved=null,Yi((()=>{for(let t=0;tt.configuration))))}}function hf(t){let i={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const e of t)i={comments:e.comments||i.comments,brackets:e.brackets||i.brackets,wordPattern:e.wordPattern||i.wordPattern,indentationRules:e.indentationRules||i.indentationRules,onEnterRules:e.onEnterRules||i.onEnterRules,autoClosingPairs:e.autoClosingPairs||i.autoClosingPairs,surroundingPairs:e.surroundingPairs||i.surroundingPairs,autoCloseBefore:e.autoCloseBefore||i.autoCloseBefore,folding:e.folding||i.folding,colorizedBracketPairs:e.colorizedBracketPairs||i.colorizedBracketPairs,__electricCharacterSupport:e.__electricCharacterSupport||i.__electricCharacterSupport};return i}class cf{constructor(t,i,e){this.configuration=t,this.priority=i,this.order=e}static cmp(t,i){return t.priority===i.priority?t.order-i.order:t.priority-i.priority}}class af{constructor(t){this.languageId=t}}class lf extends te{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new de),this.onDidChange=this._onDidChange.event,this._register(this.register(Ud,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(t,i,e=0){let s=this._entries.get(t);s||(s=new rf(t),this._entries.set(t,s));const n=s.register(i,e);return this._onDidChange.fire(new af(t)),Yi((()=>{n.dispose(),this._onDidChange.fire(new af(t))}))}getLanguageConfiguration(t){const i=this._entries.get(t);return(null==i?void 0:i.getResolvedConfiguration())||null}}class uf{constructor(t,i){this.languageId=t,this.underlyingConfig=i,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new fd(this.underlyingConfig):null,this.comments=uf._handleComments(this.underlyingConfig),this.characterPair=new $u(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||Kt,this.indentationRules=this.underlyingConfig.indentationRules,this.indentRulesSupport=this.underlyingConfig.indentationRules?new dd(this.underlyingConfig.indentationRules):null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new qd(t,this.underlyingConfig)}getWordDefinition(){return Gt(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new ed(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new ld(this.brackets)),this._electricCharacter}onEnter(t,i,e,s){return this._onEnterSupport?this._onEnterSupport.onEnter(t,i,e,s):null}getAutoClosingPairs(){return new Iu(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(t){return this.characterPair.getAutoCloseBeforeSet(t)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(t){const i=t.comments;if(!i)return null;const e={};if(i.lineComment&&(e.lineCommentToken=i.lineComment),i.blockComment){const[t,s]=i.blockComment;e.blockCommentStartToken=t,e.blockCommentEndToken=s}return e}}Cd(Xd,tf,1);class df{constructor(t,i,e,s){this.originalStart=t,this.originalLength=i,this.modifiedStart=e,this.modifiedLength=s}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class ff{constructor(t){this.source=t}getElements(){const t=this.source,i=new Int32Array(t.length);for(let e=0,s=t.length;e0||this.m_modifiedCount>0)&&this.m_changes.push(new df(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_originalCount++}AddModifiedElement(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class vf{constructor(t,i,e=null){this.ContinueProcessingPredicate=e,this._originalSequence=t,this._modifiedSequence=i;const[s,n,o]=vf._getElements(t),[r,h,c]=vf._getElements(i);this._hasStrings=o&&c,this._originalStringElements=s,this._originalElementsOrHash=n,this._modifiedStringElements=r,this._modifiedElementsOrHash=h,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&"string"==typeof t[0]}static _getElements(t){const i=t.getElements();if(vf._isStringArray(i)){const t=new Int32Array(i.length);for(let e=0,s=i.length;e=t&&s>=e&&this.ElementsAreEqual(i,s);)i--,s--;if(t>i||e>s){let n;return e<=s?(gf.Assert(t===i+1,"originalStart should only be one more than originalEnd"),n=[new df(t,0,e,s-e+1)]):t<=i?(gf.Assert(e===s+1,"modifiedStart should only be one more than modifiedEnd"),n=[new df(t,i-t+1,e,0)]):(gf.Assert(t===i+1,"originalStart should only be one more than originalEnd"),gf.Assert(e===s+1,"modifiedStart should only be one more than modifiedEnd"),n=[]),n}const o=[0],r=[0],h=this.ComputeRecursionPoint(t,i,e,s,o,r,n),c=o[0],a=r[0];if(null!==h)return h;if(!n[0]){const o=this.ComputeDiffRecursive(t,c,e,a,n);let r=[];return r=n[0]?[new df(c+1,i-(c+1)+1,a+1,s-(a+1)+1)]:this.ComputeDiffRecursive(c+1,i,a+1,s,n),this.ConcatenateChanges(o,r)}return[new df(t,i-t+1,e,s-e+1)]}WALKTRACE(t,i,e,s,n,o,r,h,c,a,l,u,d,f,p,g,m,w){let v=null,b=null,y=new wf,k=i,x=e,C=d[0]-g[0]-s,S=-1073741824,D=this.m_forwardHistory.length-1;do{const i=C+t;i===k||i=0&&(t=(c=this.m_forwardHistory[D])[0],k=1,x=c.length-1)}while(--D>=-1);if(v=y.getReverseChanges(),w[0]){let t=d[0]+1,i=g[0]+1;if(null!==v&&v.length>0){const e=v[v.length-1];t=Math.max(t,e.getOriginalEnd()),i=Math.max(i,e.getModifiedEnd())}b=[new df(t,u-t+1,i,p-i+1)]}else{y=new wf,k=o,x=r,C=d[0]-g[0]-h,S=1073741824,D=m?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const t=C+n;t===k||t=a[t+1]?(f=(l=a[t+1]-1)-C-h,l>S&&y.MarkNextChange(),S=l+1,y.AddOriginalElement(l+1,f+1),C=t+1-n):(f=(l=a[t-1])-C-h,l>S&&y.MarkNextChange(),S=l,y.AddModifiedElement(l+1,f+1),C=t-1-n),D>=0&&(n=(a=this.m_reverseHistory[D])[0],k=1,x=a.length-1)}while(--D>=-1);b=y.getChanges()}return this.ConcatenateChanges(v,b)}ComputeRecursionPoint(t,i,e,s,n,o,r){let h=0,c=0,a=0,l=0,u=0,d=0;t--,e--,n[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=i-t+(s-e),p=f+1,g=new Int32Array(p),m=new Int32Array(p),w=s-e,v=i-t,b=t-e,y=i-s,k=(v-w)%2==0;g[w]=t,m[v]=i,r[0]=!1;for(let x=1;x<=f/2+1;x++){let f=0,C=0;a=this.ClipDiagonalBound(w-x,x,w,p),l=this.ClipDiagonalBound(w+x,x,w,p);for(let t=a;t<=l;t+=2){h=t===a||tf+C&&(f=h,C=c),!k&&Math.abs(t-v)<=x-1&&h>=m[t])return n[0]=h,o[0]=c,e<=m[t]&&x<=1448?this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r):null}const S=(f-t+(C-e)-x)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(f,S))return r[0]=!0,n[0]=f,o[0]=C,S>0&&x<=1448?this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r):(t++,e++,[new df(t,i-t+1,e,s-e+1)]);u=this.ClipDiagonalBound(v-x,x,v,p),d=this.ClipDiagonalBound(v+x,x,v,p);for(let f=u;f<=d;f+=2){h=f===u||f=m[f+1]?m[f+1]-1:m[f-1],c=h-(f-v)-y;const p=h;for(;h>t&&c>e&&this.ElementsAreEqual(h,c);)h--,c--;if(m[f]=h,k&&Math.abs(f-w)<=x&&h<=g[f])return n[0]=h,o[0]=c,p>=g[f]&&x<=1448?this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r):null}if(x<=1447){let t=new Int32Array(l-a+2);t[0]=w-a+1,mf.Copy2(g,a,t,1,l-a+1),this.m_forwardHistory.push(t),t=new Int32Array(d-u+2),t[0]=v-u+1,mf.Copy2(m,u,t,1,d-u+1),this.m_reverseHistory.push(t)}}return this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r)}PrettifyChanges(t){for(let i=0;i0,r=e.modifiedLength>0;for(;e.originalStart+e.originalLength=0;i--){const e=t[i];let s=0,n=0;if(i>0){const e=t[i-1];s=e.originalStart+e.originalLength,n=e.modifiedStart+e.modifiedLength}const o=e.originalLength>0,r=e.modifiedLength>0;let h=0,c=this._boundaryScore(e.originalStart,e.originalLength,e.modifiedStart,e.modifiedLength);for(let t=1;;t++){const i=e.originalStart-t,a=e.modifiedStart-t;if(ic&&(c=l,h=t)}e.originalStart-=h,e.modifiedStart-=h;const a=[null];i>0&&this.ChangesOverlap(t[i-1],t[i],a)&&(t[i-1]=a[0],t.splice(i,1),i++)}if(this._hasStrings)for(let i=1,e=t.length;i0&&e>h&&(h=e,c=i,a=t)}return h>0?[c,a]:null}_contiguousSequenceScore(t,i,e){let s=0;for(let n=0;n=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,i){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(i>0){const e=t+i;if(this._OriginalIsBoundary(e-1)||this._OriginalIsBoundary(e))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,i){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(i>0){const e=t+i;if(this._ModifiedIsBoundary(e-1)||this._ModifiedIsBoundary(e))return!0}return!1}_boundaryScore(t,i,e,s){return(this._OriginalRegionIsBoundary(t,i)?1:0)+(this._ModifiedRegionIsBoundary(e,s)?1:0)}ConcatenateChanges(t,i){const e=[];if(0===t.length||0===i.length)return i.length>0?i:t;if(this.ChangesOverlap(t[t.length-1],i[0],e)){const s=new Array(t.length+i.length-1);return mf.Copy(t,0,s,0,t.length-1),s[t.length-1]=e[0],mf.Copy(i,1,s,t.length,i.length-1),s}{const e=new Array(t.length+i.length);return mf.Copy(t,0,e,0,t.length),mf.Copy(i,0,e,t.length,i.length),e}}ChangesOverlap(t,i,e){if(gf.Assert(t.originalStart<=i.originalStart,"Left change is not less than or equal to right change"),gf.Assert(t.modifiedStart<=i.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=i.originalStart||t.modifiedStart+t.modifiedLength>=i.modifiedStart){let s=t.originalLength,n=t.modifiedLength;return t.originalStart+t.originalLength>=i.originalStart&&(s=i.originalStart+i.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=i.modifiedStart&&(n=i.modifiedStart+i.modifiedLength-t.modifiedStart),e[0]=new df(t.originalStart,s,t.modifiedStart,n),!0}return e[0]=null,!1}ClipDiagonalBound(t,i,e,s){if(t>=0&&t255?255:0|t}function yf(t){return t<0?0:t>4294967295?4294967295:0|t}class kf{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,i){t=yf(t);const e=this.values,s=this.prefixSum,n=i.length;return 0!==n&&(this.values=new Uint32Array(e.length+n),this.values.set(e.subarray(0,t),0),this.values.set(e.subarray(t),t+n),this.values.set(i,t),t-1=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,i){return t=yf(t),i=yf(i),this.values[t]!==i&&(this.values[t]=i,t-1=e.length)return!1;const n=e.length-t;return i>=n&&(i=n),0!==i&&(this.values=new Uint32Array(e.length-i),this.values.set(e.subarray(0,t),0),this.values.set(e.subarray(t+i),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=yf(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let i=this.prefixSumValidIndex[0]+1;0===i&&(this.prefixSum[0]=this.values[0],i++),t>=this.values.length&&(t=this.values.length-1);for(let e=i;e<=t;e++)this.prefixSum[e]=this.prefixSum[e-1]+this.values[e];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let i=0,e=this.values.length-1,s=0,n=0,o=0;for(;i<=e;)if(s=i+(e-i)/2|0,n=this.prefixSum[s],o=n-this.values[s],t=n))break;i=s+1}return new Cf(s,t-o)}}class xf{constructor(t){this._values=t,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(t){return this._ensureValid(),0===t?0:this._prefixSum[t-1]}getIndexOf(t){this._ensureValid();const i=this._indexBySum[t];return new Cf(i,t-(i>0?this._prefixSum[i-1]:0))}removeValues(t,i){this._values.splice(t,i),this._invalidate(t)}insertValues(t,i){this._values=C(this._values,t,i),this._invalidate(t)}_invalidate(t){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,t-1)}_ensureValid(){if(!this._isValid){for(let t=this._validEndIndex+1,i=this._values.length;t0?this._prefixSum[t-1]:0;this._prefixSum[t]=e+i;for(let s=0;s=0&&t<256?this._asciiMap[t]=e:this._map.set(t,e)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class Ef{constructor(){this._actual=new Df(0)}add(t){this._actual.set(t,1)}has(t){return 1===this._actual.get(t)}clear(){return this._actual.clear()}}class Af{constructor(t,i,e){const s=new Uint8Array(t*i);for(let n=0,o=t*i;ni&&(i=o),n>e&&(e=n),r>e&&(e=r)}i++,e++;const s=new Af(e,i,0);for(let i=0,e=t.length;i=this._maxCharCode?0:this._states.get(t,i)}}let Lf=null,Ff=null;class Tf{static _createLink(t,i,e,s,n){let o=n-1;do{const e=i.charCodeAt(o);if(2!==t.get(e))break;o--}while(o>s);if(s>0){const t=i.charCodeAt(s-1),e=i.charCodeAt(o);(40===t&&41===e||91===t&&93===e||123===t&&125===e)&&o--}return{range:{startLineNumber:e,startColumn:s+1,endLineNumber:e,endColumn:o+2},url:i.substring(s,o+1)}}static computeLinks(t,i=function(){return null===Lf&&(Lf=new Mf([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Lf}()){const e=function(){if(null===Ff){Ff=new Df(0);const t=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let i=0;i=0?(s+=e?1:-1,s<0?s=t.length-1:s%=t.length,t[s]):null}}Rf.INSTANCE=new Rf;class Of extends Df{constructor(t){super(0);for(let i=0,e=t.length;i(t.hasOwnProperty(i)||(t[i]=(t=>new Of(t))(i)),t[i])}();var _f,Nf,Bf,Pf,$f,Wf;!function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=4]="Right",t[t.Full=7]="Full"}(_f||(_f={})),function(t){t[t.Left=1]="Left",t[t.Right=2]="Right"}(Nf||(Nf={})),function(t){t[t.Inline=1]="Inline",t[t.Gutter=2]="Gutter"}(Bf||(Bf={})),function(t){t[t.Both=0]="Both",t[t.Right=1]="Right",t[t.Left=2]="Left",t[t.None=3]="None"}(Pf||(Pf={}));class jf{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(t){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|t.tabSize),"tabSize"===t.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|t.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(t.insertSpaces),this.defaultEOL=0|t.defaultEOL,this.trimAutoWhitespace=Boolean(t.trimAutoWhitespace),this.bracketPairColorizationOptions=t.bracketPairColorizationOptions}equals(t){return this.tabSize===t.tabSize&&this._indentSizeIsTabSize===t._indentSizeIsTabSize&&this.indentSize===t.indentSize&&this.insertSpaces===t.insertSpaces&&this.defaultEOL===t.defaultEOL&&this.trimAutoWhitespace===t.trimAutoWhitespace&&it(this.bracketPairColorizationOptions,t.bracketPairColorizationOptions)}createChangeEvent(t){return{tabSize:this.tabSize!==t.tabSize,indentSize:this.indentSize!==t.indentSize,insertSpaces:this.insertSpaces!==t.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==t.trimAutoWhitespace}}}class zf{constructor(t,i){this._findMatchBrand=void 0,this.range=t,this.matches=i}}class Hf{constructor(t,i,e,s,n,o){this.identifier=t,this.range=i,this.text=e,this.forceMoveMarkers=s,this.isAutoWhitespaceEdit=n,this._isTracked=o}}class Vf{constructor(t,i,e){this.regex=t,this.wordSeparators=i,this.simpleSearch=e}}class Uf{constructor(t,i,e){this.reverseEdits=t,this.changes=i,this.trimAutoWhitespaceLineNumbers=e}}function qf(t){return!t.isTooLargeForSyncing()&&!t.isForSimpleWidget}class Kf{constructor(t,i,e,s){this.searchString=t,this.isRegex=i,this.matchCase=e,this.wordSeparators=s}parseSearchRequest(){if(""===this.searchString)return null;let t;t=this.isRegex?function(t){if(!t||0===t.length)return!1;for(let i=0,e=t.length;i=e)break;const s=t.charCodeAt(i);if(110===s||114===s||87===s)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let i=null;try{i=Yn(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:t,global:!0,unicode:!0})}catch(t){return null}if(!i)return null;let e=!this.isRegex&&!t;return e&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(e=this.matchCase),new Vf(i,this.wordSeparators?If(this.wordSeparators):null,e?this.searchString:null)}}function Gf(t,i,e){if(!e)return new zf(t,null);const s=[];for(let t=0,e=i.length;t=t?s=n-1:i[n+1]>=t?(e=n,s=n):e=n+1}return e+1}}class Qf{static findMatches(t,i,e,s,n){const o=i.parseSearchRequest();return o?o.regex.multiline?this._doFindMatchesMultiline(t,e,new Yf(o.wordSeparators,o.regex),s,n):this._doFindMatchesLineByLine(t,e,o,s,n):[]}static _getMultilineMatchRange(t,i,e,s,n,o){let r,h,c=0;if(s?(c=s.findLineFeedCountBeforeOffset(n),r=i+n+c):r=i+n,s){const t=s.findLineFeedCountBeforeOffset(n+o.length);h=r+o.length+(t-c)}else h=r+o.length;const a=t.getPositionAt(r),l=t.getPositionAt(h);return new Ms(a.lineNumber,a.column,l.lineNumber,l.column)}static _doFindMatchesMultiline(t,i,e,s,n){const o=t.getOffsetAt(i.getStartPosition()),r=t.getValueInRange(i,1),h="\r\n"===t.getEOL()?new Zf(r):null,c=[];let a,l=0;for(e.reset(0);a=e.next(r);)if(c[l++]=Gf(this._getMultilineMatchRange(t,o,r,h,a.index,a[0]),a,s),l>=n)return c;return c}static _doFindMatchesLineByLine(t,i,e,s,n){const o=[];let r=0;if(i.startLineNumber===i.endLineNumber){const h=t.getLineContent(i.startLineNumber).substring(i.startColumn-1,i.endColumn-1);return r=this._findMatchesInLine(e,h,i.startLineNumber,i.startColumn-1,r,o,s,n),o}const h=t.getLineContent(i.startLineNumber).substring(i.startColumn-1);r=this._findMatchesInLine(e,h,i.startLineNumber,i.startColumn-1,r,o,s,n);for(let h=i.startLineNumber+1;h=h))return n;return n}const a=new Yf(t.wordSeparators,t.regex);let l;a.reset(0);do{if(l=a.next(i),l&&(o[n++]=Gf(new Ms(e,l.index+1+s,e,l.index+1+l[0].length+s),l,r),n>=h))return n}while(l);return n}static findNextMatch(t,i,e,s){const n=i.parseSearchRequest();if(!n)return null;const o=new Yf(n.wordSeparators,n.regex);return n.regex.multiline?this._doFindNextMatchMultiline(t,e,o,s):this._doFindNextMatchLineByLine(t,e,o,s)}static _doFindNextMatchMultiline(t,i,e,s){const n=new As(i.lineNumber,1),o=t.getOffsetAt(n),r=t.getLineCount(),h=t.getValueInRange(new Ms(n.lineNumber,n.column,r,t.getLineMaxColumn(r)),1),c="\r\n"===t.getEOL()?new Zf(h):null;e.reset(i.column-1);const a=e.next(h);return a?Gf(this._getMultilineMatchRange(t,o,h,c,a.index,a[0]),a,s):1!==i.lineNumber||1!==i.column?this._doFindNextMatchMultiline(t,new As(1,1),e,s):null}static _doFindNextMatchLineByLine(t,i,e,s){const n=t.getLineCount(),o=i.lineNumber,r=t.getLineContent(o),h=this._findFirstMatchInLine(e,r,o,i.column,s);if(h)return h;for(let i=1;i<=n;i++){const r=(o+i-1)%n,h=t.getLineContent(r+1),c=this._findFirstMatchInLine(e,h,r+1,1,s);if(c)return c}return null}static _findFirstMatchInLine(t,i,e,s,n){t.reset(s-1);const o=t.next(i);return o?Gf(new Ms(e,o.index+1,e,o.index+1+o[0].length),o,n):null}static findPreviousMatch(t,i,e,s){const n=i.parseSearchRequest();if(!n)return null;const o=new Yf(n.wordSeparators,n.regex);return n.regex.multiline?this._doFindPreviousMatchMultiline(t,e,o,s):this._doFindPreviousMatchLineByLine(t,e,o,s)}static _doFindPreviousMatchMultiline(t,i,e,s){const n=this._doFindMatchesMultiline(t,new Ms(1,1,i.lineNumber,i.column),e,s,9990);if(n.length>0)return n[n.length-1];const o=t.getLineCount();return i.lineNumber!==o||i.column!==t.getLineMaxColumn(o)?this._doFindPreviousMatchMultiline(t,new As(o,t.getLineMaxColumn(o)),e,s):null}static _doFindPreviousMatchLineByLine(t,i,e,s){const n=t.getLineCount(),o=i.lineNumber,r=t.getLineContent(o).substring(0,i.column-1),h=this._findLastMatchInLine(e,r,o,s);if(h)return h;for(let i=1;i<=n;i++){const r=(n+o-i-1)%n,h=t.getLineContent(r+1),c=this._findLastMatchInLine(e,h,r+1,s);if(c)return c}return null}static _findLastMatchInLine(t,i,e,s){let n,o=null;for(t.reset(0);n=t.next(i);)o=Gf(new Ms(e,n.index+1,e,n.index+1+n[0].length),n,s);return o}}function Jf(t,i,e,s,n){return function(t,i,e,s,n){if(0===s)return!0;const o=i.charCodeAt(s-1);if(0!==t.get(o))return!0;if(13===o||10===o)return!0;if(n>0){const e=i.charCodeAt(s);if(0!==t.get(e))return!0}return!1}(t,i,0,s,n)&&function(t,i,e,s,n){if(s+n===e)return!0;const o=i.charCodeAt(s+n);if(0!==t.get(o))return!0;if(13===o||10===o)return!0;if(n>0){const e=i.charCodeAt(s+n-1);if(0!==t.get(e))return!0}return!1}(t,i,e,s,n)}class Yf{constructor(t,i){this._wordSeparators=t,this._searchRegex=i,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const i=t.length;let e;do{if(this._prevMatchStartIndex+this._prevMatchLength===i)return null;if(e=this._searchRegex.exec(t),!e)return null;const s=e.index,n=e[0].length;if(s===this._prevMatchStartIndex&&n===this._prevMatchLength){if(0===n){vo(t,i,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=s,this._prevMatchLength=n,!this._wordSeparators||Jf(this._wordSeparators,t,i,s,n))return e}while(e);return null}}class Xf{static computeUnicodeHighlights(t,i,e){const s=e?e.startLineNumber:1,n=e?e.endLineNumber:t.getLineCount(),o=new tp(i),r=o.getCandidateCodePoints();let h;h="allNonBasicAscii"===r?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(`[${Gn(Array.from(r).map((t=>String.fromCodePoint(t))).join(""))}]`,"g");const c=new Yf(null,h),a=[];let l,u=!1,d=0,f=0,p=0;t:for(let i=s,e=n;i<=e;i++){const e=t.getLineContent(i),s=e.length;c.reset(0);do{if(l=c.next(e),l){let t=l.index,n=l.index+l[0].length;t>0&&go(e.charCodeAt(t-1))&&t--,n+1=1e3){u=!0;break t}a.push(new Ms(i,t+1,i,n+1))}}}while(l)}return{ranges:a,hasMore:u,ambiguousCharacterCount:d,invisibleCharacterCount:f,nonBasicAsciiCharacterCount:p}}static computeUnicodeHighlightReason(t,i){const e=new tp(i);switch(e.shouldHighlightNonBasicASCII(t,null)){case 0:return null;case 2:return{kind:1};case 3:{const s=t.codePointAt(0),n=e.ambiguousCharacters.getPrimaryConfusable(s),o=Bo.getLocales().filter((t=>!Bo.getInstance(new Set([...i.allowedLocales,t])).isAmbiguous(s)));return{kind:0,confusableWith:String.fromCodePoint(n),notAmbiguousInLocales:o}}case 1:return{kind:2}}}}class tp{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints),this.ambiguousCharacters=Bo.getInstance(new Set(t.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const i of Po.codePoints)ip(String.fromCodePoint(i))||t.add(i);if(this.options.ambiguousCharacters)for(const i of this.ambiguousCharacters.getConfusableCodePoints())t.add(i);for(const i of this.allowedCodePoints)t.delete(i);return t}shouldHighlightNonBasicASCII(t,i){const e=t.codePointAt(0);if(this.allowedCodePoints.has(e))return 0;if(this.options.nonBasicASCII)return 1;let s=!1,n=!1;if(i)for(const t of i){const i=t.codePointAt(0),e=Eo(t);s=s||e,e||this.ambiguousCharacters.isAmbiguous(i)||Po.isInvisibleCharacter(i)||(n=!0)}return!s&&n?0:this.options.invisibleCharacters&&!ip(t)&&Po.isInvisibleCharacter(e)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(e)?3:0}}function ip(t){return" "===t||"\n"===t||"\t"===t}class ep{constructor(t,i,e){this.changes=t,this.moves=i,this.hitTimeout=e}}class sp{constructor(t,i){this.lineRangeMapping=t,this.changes=i}}class np{static addRange(t,i){let e=0;for(;ei))return new np(t,i)}static ofLength(t){return new np(0,t)}static ofStartAndLength(t,i){return new np(t,t+i)}constructor(t,i){if(this.start=t,this.endExclusive=i,t>i)throw new Ki(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new np(this.start+t,this.endExclusive+t)}deltaStart(t){return new np(this.start+t,this.endExclusive)}deltaEnd(t){return new np(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(t){return this.start===t.start&&this.endExclusive===t.endExclusive}containsRange(t){return this.start<=t.start&&t.endExclusive<=this.endExclusive}contains(t){return this.start<=t&&t=t.endExclusive}slice(t){return t.slice(this.start,this.endExclusive)}clip(t){if(this.isEmpty)throw new Ki(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,t))}clipCyclic(t){if(this.isEmpty)throw new Ki(`Invalid clipping range: ${this.toString()}`);return t=this.endExclusive?this.start+(t-this.start)%this.length:t}forEach(t){for(let i=this.start;it.toString())).join(", ")}intersectsStrict(t){let i=0;for(;it+i.length),0)}}function rp(t,i){const e=function(t,i,e=t.length-1){for(let s=e;s>=0;s--)if(i(t[s]))return s;return-1}(t,i);if(-1!==e)return t[e]}function hp(t,i){const e=cp(t,i);return-1===e?void 0:t[e]}function cp(t,i,e=0,s=t.length){let n=e,o=s;for(;n0&&(e=n)}return e}function dp(t,i){if(0===t.length)return-1;let e=0;for(let s=1;s0&&(e=s);return e}lp.assertInvariants=!1;class fp{static fromRange(t){return new fp(t.startLineNumber,t.endLineNumber)}static fromRangeInclusive(t){return new fp(t.startLineNumber,t.endLineNumber+1)}static joinMany(t){if(0===t.length)return[];let i=new pp(t[0].slice());for(let e=1;ei)throw new Ki(`startLineNumber ${t} cannot be after endLineNumberExclusive ${i}`);this.startLineNumber=t,this.endLineNumberExclusive=i}contains(t){return this.startLineNumber<=t&&ti.endLineNumberExclusive>=t.startLineNumber)),e=cp(this._normalizedRanges,(i=>i.startLineNumber<=t.endLineNumberExclusive))+1;if(i===e)this._normalizedRanges.splice(i,0,t);else if(i===e-1)this._normalizedRanges[i]=this._normalizedRanges[i].join(t);else{const s=this._normalizedRanges[i].join(this._normalizedRanges[e-1]).join(t);this._normalizedRanges.splice(i,e-i,s)}}contains(t){const i=hp(this._normalizedRanges,(i=>i.startLineNumber<=t));return!!i&&i.endLineNumberExclusive>t}intersects(t){const i=hp(this._normalizedRanges,(i=>i.startLineNumbert.startLineNumber}getUnion(t){if(0===this._normalizedRanges.length)return t;if(0===t._normalizedRanges.length)return this;const i=[];let e=0,s=0,n=null;for(;e=o.startLineNumber?n=new fp(n.startLineNumber,Math.max(n.endLineNumberExclusive,o.endLineNumberExclusive)):(i.push(n),n=o)}return null!==n&&i.push(n),new pp(i)}subtractFrom(t){const i=ap(this._normalizedRanges,(i=>i.endLineNumberExclusive>=t.startLineNumber)),e=cp(this._normalizedRanges,(i=>i.startLineNumber<=t.endLineNumberExclusive))+1;if(i===e)return new pp([t]);const s=[];let n=t.startLineNumber;for(let t=i;tn&&s.push(new fp(n,i.startLineNumber)),n=i.endLineNumberExclusive}return nt.toString())).join(", ")}getIntersection(t){const i=[];let e=0,s=0;for(;ei.delta(t))))}}class gp{static inverse(t,i,e){const s=[];let n=1,o=1;for(const i of t){const t=new mp(new fp(n,i.original.startLineNumber),new fp(o,i.modified.startLineNumber),void 0);t.modified.isEmpty||s.push(t),n=i.original.endLineNumberExclusive,o=i.modified.endLineNumberExclusive}const r=new mp(new fp(n,i+1),new fp(o,e+1),void 0);return r.modified.isEmpty||s.push(r),s}constructor(t,i){this.original=t,this.modified=i}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new gp(this.modified,this.original)}join(t){return new gp(this.original.join(t.original),this.modified.join(t.modified))}}class mp extends gp{constructor(t,i,e){super(t,i),this.innerChanges=e}flip(){var t;return new mp(this.modified,this.original,null===(t=this.innerChanges)||void 0===t?void 0:t.map((t=>t.flip())))}}class wp{constructor(t,i){this.originalRange=t,this.modifiedRange=i}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new wp(this.modifiedRange,this.originalRange)}}class vp{computeDiff(t,i,e){var s;const n=new Sp(t,i,{maxComputationTime:e.maxComputationTimeMs,shouldIgnoreTrimWhitespace:e.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),o=[];let r=null;for(const t of n.changes){let i,e;i=0===t.originalEndLineNumber?new fp(t.originalStartLineNumber+1,t.originalStartLineNumber+1):new fp(t.originalStartLineNumber,t.originalEndLineNumber+1),e=0===t.modifiedEndLineNumber?new fp(t.modifiedStartLineNumber+1,t.modifiedStartLineNumber+1):new fp(t.modifiedStartLineNumber,t.modifiedEndLineNumber+1);let n=new mp(i,e,null===(s=t.charChanges)||void 0===s?void 0:s.map((t=>new wp(new Ms(t.originalStartLineNumber,t.originalStartColumn,t.originalEndLineNumber,t.originalEndColumn),new Ms(t.modifiedStartLineNumber,t.modifiedStartColumn,t.modifiedEndLineNumber,t.modifiedEndColumn)))));r&&(r.modified.endLineNumberExclusive!==n.modified.startLineNumber&&r.original.endLineNumberExclusive!==n.original.startLineNumber||(n=new mp(r.original.join(n.original),r.modified.join(n.modified),r.innerChanges&&n.innerChanges?r.innerChanges.concat(n.innerChanges):void 0),o.pop())),o.push(n),r=n}return Ch((()=>Sh(o,((t,i)=>i.original.startLineNumber-t.original.endLineNumberExclusive==i.modified.startLineNumber-t.modified.endLineNumberExclusive&&t.original.endLineNumberExclusive(10===t?"\\n":String.fromCharCode(t))+`-(${this._lineNumbers[i]},${this._columns[i]})`)).join(", ")+"]"}_assertIndex(t,i){if(t<0||t>=i.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(t){return t>0&&t===this._lineNumbers.length?this.getEndLineNumber(t-1):(this._assertIndex(t,this._lineNumbers),this._lineNumbers[t])}getEndLineNumber(t){return-1===t?this.getStartLineNumber(t+1):(this._assertIndex(t,this._lineNumbers),10===this._charCodes[t]?this._lineNumbers[t]+1:this._lineNumbers[t])}getStartColumn(t){return t>0&&t===this._columns.length?this.getEndColumn(t-1):(this._assertIndex(t,this._columns),this._columns[t])}getEndColumn(t){return-1===t?this.getStartColumn(t+1):(this._assertIndex(t,this._columns),10===this._charCodes[t]?1:this._columns[t]+1)}}class xp{constructor(t,i,e,s,n,o,r,h){this.originalStartLineNumber=t,this.originalStartColumn=i,this.originalEndLineNumber=e,this.originalEndColumn=s,this.modifiedStartLineNumber=n,this.modifiedStartColumn=o,this.modifiedEndLineNumber=r,this.modifiedEndColumn=h}static createFromDiffChange(t,i,e){const s=i.getStartLineNumber(t.originalStart),n=i.getStartColumn(t.originalStart),o=i.getEndLineNumber(t.originalStart+t.originalLength-1),r=i.getEndColumn(t.originalStart+t.originalLength-1),h=e.getStartLineNumber(t.modifiedStart),c=e.getStartColumn(t.modifiedStart),a=e.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),l=e.getEndColumn(t.modifiedStart+t.modifiedLength-1);return new xp(s,n,o,r,h,c,a,l)}}class Cp{constructor(t,i,e,s,n){this.originalStartLineNumber=t,this.originalEndLineNumber=i,this.modifiedStartLineNumber=e,this.modifiedEndLineNumber=s,this.charChanges=n}static createFromDiffResult(t,i,e,s,n,o,r){let h,c,a,l,u;if(0===i.originalLength?(h=e.getStartLineNumber(i.originalStart)-1,c=0):(h=e.getStartLineNumber(i.originalStart),c=e.getEndLineNumber(i.originalStart+i.originalLength-1)),0===i.modifiedLength?(a=s.getStartLineNumber(i.modifiedStart)-1,l=0):(a=s.getStartLineNumber(i.modifiedStart),l=s.getEndLineNumber(i.modifiedStart+i.modifiedLength-1)),o&&i.originalLength>0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&n()){const o=e.createCharSequence(t,i.originalStart,i.originalStart+i.originalLength-1),h=s.createCharSequence(t,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);if(o.getElements().length>0&&h.getElements().length>0){let t=bp(o,h,n,!0).changes;r&&(t=function(t){if(t.length<=1)return t;const i=[t[0]];let e=i[0];for(let s=1,n=t.length;s1&&r>1&&t.charCodeAt(e-2)===i.charCodeAt(r-2);)e--,r--;(e>1||r>1)&&this._pushTrimWhitespaceCharChange(s,n+1,1,e,o+1,1,r)}{let e=Ep(t,1),r=Ep(i,1);const h=t.length+1,c=i.length+1;for(;e!0;const i=Date.now();return()=>Date.now()-i{e.push(Lp.fromOffsetPairs(t?t.getEndExclusives():Fp.zero,s?s.getStarts():new Fp(i,(t?t.seq2Range.endExclusive-t.seq1Range.endExclusive:0)+i)))})),e}static fromOffsetPairs(t,i){return new Lp(new np(t.offset1,i.offset1),new np(t.offset2,i.offset2))}constructor(t,i){this.seq1Range=t,this.seq2Range=i}swap(){return new Lp(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(t){return new Lp(this.seq1Range.join(t.seq1Range),this.seq2Range.join(t.seq2Range))}delta(t){return 0===t?this:new Lp(this.seq1Range.delta(t),this.seq2Range.delta(t))}deltaStart(t){return 0===t?this:new Lp(this.seq1Range.deltaStart(t),this.seq2Range.deltaStart(t))}deltaEnd(t){return 0===t?this:new Lp(this.seq1Range.deltaEnd(t),this.seq2Range.deltaEnd(t))}intersect(t){const i=this.seq1Range.intersect(t.seq1Range),e=this.seq2Range.intersect(t.seq2Range);if(i&&e)return new Lp(i,e)}getStarts(){return new Fp(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new Fp(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class Fp{constructor(t,i){this.offset1=t,this.offset2=i}toString(){return`${this.offset1} <-> ${this.offset2}`}}Fp.zero=new Fp(0,0),Fp.max=new Fp(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class Tp{isValid(){return!0}}Tp.instance=new Tp;class Rp{constructor(t){if(this.timeout=t,this.startTime=Date.now(),this.valid=!0,t<=0)throw new Ki("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&c>0&&3===o.get(h-1,c-1)&&(u+=r.get(h-1,c-1)),u+=s?s(h,c):1):u=-1;const d=Math.max(a,l,u);if(d===u){const t=h>0&&c>0?r.get(h-1,c-1):0;r.set(h,c,t+1),o.set(h,c,3)}else d===a?(r.set(h,c,0),o.set(h,c,1)):d===l&&(r.set(h,c,0),o.set(h,c,2));n.set(h,c,d)}const h=[];let c=t.length,a=i.length;function l(t,i){t+1===c&&i+1===a||h.push(new Lp(new np(t+1,c),new np(i+1,a))),c=t,a=i}let u=t.length-1,d=i.length-1;for(;u>=0&&d>=0;)3===o.get(u,d)?(l(u,d),u--,d--):1===o.get(u,d)?u--:d--;return l(-1,-1),h.reverse(),new Mp(h,!1)}}class Bp{compute(t,i,e=Tp.instance){if(0===t.length||0===i.length)return Mp.trivial(t,i);const s=t,n=i;function o(t,i){for(;ts.length||u>n.length)continue;const d=o(l,u);h.set(a,d);const f=c.get(l===e?a+1:a-1);if(c.set(a,d!==l?new Pp(f,l,u,d-l):f),h.get(a)===s.length&&h.get(a)-a===n.length)break t}}let l=c.get(a);const u=[];let d=s.length,f=n.length;for(;;){const t=l?l.x+l.length:0,i=l?l.y+l.length:0;if(t===d&&i===f||u.push(new Lp(new np(t,d),new np(i,f))),!l)break;d=l.x,f=l.y,l=l.prev}return u.reverse(),new Mp(u,!1)}}class Pp{constructor(t,i,e,s){this.prev=t,this.x=i,this.y=e,this.length=s}}class $p{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(t){return t<0?this.negativeArr[t=-t-1]:this.positiveArr[t]}set(t,i){if(t<0){if((t=-t-1)>=this.negativeArr.length){const t=this.negativeArr;this.negativeArr=new Int32Array(2*t.length),this.negativeArr.set(t)}this.negativeArr[t]=i}else{if(t>=this.positiveArr.length){const t=this.positiveArr;this.positiveArr=new Int32Array(2*t.length),this.positiveArr.set(t)}this.positiveArr[t]=i}}}class Wp{constructor(){this.positiveArr=[],this.negativeArr=[]}get(t){return t<0?this.negativeArr[t=-t-1]:this.positiveArr[t]}set(t,i){t<0?this.negativeArr[t=-t-1]=i:this.positiveArr[t]=i}}class jp{constructor(t,i){this.uri=t,this.value=i}}class zp{constructor(t,i){if(this[$f]="ResourceMap",t instanceof zp)this.map=new Map(t.map),this.toKey=null!=i?i:zp.defaultToKey;else if(function(t){return Array.isArray(t)}(t)){this.map=new Map,this.toKey=null!=i?i:zp.defaultToKey;for(const[i,e]of t)this.set(i,e)}else this.map=new Map,this.toKey=null!=t?t:zp.defaultToKey}set(t,i){return this.map.set(this.toKey(t),new jp(t,i)),this}get(t){var i;return null===(i=this.map.get(this.toKey(t)))||void 0===i?void 0:i.value}has(t){return this.map.has(this.toKey(t))}get size(){return this.map.size}clear(){this.map.clear()}delete(t){return this.map.delete(this.toKey(t))}forEach(t,i){void 0!==i&&(t=t.bind(i));for(const[i,e]of this.map)t(e.value,e.uri,this)}*values(){for(const t of this.map.values())yield t.value}*keys(){for(const t of this.map.values())yield t.uri}*entries(){for(const t of this.map.values())yield[t.uri,t.value]}*[($f=Symbol.toStringTag,Symbol.iterator)](){for(const[,t]of this.map)yield[t.uri,t.value]}}zp.defaultToKey=t=>t.toString();class Hp{constructor(){this[Wf]="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(){var t;return null===(t=this._head)||void 0===t?void 0:t.value}get last(){var t;return null===(t=this._tail)||void 0===t?void 0:t.value}has(t){return this._map.has(t)}get(t,i=0){const e=this._map.get(t);if(e)return 0!==i&&this.touch(e,i),e.value}set(t,i,e=0){let s=this._map.get(t);if(s)s.value=i,0!==e&&this.touch(s,e);else{switch(s={key:t,value:i,next:void 0,previous:void 0},e){case 0:case 2:default:this.addItemLast(s);break;case 1:this.addItemFirst(s)}this._map.set(t,s),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){const i=this._map.get(t);if(i)return this._map.delete(t),this.removeItem(i),this._size--,i.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,i){const e=this._state;let s=this._head;for(;s;){if(i?t.bind(i)(s.value,s.key,this):t(s.value,s.key,this),this._state!==e)throw new Error("LinkedMap got modified during iteration.");s=s.next}}keys(){const t=this,i=this._state;let e=this._head;const s={[Symbol.iterator]:()=>s,next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:e.key,done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return s}values(){const t=this,i=this._state;let e=this._head;const s={[Symbol.iterator]:()=>s,next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:e.value,done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return s}entries(){const t=this,i=this._state;let e=this._head;const s={[Symbol.iterator]:()=>s,next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:[e.key,e.value],done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return s}[(Wf=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(t){if(t>=this.size)return;if(0===t)return void this.clear();let i=this._head,e=this.size;for(;i&&e>t;)this._map.delete(i.key),i=i.next,e--;this._head=i,this._size=e,i&&(i.previous=void 0),this._state++}addItemFirst(t){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");t.next=this._head,this._head.previous=t}else this._tail=t;this._head=t,this._state++}addItemLast(t){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");t.previous=this._tail,this._tail.next=t}else this._head=t;this._tail=t,this._state++}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head){if(!t.next)throw new Error("Invalid list");t.next.previous=void 0,this._head=t.next}else if(t===this._tail){if(!t.previous)throw new Error("Invalid list");t.previous.next=void 0,this._tail=t.previous}else{const i=t.next,e=t.previous;if(!i||!e)throw new Error("Invalid list");i.previous=e,e.next=i}t.next=void 0,t.previous=void 0,this._state++}touch(t,i){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===i||2===i)if(1===i){if(t===this._head)return;const i=t.next,e=t.previous;t===this._tail?(e.next=void 0,this._tail=e):(i.previous=e,e.next=i),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(2===i){if(t===this._tail)return;const i=t.next,e=t.previous;t===this._head?(i.previous=void 0,this._head=i):(i.previous=e,e.next=i),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}toJSON(){const t=[];return this.forEach(((i,e)=>{t.push([e,i])})),t}fromJSON(t){this.clear();for(const[i,e]of t)this.set(i,e)}}class Vp extends Hp{constructor(t,i=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0,i),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get(t,i=2){return super.get(t,i)}peek(t){return super.get(t,0)}set(t,i){return super.set(t,i,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}class Up{constructor(t){if(this._m1=new Map,this._m2=new Map,t)for(const[i,e]of t)this.set(i,e)}clear(){this._m1.clear(),this._m2.clear()}set(t,i){this._m1.set(t,i),this._m2.set(i,t)}get(t){return this._m1.get(t)}getKey(t){return this._m2.get(t)}delete(t){const i=this._m1.get(t);return void 0!==i&&(this._m1.delete(t),this._m2.delete(i),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class qp{constructor(){this.map=new Map}add(t,i){let e=this.map.get(t);e||(e=new Set,this.map.set(t,e)),e.add(i)}delete(t,i){const e=this.map.get(t);e&&(e.delete(i),0===e.size&&this.map.delete(t))}forEach(t,i){const e=this.map.get(t);e&&e.forEach(i)}get(t){return this.map.get(t)||new Set}}class Kp{constructor(t,i,e){this.lines=t,this.considerWhitespaceChanges=e,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let s=!1;i.start>0&&i.endExclusive>=t.length&&(i=new np(i.start-1,i.endExclusive),s=!0),this.lineRange=i,this.firstCharOffsetByLine[0]=0;for(let i=this.lineRange.start;iString.fromCharCode(t))).join("")}getElement(t){return this.elements[t]}get length(){return this.elements.length}getBoundaryScore(t){const i=Jp(t>0?this.elements[t-1]:-1),e=Jp(ti<=t));return new As(this.lineRange.start+i+1,t-this.firstCharOffsetByLine[i]+this.additionalOffsetByLine[i]+1)}translateRange(t){return Ms.fromPositions(this.translateOffset(t.start),this.translateOffset(t.endExclusive))}findWordContaining(t){if(t<0||t>=this.elements.length)return;if(!Gp(this.elements[t]))return;let i=t;for(;i>0&&Gp(this.elements[i-1]);)i--;let e=t;for(;ei<=t.start)))&&void 0!==i?i:0,n=null!==(e=function(i){const e=ap(i,(i=>t.endExclusive<=i));return e===i.length?void 0:i[e]}(this.firstCharOffsetByLine))&&void 0!==e?e:this.elements.length;return new np(s,n)}}function Gp(t){return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57}const Zp={0:0,1:0,2:0,3:10,4:2,5:3,6:3,7:10,8:10};function Qp(t){return Zp[t]}function Jp(t){return 10===t?8:13===t?7:Ip(t)?6:t>=97&&t<=122?0:t>=65&&t<=90?1:t>=48&&t<=57?2:-1===t?3:44===t||59===t?5:4}function Yp(t,i,e){if(t.trim()===i.trim())return!0;if(t.length>300&&i.length>300)return!1;const s=(new Bp).compute(new Kp([t],new np(0,1),!1),new Kp([i],new np(0,1),!1),e);let n=0;const o=Lp.invert(s.diffs,t.length);for(const i of o)i.seq1Range.forEach((i=>{Ip(t.charCodeAt(i))||n++}));const r=function(i){let e=0;for(let s=0;si.length?t:i);return n/r>.6&&r>10}function Xp(t,i,e){let s=e;return s=tg(t,i,s),s=tg(t,i,s),s=function(t,i,e){if(!t.getBoundaryScore||!i.getBoundaryScore)return e;for(let s=0;s0?e[s-1]:void 0,o=e[s],r=s+10&&(r=r.delta(h))}n.push(r)}return s.length>0&&n.push(s[s.length-1]),n}function ig(t,i,e,s,n){let o=1;for(;t.seq1Range.start-o>=s.start&&t.seq2Range.start-o>=n.start&&e.isStronglyEqual(t.seq2Range.start-o,t.seq2Range.endExclusive-o)&&o<100;)o++;o--;let r=0;for(;t.seq1Range.start+rc&&(c=r,h=s)}return t.delta(h)}class eg{constructor(t,i){this.trimmedHash=t,this.lines=i}getElement(t){return this.trimmedHash[t]}get length(){return this.trimmedHash.length}getBoundaryScore(t){return 1e3-((0===t?0:sg(this.lines[t-1]))+(t===this.lines.length?0:sg(this.lines[t])))}getText(t){return this.lines.slice(t.start,t.endExclusive).join("\n")}isStronglyEqual(t,i){return this.lines[t]===this.lines[i]}}function sg(t){let i=0;for(;it===i)))return new ep([],[],!1);if(1===t.length&&0===t[0].length||1===i.length&&0===i[0].length)return new ep([new mp(new fp(1,t.length+1),new fp(1,i.length+1),[new wp(new Ms(1,1,t.length,t[0].length+1),new Ms(1,1,i.length,i[0].length+1))])],[],!1);const s=0===e.maxComputationTimeMs?Tp.instance:new Rp(e.maxComputationTimeMs),n=!e.ignoreTrimWhitespace,o=new Map;function r(t){let i=o.get(t);return void 0===i&&(i=o.size,o.set(t,i)),i}const h=t.map((t=>r(t.trim()))),c=i.map((t=>r(t.trim()))),a=new eg(h,t),u=new eg(c,i),d=(()=>a.length+u.length<1700?this.dynamicProgrammingDiffing.compute(a,u,s,((e,s)=>t[e]===i[s]?0===i[s].length?.1:1+Math.log(1+i[s].length):.99)):this.myersDiffingAlgorithm.compute(a,u))();let f=d.diffs,p=d.hitTimeout;f=Xp(a,u,f),f=function(t,i,e){let s=e;if(0===s.length)return s;let n,o=0;do{n=!1;const r=[s[0]];for(let h=1;h5||e.seq1Range.length+e.seq2Range.length>5)}l(a,c)?(n=!0,r[r.length-1]=r[r.length-1].join(c)):r.push(c)}s=r}while(o++<10&&n);return s}(a,0,f);const g=[],m=e=>{if(n)for(let o=0;oe.seq1Range.start-w==e.seq2Range.start-v)),m(e.seq1Range.start-w),w=e.seq1Range.endExclusive,v=e.seq2Range.endExclusive;const o=this.refineDiff(t,i,e,s,n);o.hitTimeout&&(p=!0);for(const t of o.mappings)g.push(t)}m(t.length-w);const b=og(g,t,i);let y=[];return e.computeMoves&&(y=this.computeMoves(b,t,i,h,c,s,n)),Ch((()=>{function e(t,i){return!(t.lineNumber<1||t.lineNumber>i.length)&&!(t.column<1||t.column>i[t.lineNumber-1].length+1)}function s(t,i){return!(t.startLineNumber<1||t.startLineNumber>i.length+1||t.endLineNumberExclusive<1||t.endLineNumberExclusive>i.length+1)}for(const n of b){if(!n.innerChanges)return!1;for(const s of n.innerChanges)if(!(e(s.modifiedRange.getStartPosition(),i)&&e(s.modifiedRange.getEndPosition(),i)&&e(s.originalRange.getStartPosition(),t)&&e(s.originalRange.getEndPosition(),t)))return!1;if(!s(n.modified,i)||!s(n.original,t))return!1}return!0})),new ep(b,y,p)}computeMoves(t,i,e,s,n,o,r){return function(t,i,e,s,n,o){let{moves:r,excludedChanges:h}=function(t,i,e,s){const n=[],o=t.filter((t=>t.modified.isEmpty&&t.original.length>=3)).map((t=>new _p(t.original,i,t))),r=new Set(t.filter((t=>t.original.isEmpty&&t.modified.length>=3)).map((t=>new _p(t.modified,e,t)))),h=new Set;for(const t of o){let i,e=-1;for(const s of r){const n=t.computeSimilarity(s);n>e&&(e=n,i=s)}if(e>.9&&i&&(r.delete(i),n.push(new gp(t.range,i.range)),h.add(t.source),h.add(i.source)),!s.isValid())return{moves:n,excludedChanges:h}}return{moves:n,excludedChanges:h}}(t,i,e,o);if(!o.isValid())return[];const c=function(t,i,e,s,n,o){const r=[],h=new qp;for(const e of t)for(let t=e.original.startLineNumber;tt.modified.startLineNumber),R));for(const i of t){let t=[];for(let s=i.modified.startLineNumber;s{for(const e of t)if(e.originalLineRange.endLineNumberExclusive+1===i.endLineNumberExclusive&&e.modifiedLineRange.endLineNumberExclusive+1===n.endLineNumberExclusive)return e.originalLineRange=new fp(e.originalLineRange.startLineNumber,i.endLineNumberExclusive),e.modifiedLineRange=new fp(e.modifiedLineRange.startLineNumber,n.endLineNumberExclusive),void o.push(e);const e={modifiedLineRange:n,originalLineRange:i};c.push(e),o.push(e)})),t=o}if(!o.isValid())return[]}c.sort(I(T((t=>t.modifiedLineRange.length),R)));const a=new pp,l=new pp;for(const t of c){const i=t.modifiedLineRange.startLineNumber-t.originalLineRange.startLineNumber,e=a.subtractFrom(t.modifiedLineRange),s=l.subtractFrom(t.originalLineRange).getWithDelta(i),n=e.getIntersection(s);for(const t of n.ranges){if(t.length<3)continue;const e=t,s=t.delta(-i);r.push(new gp(s,e)),a.addRange(e),l.addRange(s)}}r.sort(T((t=>t.original.startLineNumber),R));const u=new lp(t);for(let i=0;it.original.startLineNumber<=e.original.startLineNumber)),c=hp(t,(t=>t.modified.startLineNumber<=e.modified.startLineNumber)),d=Math.max(e.original.startLineNumber-h.original.startLineNumber,e.modified.startLineNumber-c.modified.startLineNumber),f=u.findLastMonotonous((t=>t.original.startLineNumbert.modified.startLineNumbers.length||i>n.length)break;if(a.contains(i)||l.contains(t))break;if(!Yp(s[t-1],n[i-1],o))break}for(m>0&&(l.addRange(new fp(e.original.startLineNumber-m,e.original.startLineNumber)),a.addRange(new fp(e.modified.startLineNumber-m,e.modified.startLineNumber))),w=0;ws.length||i>n.length)break;if(a.contains(i)||l.contains(t))break;if(!Yp(s[t-1],n[i-1],o))break}w>0&&(l.addRange(new fp(e.original.endLineNumberExclusive,e.original.endLineNumberExclusive+w)),a.addRange(new fp(e.modified.endLineNumberExclusive,e.modified.endLineNumberExclusive+w))),(m>0||w>0)&&(r[i]=new gp(new fp(e.original.startLineNumber-m,e.original.endLineNumberExclusive+w),new fp(e.modified.startLineNumber-m,e.modified.endLineNumberExclusive+w)))}return r}(t.filter((t=>!h.has(t))),s,n,i,e,o);return E(r,c),r=function(t){if(0===t.length)return t;t.sort(T((t=>t.original.startLineNumber),R));const i=[t[0]];for(let e=1;e=0&&r>=0&&o+r<=2?i[i.length-1]=s.join(n):i.push(n)}return i}(r),r=r.filter((t=>{const e=t.original.toOffsetRange().slice(i).map((t=>t.trim()));return e.join("\n").length>=15&&function(t){let i=0;for(const e of t)e.length>=2&&i++;return i}(e)>=2})),r=function(t,i){const e=new lp(t);return i.filter((i=>(e.findLastMonotonous((t=>t.original.startLineNumbert.modified.startLineNumber{const s=og(this.refineDiff(i,e,new Lp(t.original.toOffsetRange(),t.modified.toOffsetRange()),o,r).mappings,i,e,!0);return new sp(t,s)}))}refineDiff(t,i,e,s,n){const o=new Kp(t,e.seq1Range,n),r=new Kp(i,e.seq2Range,n),h=o.length+r.length<500?this.dynamicProgrammingDiffing.compute(o,r,s):this.myersDiffingAlgorithm.compute(o,r,s);let c=h.diffs;return c=Xp(o,r,c),c=function(t,i,e){const s=[];let n;function o(){if(!n)return;const t=n.s1Range.length-n.deleted;Math.max(n.deleted,n.added)+(n.count-1)>t&&s.push(new Lp(n.s1Range,n.s2Range)),n=void 0}for(const r of e){function h(t,i){var e,s,h,c;if(!n||!n.s1Range.containsRange(t)||!n.s2Range.containsRange(i))if(!n||n.s1Range.endExclusive0||i.length>0;){const s=t[0],n=i[0];let o;o=s&&(!n||s.seq1Range.start0&&e[e.length-1].seq1Range.endExclusive>=o.seq1Range.start?e[e.length-1]=e[e.length-1].join(o):e.push(o)}return e}(e,s)}(o,r,c),c=function(t,i,e){const s=[];for(const t of e){const i=s[s.length-1];i&&(t.seq1Range.start-i.seq1Range.endExclusive<=2||t.seq2Range.start-i.seq2Range.endExclusive<=2)?s[s.length-1]=new Lp(i.seq1Range.join(t.seq1Range),i.seq2Range.join(t.seq2Range)):s.push(t)}return s}(0,0,c),c=function(t,i,e){let s=e;if(0===s.length)return s;let n,o=0;do{n=!1;const h=[s[0]];for(let c=1;c5||n.length>500)return!1;const o=t.getText(n).trim();if(o.length>20||o.split(/\r\n|\r|\n/).length>1)return!1;const r=t.countLinesIn(e.seq1Range),h=e.seq1Range.length,c=i.countLinesIn(e.seq2Range),u=e.seq2Range.length,d=t.countLinesIn(s.seq1Range),f=s.seq1Range.length,p=i.countLinesIn(s.seq2Range),g=s.seq2Range.length;function m(t){return Math.min(t,130)}return Math.pow(Math.pow(m(40*r+h),1.5)+Math.pow(m(40*c+u),1.5),1.5)+Math.pow(Math.pow(m(40*d+f),1.5)+Math.pow(m(40*p+g),1.5),1.5)>74184.96480721243}u(l,a)?(n=!0,h[h.length-1]=h[h.length-1].join(a)):h.push(a)}s=h}while(o++<10&&n);const r=[];return function(t,i){for(let e=0;e{let n=e;function o(t){return t.length>0&&t.trim().length<=3&&e.seq1Range.length+e.seq2Range.length>100}const h=t.extendToFullLines(e.seq1Range),c=t.getText(new np(h.start,e.seq1Range.start));o(c)&&(n=n.deltaStart(-c.length));const a=t.getText(new np(e.seq1Range.endExclusive,h.endExclusive));o(a)&&(n=n.deltaEnd(a.length));const l=Lp.fromOffsetPairs(i?i.getEndExclusives():Fp.zero,s?s.getStarts():Fp.max),u=n.intersect(l);r.push(u)})),r}(o,r,c),{mappings:c.map((t=>new wp(o.translateRange(t.seq1Range),r.translateRange(t.seq2Range)))),hitTimeout:h.hitTimeout}}}function og(t,i,e,s=!1){const n=[];for(const s of p(t.map((t=>function(t,i,e){let s=0,n=0;1===t.modifiedRange.endColumn&&1===t.originalRange.endColumn&&t.originalRange.startLineNumber+s<=t.originalRange.endLineNumber&&t.modifiedRange.startLineNumber+s<=t.modifiedRange.endLineNumber&&(n=-1),t.modifiedRange.startColumn-1>=e[t.modifiedRange.startLineNumber-1].length&&t.originalRange.startColumn-1>=i[t.originalRange.startLineNumber-1].length&&t.originalRange.startLineNumber<=t.originalRange.endLineNumber+n&&t.modifiedRange.startLineNumber<=t.modifiedRange.endLineNumber+n&&(s=1);const o=new fp(t.originalRange.startLineNumber+s,t.originalRange.endLineNumber+1+n),r=new fp(t.modifiedRange.startLineNumber+s,t.modifiedRange.endLineNumber+1+n);return new mp(o,r,[t])}(t,i,e))),((t,i)=>t.original.overlapOrTouch(i.original)||t.modified.overlapOrTouch(i.modified)))){const t=s[0],i=s[s.length-1];n.push(new mp(t.original.join(i.original),t.modified.join(i.modified),s.map((t=>t.innerChanges[0]))))}return Ch((()=>!(!s&&n.length>0&&n[0].original.startLineNumber!==n[0].modified.startLineNumber)&&Sh(n,((t,i)=>i.original.startLineNumber-t.original.endLineNumberExclusive==i.modified.startLineNumber-t.modified.endLineNumberExclusive&&t.original.endLineNumberExclusive0){switch(c=Math.min(a<=.5?l/(2*a):l/(2-2*a),1),o){case i:h=(e-s)/l+(e1&&(e-=1),e<1/6?t+6*(i-t)*e:e<.5?i:e<2/3?t+(i-t)*(2/3-e)*6:t}static toRGBA(t){const i=t.h/360,{s:e,l:s,a:n}=t;let o,r,h;if(0===e)o=r=h=s;else{const t=s<.5?s*(1+e):s+e-s*e,n=2*s-t;o=cg._hue2rgb(n,t,i+1/3),r=cg._hue2rgb(n,t,i),h=cg._hue2rgb(n,t,i-1/3)}return new hg(Math.round(255*o),Math.round(255*r),Math.round(255*h),n)}}class ag{constructor(t,i,e,s){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,t),0),this.s=rg(Math.max(Math.min(1,i),0),3),this.v=rg(Math.max(Math.min(1,e),0),3),this.a=rg(Math.max(Math.min(1,s),0),3)}static equals(t,i){return t.h===i.h&&t.s===i.s&&t.v===i.v&&t.a===i.a}static fromRGBA(t){const i=t.r/255,e=t.g/255,s=t.b/255,n=Math.max(i,e,s),o=n-Math.min(i,e,s),r=0===n?0:o/n;let h;return h=0===o?0:n===i?((e-s)/o%6+6)%6:n===e?(s-i)/o+2:(i-e)/o+4,new ag(Math.round(60*h),r,n,t.a)}static toRGBA(t){const{h:i,s:e,v:s,a:n}=t,o=s*e,r=o*(1-Math.abs(i/60%2-1)),h=s-o;let[c,a,l]=[0,0,0];return i<60?(c=o,a=r):i<120?(c=r,a=o):i<180?(a=o,l=r):i<240?(a=r,l=o):i<300?(c=r,l=o):i<=360&&(c=o,l=r),c=Math.round(255*(c+h)),a=Math.round(255*(a+h)),l=Math.round(255*(l+h)),new hg(c,a,l,n)}}class lg{static fromHex(t){return lg.Format.CSS.parseHex(t)||lg.red}static equals(t,i){return!t&&!i||!(!t||!i)&&t.equals(i)}get hsla(){return this._hsla?this._hsla:cg.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:ag.fromRGBA(this.rgba)}constructor(t){if(!t)throw new Error("Color needs a value");if(t instanceof hg)this.rgba=t;else if(t instanceof cg)this._hsla=t,this.rgba=cg.toRGBA(t);else{if(!(t instanceof ag))throw new Error("Invalid color ctor argument");this._hsva=t,this.rgba=ag.toRGBA(t)}}equals(t){return!!t&&hg.equals(this.rgba,t.rgba)&&cg.equals(this.hsla,t.hsla)&&ag.equals(this.hsva,t.hsva)}getRelativeLuminance(){return rg(.2126*lg._relativeLuminanceForComponent(this.rgba.r)+.7152*lg._relativeLuminanceForComponent(this.rgba.g)+.0722*lg._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(t){const i=t/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(t){return this.getRelativeLuminance()>t.getRelativeLuminance()}isDarkerThan(t){return this.getRelativeLuminance()this._lines.length)i=this._lines.length,e=this._lines[i-1].length+1,s=!0;else{const t=this._lines[i-1].length+1;e<1?(e=1,s=!0):e>t&&(e=t,s=!0)}return s?{lineNumber:i,column:e}:t}}class bg{constructor(t,i){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=i,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){const t=[];return Object.keys(this._models).forEach((i=>t.push(this._models[i]))),t}acceptNewModel(t){this._models[t.url]=new vg(ms.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,i){this._models[t]&&this._models[t].onEvents(i)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}async computeUnicodeHighlights(t,i,e){const s=this._getModel(t);return s?Xf.computeUnicodeHighlights(s,i,e):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async computeDiff(t,i,e,s){const n=this._getModel(t),o=this._getModel(i);return n&&o?bg.computeDiff(n,o,e,s):null}static computeDiff(t,i,e,s){const n="advanced"===s?new ng:new vp,o=t.getLinesContent(),r=i.getLinesContent(),h=n.computeDiff(o,r,e);function c(t){return t.map((t=>{var i;return[t.original.startLineNumber,t.original.endLineNumberExclusive,t.modified.startLineNumber,t.modified.endLineNumberExclusive,null===(i=t.innerChanges)||void 0===i?void 0:i.map((t=>[t.originalRange.startLineNumber,t.originalRange.startColumn,t.originalRange.endLineNumber,t.originalRange.endColumn,t.modifiedRange.startLineNumber,t.modifiedRange.startColumn,t.modifiedRange.endLineNumber,t.modifiedRange.endColumn]))]}))}return{identical:!(h.changes.length>0)&&this._modelsAreIdentical(t,i),quitEarly:h.hitTimeout,changes:c(h.changes),moves:h.moves.map((t=>[t.lineRangeMapping.original.startLineNumber,t.lineRangeMapping.original.endLineNumberExclusive,t.lineRangeMapping.modified.startLineNumber,t.lineRangeMapping.modified.endLineNumberExclusive,c(t.changes)]))}}static _modelsAreIdentical(t,i){const e=t.getLineCount();if(e!==i.getLineCount())return!1;for(let s=1;s<=e;s++)if(t.getLineContent(s)!==i.getLineContent(s))return!1;return!0}async computeMoreMinimalEdits(t,i,e){const s=this._getModel(t);if(!s)return i;const n=[];let o;i=i.slice(0).sort(((t,i)=>t.range&&i.range?Ms.compareRangesUsingStarts(t.range,i.range):(t.range?0:1)-(i.range?0:1)));let r=0;for(let t=1;tbg._diffLimit){n.push({range:t,text:r});continue}const c=pf(i,r,e),a=s.offsetAt(Ms.lift(t).getStartPosition());for(const t of c){const i=s.positionAt(a+t.originalStart),e=s.positionAt(a+t.originalStart+t.originalLength),o={text:r.substr(t.modifiedStart,t.modifiedLength),range:{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:e.lineNumber,endColumn:e.column}};s.getValueInRange(o.range)!==o.text&&n.push(o)}}return"number"==typeof o&&n.push({eol:o,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),n}async computeLinks(t){const i=this._getModel(t);return i?function(t){return t&&"function"==typeof t.getLineCount&&"function"==typeof t.getLineContent?Tf.computeLinks(t):[]}(i):null}async computeDefaultDocumentColors(t){const i=this._getModel(t);return i?function(t){return t&&"function"==typeof t.getValue&&"function"==typeof t.positionAt?function(t){const i=[],e=wg(t,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if(e.length>0)for(const s of e){const e=s.filter((t=>void 0!==t)),n=e[1],o=e[2];if(!o)continue;let r;if("rgb"===n){const i=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;r=gg(fg(t,s),wg(o,i),!1)}else if("rgba"===n){const i=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=gg(fg(t,s),wg(o,i),!0)}else if("hsl"===n){const i=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;r=mg(fg(t,s),wg(o,i),!1)}else if("hsla"===n){const i=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;r=mg(fg(t,s),wg(o,i),!0)}else"#"===n&&(r=pg(fg(t,s),n+o));r&&i.push(r)}return i}(t):[]}(i):null}async textualSuggest(t,i,e,s){const n=new re,o=new RegExp(e,s),r=new Set;t:for(const e of t){const t=this._getModel(e);if(t)for(const e of t.words(o))if(e!==i&&isNaN(Number(e))&&(r.add(e),r.size>bg._suggestionsLimit))break t}return{words:Array.from(r),duration:n.elapsed()}}async computeWordRanges(t,i,e,s){const n=this._getModel(t);if(!n)return Object.create(null);const o=new RegExp(e,s),r=Object.create(null);for(let t=i.startLineNumber;tfunction(){const e=Array.prototype.slice.call(arguments,0);return i(t,e)},s={};for(const i of t)s[i]=e(i);return s}(e,((t,i)=>this._host.fhr(t,i)));return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory({host:s,getMirrorModels:()=>this._getModels()},i),Promise.resolve(et(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,i){if(!this._foreignModule||"function"!=typeof this._foreignModule[t])return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,i))}catch(t){return Promise.reject(t)}}}bg._diffLimit=1e5,bg._suggestionsLimit=1e4,"function"==typeof importScripts&&(globalThis.monaco=Pn());const yg=dr("textResourceConfigurationService"),kg=dr("textResourcePropertiesService"),xg=dr("ILanguageFeaturesService");var Cg=function(t,i){return function(e,s){i(e,s,t)}};function Sg(t,i){const e=t.getModel(i);return!!e&&!e.isTooLargeForSyncing()}let Dg=class extends te{constructor(t,i,e,s,n){super(),this._modelService=t,this._workerManager=this._register(new Ag(this._modelService,s)),this._logService=e,this._register(n.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:t=>Sg(this._modelService,t.uri)?this._workerManager.withWorker().then((i=>i.computeLinks(t.uri))).then((t=>t&&{links:t})):Promise.resolve({links:[]})})),this._register(n.completionProvider.register("*",new Eg(this._workerManager,i,this._modelService,s)))}dispose(){super.dispose()}canComputeUnicodeHighlights(t){return Sg(this._modelService,t)}computedUnicodeHighlights(t,i,e){return this._workerManager.withWorker().then((s=>s.computedUnicodeHighlights(t,i,e)))}async computeDiff(t,i,e,s){const n=await this._workerManager.withWorker().then((n=>n.computeDiff(t,i,e,s)));return n?{identical:n.identical,quitEarly:n.quitEarly,changes:o(n.changes),moves:n.moves.map((t=>new sp(new gp(new fp(t[0],t[1]),new fp(t[2],t[3])),o(t[4]))))}:null;function o(t){return t.map((t=>{var i;return new mp(new fp(t[0],t[1]),new fp(t[2],t[3]),null===(i=t[4])||void 0===i?void 0:i.map((t=>new wp(new Ms(t[0],t[1],t[2],t[3]),new Ms(t[4],t[5],t[6],t[7])))))}))}}computeMoreMinimalEdits(t,i,e=!1){if(b(i)){if(!Sg(this._modelService,t))return Promise.resolve(i);const s=re.create(),n=this._workerManager.withWorker().then((s=>s.computeMoreMinimalEdits(t,i,e)));return n.finally((()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",t.toString(!0),s.elapsed()))),Promise.race([n,ac(1e3).then((()=>i))])}return Promise.resolve(void 0)}canNavigateValueSet(t){return Sg(this._modelService,t)}navigateValueSet(t,i,e){return this._workerManager.withWorker().then((s=>s.navigateValueSet(t,i,e)))}canComputeWordRanges(t){return Sg(this._modelService,t)}computeWordRanges(t,i){return this._workerManager.withWorker().then((e=>e.computeWordRanges(t,i)))}};Dg=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Cg(0,pr),Cg(1,yg),Cg(2,jh),Cg(3,Xd),Cg(4,xg)],Dg);class Eg{constructor(t,i,e,s){this.languageConfigurationService=s,this._debugDisplayName="wordbasedCompletions",this._workerManager=t,this._configurationService=i,this._modelService=e}async provideCompletionItems(t,i){const e=this._configurationService.getValue(t.uri,i,"editor");if("off"===e.wordBasedSuggestions)return;const s=[];if("currentDocument"===e.wordBasedSuggestions)Sg(this._modelService,t.uri)&&s.push(t.uri);else for(const i of this._modelService.getModels())Sg(this._modelService,i.uri)&&(i===t?s.unshift(i.uri):"allDocuments"!==e.wordBasedSuggestions&&i.getLanguageId()!==t.getLanguageId()||s.push(i.uri));if(0===s.length)return;const n=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition(),o=t.getWordAtPosition(i),r=o?new Ms(i.lineNumber,o.startColumn,i.lineNumber,o.endColumn):Ms.fromPositions(i),h=r.setEndPosition(i.lineNumber,i.column),c=await this._workerManager.withWorker(),a=await c.textualSuggest(s,null==o?void 0:o.word,n);return a?{duration:a.duration,suggestions:a.words.map((t=>({kind:18,label:t,insertText:t,range:{insert:h,replace:r}})))}:void 0}}class Ag extends te{constructor(t,i){super(),this.languageConfigurationService=i,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=(new Date).getTime(),this._register(new Ja).cancelAndSet((()=>this._checkStopIdleWorker()),Math.round(15e4),Wn),this._register(this._modelService.onModelRemoved((()=>this._checkStopEmptyWorker())))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&(new Date).getTime()-this._lastWorkerUsedTime>3e5&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new Tg(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class Mg extends te{constructor(t,i,e){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=t,this._modelService=i,!e){const t=new fc;t.cancelAndSet((()=>this._checkStopModelSync()),Math.round(3e4)),this._register(t)}}dispose(){for(const t in this._syncedModels)Qi(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(t,i){for(const e of t){const t=e.toString();this._syncedModels[t]||this._beginModelSync(e,i),this._syncedModels[t]&&(this._syncedModelsLastUsedTime[t]=(new Date).getTime())}}_checkStopModelSync(){const t=(new Date).getTime(),i=[];for(const e in this._syncedModelsLastUsedTime)t-this._syncedModelsLastUsedTime[e]>6e4&&i.push(e);for(const t of i)this._stopModelSync(t)}_beginModelSync(t,i){const e=this._modelService.getModel(t);if(!e)return;if(!i&&e.isTooLargeForSyncing())return;const s=t.toString();this._proxy.acceptNewModel({url:e.uri.toString(),lines:e.getLinesContent(),EOL:e.getEOL(),versionId:e.getVersionId()});const n=new Xi;n.add(e.onDidChangeContent((t=>{this._proxy.acceptModelChanged(s.toString(),t)}))),n.add(e.onWillDispose((()=>{this._stopModelSync(s)}))),n.add(Yi((()=>{this._proxy.acceptRemovedModel(s)}))),this._syncedModels[s]=n}_stopModelSync(t){const i=this._syncedModels[t];delete this._syncedModels[t],delete this._syncedModelsLastUsedTime[t],Qi(i)}}class Lg{constructor(t){this._instance=t,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class Fg{constructor(t){this._workerClient=t}fhr(t,i){return this._workerClient.fhr(t,i)}}class Tg extends te{constructor(t,i,e,s){super(),this.languageConfigurationService=s,this._disposed=!1,this._modelService=t,this._keepIdleModels=i,this._workerFactory=new Tu(e),this._worker=null,this._modelManager=null}fhr(t,i){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new Du(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new Fg(this)))}catch(t){vu(t),this._worker=new Lg(new bg(new Fg(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,(t=>(vu(t),this._worker=new Lg(new bg(new Fg(this),null)),this._getOrCreateWorker().getProxyObject())))}_getOrCreateModelManager(t){return this._modelManager||(this._modelManager=this._register(new Mg(t,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(t,i=!1){return this._disposed?Promise.reject(function(){const t=new Error(Wi);return t.name=t.message,t}()):this._getProxy().then((e=>(this._getOrCreateModelManager(e).ensureSyncedResources(t,i),e)))}computedUnicodeHighlights(t,i,e){return this._withSyncedResources([t]).then((s=>s.computeUnicodeHighlights(t.toString(),i,e)))}computeDiff(t,i,e,s){return this._withSyncedResources([t,i],!0).then((n=>n.computeDiff(t.toString(),i.toString(),e,s)))}computeMoreMinimalEdits(t,i,e){return this._withSyncedResources([t]).then((s=>s.computeMoreMinimalEdits(t.toString(),i,e)))}computeLinks(t){return this._withSyncedResources([t]).then((i=>i.computeLinks(t.toString())))}computeDefaultDocumentColors(t){return this._withSyncedResources([t]).then((i=>i.computeDefaultDocumentColors(t.toString())))}async textualSuggest(t,i,e){const s=await this._withSyncedResources(t),n=e.source,o=e.flags;return s.textualSuggest(t.map((t=>t.toString())),i,n,o)}computeWordRanges(t,i){return this._withSyncedResources([t]).then((e=>{const s=this._modelService.getModel(t);if(!s)return Promise.resolve(null);const n=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId()).getWordDefinition(),o=n.source,r=n.flags;return e.computeWordRanges(t.toString(),i,o,r)}))}navigateValueSet(t,i,e){return this._withSyncedResources([t]).then((s=>{const n=this._modelService.getModel(t);if(!n)return null;const o=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),r=o.source,h=o.flags;return s.navigateValueSet(t.toString(),i,e,r,h)}))}dispose(){super.dispose(),this._disposed=!0}}class Rg extends Tg{constructor(t,i,e){super(t,e.keepIdleModels||!1,e.label,i),this._foreignModuleId=e.moduleId,this._foreignModuleCreateData=e.createData||null,this._foreignModuleHost=e.host||null,this._foreignProxy=null}fhr(t,i){if(!this._foreignModuleHost||"function"!=typeof this._foreignModuleHost[t])return Promise.reject(new Error("Missing method "+t+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[t].apply(this._foreignModuleHost,i))}catch(t){return Promise.reject(t)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then((t=>{const i=this._foreignModuleHost?et(this._foreignModuleHost):[];return t.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,i).then((i=>{this._foreignModuleCreateData=null;const e=(i,e)=>t.fmr(i,e),s=(t,i)=>function(){const e=Array.prototype.slice.call(arguments,0);return i(t,e)},n={};for(const t of i)n[t]=s(t,e);return n}))}))),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(t){return this._withSyncedResources(t).then((()=>this.getProxy()))}}const Og={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},Ig=new class{clone(){return this}equals(t){return this===t}};function _g(t,i){return new Ns([new _s(0,"",t)],i)}function Ng(t,i){const e=new Uint32Array(2);return e[0]=0,e[1]=(32768|t|2<<24)>>>0,new Bs(e,null===i?Ig:i)}class Bg{static getLanguageId(t){return(255&t)>>>0}static getTokenType(t){return(768&t)>>>8}static containsBalancedBrackets(t){return!!(1024&t)}static getFontStyle(t){return(30720&t)>>>11}static getForeground(t){return(16744448&t)>>>15}static getBackground(t){return(4278190080&t)>>>24}static getClassNameFromMetadata(t){let i="mtk"+this.getForeground(t);const e=this.getFontStyle(t);return 1&e&&(i+=" mtki"),2&e&&(i+=" mtkb"),4&e&&(i+=" mtku"),8&e&&(i+=" mtks"),i}static getInlineStyleFromMetadata(t,i){const e=this.getForeground(t),s=this.getFontStyle(t);let n=`color: ${i[e]};`;1&s&&(n+="font-style: italic;"),2&s&&(n+="font-weight: bold;");let o="";return 4&s&&(o+=" underline"),8&s&&(o+=" line-through"),o&&(n+=`text-decoration:${o};`),n}static getPresentationFromMetadata(t){const i=this.getForeground(t),e=this.getFontStyle(t);return{foreground:i,italic:Boolean(1&e),bold:Boolean(2&e),underline:Boolean(4&e),strikethrough:Boolean(8&e)}}}class Pg{static createEmpty(t,i){const e=Pg.defaultTokenMetadata,s=new Uint32Array(2);return s[0]=t.length,s[1]=e,new Pg(s,t,i)}constructor(t,i,e){this._lineTokensBrand=void 0,this._tokens=t,this._tokensCount=this._tokens.length>>>1,this._text=i,this._languageIdCodec=e}equals(t){return t instanceof Pg&&this.slicedEquals(t,0,this._tokensCount)}slicedEquals(t,i,e){if(this._text!==t._text)return!1;if(this._tokensCount!==t._tokensCount)return!1;const s=i<<1,n=s+(e<<1);for(let i=s;i0?this._tokens[t-1<<1]:0}getMetadata(t){return this._tokens[1+(t<<1)]}getLanguageId(t){const i=Bg.getLanguageId(this._tokens[1+(t<<1)]);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(t){return Bg.getTokenType(this._tokens[1+(t<<1)])}getForeground(t){return Bg.getForeground(this._tokens[1+(t<<1)])}getClassName(t){return Bg.getClassNameFromMetadata(this._tokens[1+(t<<1)])}getInlineStyle(t,i){return Bg.getInlineStyleFromMetadata(this._tokens[1+(t<<1)],i)}getPresentation(t){return Bg.getPresentationFromMetadata(this._tokens[1+(t<<1)])}getEndOffset(t){return this._tokens[t<<1]}findTokenIndexAtOffset(t){return Pg.findIndexInTokensArray(this._tokens,t)}inflate(){return this}sliceAndInflate(t,i,e){return new $g(this,t,i,e)}static convertToEndOffset(t,i){const e=(t.length>>>1)-1;for(let i=0;i>>1)-1;for(;ei&&(s=n)}return e}withInserted(t){if(0===t.length)return this;let i=0,e=0,s="";const n=new Array;let o=0;for(;;){const r=io&&(s+=this._text.substring(o,h.offset),n.push(s.length,this._tokens[1+(i<<1)]),o=h.offset),s+=h.text,n.push(s.length,h.tokenMetadata),e++}}return new Pg(new Uint32Array(n),s,this._languageIdCodec)}}Pg.defaultTokenMetadata=33587200;class $g{constructor(t,i,e,s){this._source=t,this._startOffset=i,this._endOffset=e,this._deltaOffset=s,this._firstTokenIndex=t.findTokenIndexAtOffset(i),this._tokensCount=0;for(let i=this._firstTokenIndex,s=t.getCount();i=e);i++)this._tokensCount++}getMetadata(t){return this._source.getMetadata(this._firstTokenIndex+t)}getLanguageId(t){return this._source.getLanguageId(this._firstTokenIndex+t)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(t){return t instanceof $g&&this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getForeground(t){return this._source.getForeground(this._firstTokenIndex+t)}getEndOffset(t){const i=this._source.getEndOffset(this._firstTokenIndex+t);return Math.min(this._endOffset,i)-this._startOffset+this._deltaOffset}getClassName(t){return this._source.getClassName(this._firstTokenIndex+t)}getInlineStyle(t,i){return this._source.getInlineStyle(this._firstTokenIndex+t,i)}getPresentation(t){return this._source.getPresentation(this._firstTokenIndex+t)}findTokenIndexAtOffset(t){return this._source.findTokenIndexAtOffset(t+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class Wg{constructor(t,i,e,s){this.startColumn=t,this.endColumn=i,this.className=e,this.type=s,this._lineDecorationBrand=void 0}static _equals(t,i){return t.startColumn===i.startColumn&&t.endColumn===i.endColumn&&t.className===i.className&&t.type===i.type}static equalsArr(t,i){const e=t.length;if(e!==i.length)return!1;for(let s=0;s=n||(r[h++]=new Wg(Math.max(1,i.startColumn-s+1),Math.min(o+1,i.endColumn-s+1),i.className,i.type));return r}static filter(t,i,e,s){if(0===t.length)return[];const n=[];let o=0;for(let r=0,h=t.length;ri||(!c.isEmpty()||0!==h.type&&3!==h.type)&&(n[o++]=new Wg(c.startLineNumber===i?c.startColumn:e,c.endLineNumber===i?c.endColumn:s,h.inlineClassName,h.type))}return n}static _typeCompare(t,i){const e=[2,0,1,3];return e[t]-e[i]}static compare(t,i){if(t.startColumn!==i.startColumn)return t.startColumn-i.startColumn;if(t.endColumn!==i.endColumn)return t.endColumn-i.endColumn;const e=Wg._typeCompare(t.type,i.type);return 0!==e?e:t.className!==i.className?t.className0&&this.stopOffsets[0]0&&i=t){this.stopOffsets.splice(s,0,t),this.classNames.splice(s,0,i),this.metadata.splice(s,0,e);break}this.count++}}class Hg{static normalize(t,i){if(0===i.length)return[];const e=[],s=new zg;let n=0;for(let o=0,r=i.length;o1&&go(t.charCodeAt(h-2))&&h--,c>1&&go(t.charCodeAt(c-2))&&c--;const u=h-1,d=c-2;n=s.consumeLowerThan(u,n,e),0===s.count&&(n=u),s.insert(d,a,l)}return s.consumeLowerThan(1073741824,n,e),e}}class Vg{constructor(t,i,e,s){this.endIndex=t,this.type=i,this.metadata=e,this.containsRTL=s,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class Ug{constructor(t,i){this.startOffset=t,this.endOffset=i}equals(t){return this.startOffset===t.startOffset&&this.endOffset===t.endOffset}}class qg{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d,f,p,g,m,w,v){this.useMonospaceOptimizations=t,this.canUseHalfwidthRightwardsArrow=i,this.lineContent=e,this.continuesWithWrappedLine=s,this.isBasicASCII=n,this.containsRTL=o,this.fauxIndentLength=r,this.lineTokens=h,this.lineDecorations=c.sort(Wg.compare),this.tabSize=a,this.startVisibleColumn=l,this.spaceWidth=u,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===g?4:"boundary"===g?1:"selection"===g?2:"trailing"===g?3:0,this.renderControlCharacters=m,this.fontLigatures=w,this.selectionsOnLine=v&&v.sort(((t,i)=>t.startOffset>>16}static getCharIndex(t){return(65535&t)>>>0}constructor(t,i){this.length=t,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(t,i,e,s){this._data[t-1]=(i<<16|e)>>>0,this._horizontalOffset[t-1]=s}getHorizontalOffset(t){return 0===this._horizontalOffset.length?0:this._horizontalOffset[t-1]}charOffsetToPartData(t){return 0===this.length?0:t<0?this._data[0]:t>=this.length?this._data[this.length-1]:this._data[t]}getDomPosition(t){const i=this.charOffsetToPartData(t-1),e=Gg.getPartIndex(i),s=Gg.getCharIndex(i);return new Kg(e,s)}getColumn(t,i){return this.partDataToCharOffset(t.partIndex,i,t.charIndex)+1}partDataToCharOffset(t,i,e){if(0===this.length)return 0;const s=(t<<16|e)>>>0;let n=0,o=this.length-1;for(;n+1>>1,i=this._data[t];if(i===s)return t;i>s?o=t:n=t}if(n===o)return n;const r=this._data[n],h=this._data[o];if(r===s)return n;if(h===s)return o;const c=Gg.getPartIndex(r),a=Gg.getCharIndex(r);let l;return l=c!==Gg.getPartIndex(h)?i:Gg.getCharIndex(h),e-a<=l-e?n:o}}class Zg{constructor(t,i,e){this._renderLineOutputBrand=void 0,this.characterMapping=t,this.containsRTL=i,this.containsForeignElements=e}}function Qg(t,i){if(0===t.lineContent.length){if(t.lineDecorations.length>0){i.appendString("");let e=0,s=0,n=0;for(const o of t.lineDecorations)1!==o.type&&2!==o.type||(i.appendString(''),1===o.type&&(n|=1,e++),2===o.type&&(n|=2,s++));i.appendString("");const o=new Gg(1,e+s);return o.setColumnInfo(1,e,0,0),new Zg(o,!1,n)}return i.appendString(""),new Zg(new Gg(0,0),!1,0)}return function(t,i){const e=t.fontIsMonospace,s=t.canUseHalfwidthRightwardsArrow,n=t.containsForeignElements,o=t.lineContent,r=t.len,h=t.isOverflowing,c=t.overflowingCharCount,a=t.parts,l=t.fauxIndentLength,u=t.tabSize,d=t.startVisibleColumn,f=t.containsRTL,p=t.spaceWidth,g=t.renderSpaceCharCode,m=t.renderWhitespace,w=t.renderControlCharacters,v=new Gg(r+1,a.length);let b=!1,y=0,k=d,x=0,C=0,S=0;i.appendString(f?'':"");for(let t=0,h=a.length;t=l&&(i+=s)}}for(E&&(i.appendString(' style="width:'),i.appendString(String(p*e)),i.appendString('px"')),i.appendASCIICharCode(62);y1?8594:65515);for(let t=2;t<=n;t++)i.appendCharCode(160)}else e=2,n=1,i.appendCharCode(g),i.appendCharCode(8204);x+=e,C+=n,y>=l&&(k+=n)}}else for(i.appendASCIICharCode(62);y=l&&(k+=n)}A?S++:S=0,y>=r&&!b&&h.isPseudoAfter()&&(b=!0,v.setColumnInfo(y+1,t,x,C)),i.appendString("")}return b||v.setColumnInfo(r+1,a.length-1,x,C),h&&(i.appendString(''),i.appendString(ot(0,"Show more ({0})",function(t){return t<1024?ot(0,"{0} chars",t):t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1024/1024).toFixed(1)} MB`}(c))),i.appendString("")),i.appendString(""),new Zg(v,f,n)}(function(t){const i=t.lineContent;let e,s,n;-1!==t.stopRenderingLineAfter&&t.stopRenderingLineAfter0&&(o[r++]=new Vg(s,"",0,!1));let h=s;for(let c=0,a=e.getCount();c=n){const e=!!i&&So(t.substring(h,n));o[r++]=new Vg(n,l,0,e);break}const u=!!i&&So(t.substring(h,a));o[r++]=new Vg(a,l,0,u),h=a}return o}(i,t.containsRTL,t.lineTokens,t.fauxIndentLength,n);t.renderControlCharacters&&!t.isBasicASCII&&(o=function(t,i){const e=[];let s=new Vg(0,"",0,!1),n=0;for(const o of i){const i=o.endIndex;for(;ns.endIndex&&(s=new Vg(n,o.type,o.metadata,o.containsRTL),e.push(s)),s=new Vg(n+1,"mtkcontrol",o.metadata,!1),e.push(s));n>s.endIndex&&(s=new Vg(i,o.type,o.metadata,o.containsRTL),e.push(s))}return e}(i,o)),(4===t.renderWhitespace||1===t.renderWhitespace||2===t.renderWhitespace&&t.selectionsOnLine||3===t.renderWhitespace&&!t.continuesWithWrappedLine)&&(o=function(t,i,e,s){const n=t.continuesWithWrappedLine,o=t.fauxIndentLength,r=t.tabSize,h=t.startVisibleColumn,c=t.useMonospaceOptimizations,a=t.selectionsOnLine,l=1===t.renderWhitespace,u=3===t.renderWhitespace,d=t.renderSpaceWidth!==t.spaceWidth,f=[];let p=0,g=0,m=s[g].type,w=s[g].containsRTL,v=s[g].endIndex;const b=s.length;let y,k=!1,x=to(i);-1===x?(k=!0,x=e,y=e):y=eo(i);let C=!1,S=0,D=a&&a[S],E=h%r;for(let t=o;t=D.endOffset&&(S++,D=a&&a[S]),ty)h=!0;else if(9===n)h=!0;else if(32===n)if(l)if(C)h=!0;else{const s=t+1t),h&&u&&(h=k||t>y),h&&w&&t>=x&&t<=y&&(h=!1),C){if(!h||!c&&E>=r){if(d)for(let i=(p>0?f[p-1].endIndex:o)+1;i<=t;i++)f[p++]=new Vg(i,"mtkw",1,!1);else f[p++]=new Vg(t,"mtkw",1,!1);E%=r}}else(t===v||h&&t>o)&&(f[p++]=new Vg(t,m,0,w),E%=r);for(9===n?E=r:Lo(n)?E+=2:E++,C=h;t===v&&(g++,g0?i.charCodeAt(e-1):0,s=e>1?i.charCodeAt(e-2):0;32===t&&32!==s&&9!==s||(A=!0)}else A=!0;if(A)if(d)for(let t=(p>0?f[p-1].endIndex:o)+1;t<=e;t++)f[p++]=new Vg(t,"mtkw",1,!1);else f[p++]=new Vg(e,"mtkw",1,!1);else f[p++]=new Vg(e,m,0,w);return f}(t,i,n,o));let r=0;if(t.lineDecorations.length>0){for(let i=0,e=t.lineDecorations.length;ia&&(a=t.startOffset,h[c++]=new Vg(a,l,u,d)),!(t.endOffset+1<=s)){a=s,h[c++]=new Vg(a,l+" "+t.className,u|t.metadata,d);break}a=t.endOffset+1,h[c++]=new Vg(a,l+" "+t.className,u|t.metadata,d),r++}s>a&&(a=s,h[c++]=new Vg(a,l,u,d))}const l=e[e.length-1].endIndex;if(r=50&&(n[o++]=new Vg(a+1,i,e,c),l=a+1,a=-1);l!==h&&(n[o++]=new Vg(h,i,e,c))}else n[o++]=r;s=h}else for(let t=0,e=i.length;t50){const t=e.type,i=e.metadata,c=e.containsRTL,a=Math.ceil(h/50);for(let e=1;e=8234&&t<=8238||t>=8294&&t<=8297||t>=8206&&t<=8207||1564===t}class im{constructor(t,i,e,s){this._viewportBrand=void 0,this.top=0|t,this.left=0|i,this.width=0|e,this.height=0|s}}class em{constructor(t,i){this.tabSize=t,this.data=i}}class sm{constructor(t,i,e,s,n,o,r){this._viewLineDataBrand=void 0,this.content=t,this.continuesWithWrappedLine=i,this.minColumn=e,this.maxColumn=s,this.startVisibleColumn=n,this.tokens=o,this.inlineDecorations=r}}class nm{constructor(t,i,e,s,n,o,r,h,c,a){this.minColumn=t,this.maxColumn=i,this.content=e,this.continuesWithWrappedLine=s,this.isBasicASCII=nm.isBasicASCII(e,o),this.containsRTL=nm.containsRTL(e,this.isBasicASCII,n),this.tokens=r,this.inlineDecorations=h,this.tabSize=c,this.startVisibleColumn=a}static isBasicASCII(t,i){return!i||Eo(t)}static containsRTL(t,i,e){return!(i||!e)&&So(t)}}class om{constructor(t,i,e){this.range=t,this.inlineClassName=i,this.type=e}}class rm{constructor(t,i,e,s){this.startOffset=t,this.endOffset=i,this.inlineClassName=e,this.inlineClassNameAffectsLetterSpacing=s}toInlineDecoration(t){return new om(new Ms(t,this.startOffset+1,t,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class hm{constructor(t,i){this._viewModelDecorationBrand=void 0,this.range=t,this.options=i}}class cm{constructor(t,i,e){this.color=t,this.zIndex=i,this.data=e}static compareByRenderingProps(t,i){return t.zIndex===i.zIndex?t.colori.color?1:0:t.zIndex-i.zIndex}static equals(t,i){return t.color===i.color&&t.zIndex===i.zIndex&&l(t.data,i.data)}static equalsArr(t,i){return l(t,i,cm.equals)}}function am(t){return"string"==typeof t}function lm(t){return!am(t)}function um(t){return!t}function dm(t,i){return t.ignoreCase&&i?i.toLowerCase():i}function fm(t){return t.replace(/[&<>'"_]/g,"-")}function pm(t,i){return new Error(`${t.languageId}: ${i}`)}function gm(t,i,e,s,n){let o=null;return i.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(i,r,h,c,a,l,u){return um(h)?um(c)?!um(a)&&a0;){const i=t.tokenizer[e];if(i)return i;const s=e.lastIndexOf(".");e=s<0?null:e.substr(0,s)}return null}var wm;class vm{static create(t,i){return this._INSTANCE.create(t,i)}constructor(t){this._maxCacheDepth=t,this._entries=Object.create(null)}create(t,i){if(null!==t&&t.depth>=this._maxCacheDepth)return new bm(t,i);let e=bm.getStackElementId(t);e.length>0&&(e+="|"),e+=i;let s=this._entries[e];return s||(s=new bm(t,i),this._entries[e]=s,s)}}vm._INSTANCE=new vm(5);class bm{constructor(t,i){this.parent=t,this.state=i,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(t){let i="";for(;null!==t;)i.length>0&&(i+="|"),i+=t.state,t=t.parent;return i}static _equals(t,i){for(;null!==t&&null!==i;){if(t===i)return!0;if(t.state!==i.state)return!1;t=t.parent,i=i.parent}return null===t&&null===i}equals(t){return bm._equals(this,t)}push(t){return vm.create(this,t)}pop(){return this.parent}popall(){let t=this;for(;t.parent;)t=t.parent;return t}switchTo(t){return vm.create(this.parent,t)}}class ym{constructor(t,i){this.languageId=t,this.state=i}equals(t){return this.languageId===t.languageId&&this.state.equals(t.state)}clone(){return this.state.clone()===this.state?this:new ym(this.languageId,this.state)}}class km{static create(t,i){return this._INSTANCE.create(t,i)}constructor(t){this._maxCacheDepth=t,this._entries=Object.create(null)}create(t,i){if(null!==i)return new xm(t,i);if(null!==t&&t.depth>=this._maxCacheDepth)return new xm(t,i);const e=bm.getStackElementId(t);let s=this._entries[e];return s||(s=new xm(t,null),this._entries[e]=s,s)}}km._INSTANCE=new km(5);class xm{constructor(t,i){this.stack=t,this.embeddedLanguageData=i}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:km.create(this.stack,this.embeddedLanguageData)}equals(t){return t instanceof xm&&!!this.stack.equals(t.stack)&&(null===this.embeddedLanguageData&&null===t.embeddedLanguageData||null!==this.embeddedLanguageData&&null!==t.embeddedLanguageData&&this.embeddedLanguageData.equals(t.embeddedLanguageData))}}class Cm{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(t){this._languageId=t}emit(t,i){this._lastTokenType===i&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=i,this._lastTokenLanguage=this._languageId,this._tokens.push(new _s(t,i,this._languageId)))}nestedLanguageTokenize(t,i,e,s){const n=e.languageId,o=e.state,r=Zs.get(n);if(!r)return this.enterLanguage(n),this.emit(s,""),o;const h=r.tokenize(t,i,o);if(0!==s)for(const t of h.tokens)this._tokens.push(new _s(t.offset+s,t.type,t.language));else this._tokens=this._tokens.concat(h.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,h.endState}finalize(t){return new Ns(this._tokens,t)}}class Sm{constructor(t,i){this._languageService=t,this._theme=i,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(t){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(t)}emit(t,i){const e=1024|this._theme.match(this._currentLanguageId,i);this._lastTokenMetadata!==e&&(this._lastTokenMetadata=e,this._tokens.push(t),this._tokens.push(e))}static _merge(t,i,e){const s=null!==t?t.length:0,n=i.length,o=null!==e?e.length:0;if(0===s&&0===n&&0===o)return new Uint32Array(0);if(0===s&&0===n)return e;if(0===n&&0===o)return t;const r=new Uint32Array(s+n+o);null!==t&&r.set(t);for(let t=0;t{if(o)return;let i=!1;for(let e=0,s=t.changedLanguages.length;e{t.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))})))}getLoadStatus(){const t=[];for(const i in this._embeddedLanguages){const e=Zs.get(i);if(e){if(e instanceof wm){const i=e.getLoadStatus();!1===i.loaded&&t.push(i.promise)}}else Zs.isResolved(i)||t.push(Zs.getOrCreate(i))}return 0===t.length?{loaded:!0}:{loaded:!1,promise:Promise.all(t).then((()=>{}))}}getInitialState(){const t=vm.create(null,this._lexer.start);return km.create(t,null)}tokenize(t,i,e){if(t.length>=this._maxTokenizationLineLength)return _g(this._languageId,e);const s=new Cm,n=this._tokenize(t,i,e,s);return s.finalize(n)}tokenizeEncoded(t,i,e){if(t.length>=this._maxTokenizationLineLength)return Ng(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),e);const s=new Sm(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),n=this._tokenize(t,i,e,s);return s.finalize(n)}_tokenize(t,i,e,s){return e.embeddedLanguageData?this._nestedTokenize(t,i,e,0,s):this._myTokenize(t,i,e,0,s)}_findLeavingNestedLanguageOffset(t,i){let e=this._lexer.tokenizer[i.stack.state];if(!e&&(e=mm(this._lexer,i.stack.state),!e))throw pm(this._lexer,"tokenizer state is not defined: "+i.stack.state);let s=-1,n=!1;for(const i of e){if(!lm(i.action)||"@pop"!==i.action.nextEmbedded)continue;n=!0;let e=i.regex;const o=i.regex.source;if("^(?:"===o.substr(0,4)&&")"===o.substr(o.length-1,1)){const t=(e.ignoreCase?"i":"")+(e.unicode?"u":"");e=new RegExp(o.substr(4,o.length-5),t)}const r=t.search(e);-1===r||0!==r&&i.matchOnlyAtLineStart||(-1===s||r0&&n.nestedLanguageTokenize(r,!1,e.embeddedLanguageData,s);const h=t.substring(o);return this._myTokenize(h,i,e,s+o,n)}_safeRuleName(t){return t?t.name:"(unknown)"}_myTokenize(t,i,e,s,n){n.enterLanguage(this._languageId);const o=t.length,r=i&&this._lexer.includeLF?t+"\n":t,h=r.length;let c=e.embeddedLanguageData,a=e.stack,l=0,u=null,d=!0;for(;d||l=h)break;d=!1;let t=this._lexer.tokenizer[w];if(!t&&(t=mm(this._lexer,w),!t))throw pm(this._lexer,"tokenizer state is not defined: "+w);const i=r.substr(l);for(const e of t)if((0===l||!e.matchOnlyAtLineStart)&&(v=i.match(e.regex),v)){b=v[0],y=e.action;break}}if(v||(v=[""],b=""),y||(l=this._lexer.maxStack)throw pm(this._lexer,"maximum tokenizer stack size reached: ["+a.state+","+a.parent.state+",...]");a=a.push(w)}else if("@pop"===y.next){if(a.depth<=1)throw pm(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(k));a=a.pop()}else if("@popall"===y.next)a=a.popall();else{let t=gm(this._lexer,y.next,b,v,w);if("@"===t[0]&&(t=t.substr(1)),!mm(this._lexer,t))throw pm(this._lexer,"trying to set a next state '"+t+"' that is undefined in rule: "+this._safeRuleName(k));a=a.push(t)}}y.log&&"string"==typeof y.log&&(f=this._lexer,p=this._lexer.languageId+": "+gm(this._lexer,y.log,b,v,w),console.log(`${f.languageId}: ${p}`))}if(null===C)throw pm(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(k));const S=e=>{const o=this._languageService.getLanguageIdByLanguageName(e)||this._languageService.getLanguageIdByMimeType(e)||e,r=this._getNestedEmbeddedLanguageData(o);if(l0)throw pm(this._lexer,"groups cannot be nested: "+this._safeRuleName(k));if(v.length!==C.length+1)throw pm(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(k));let t=0;for(let i=1;i=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([(Am=4,Mm=pd,function(t,i){Mm(t,i,Am)})],Dm);const Lm=Mu("standaloneColorizer",{createHTML:t=>t});class Fm{static colorizeElement(t,i,e,s){const n=(s=s||{}).theme||"vs",o=s.mimeType||e.getAttribute("lang")||e.getAttribute("data-lang");if(!o)return console.error("Mode not detected"),Promise.resolve();const r=i.getLanguageIdByMimeType(o)||o;t.setTheme(n);const h=e.firstChild?e.firstChild.nodeValue:"";return e.className+=" "+n,this.colorize(i,h||"",r,s).then((t=>{var i;const s=null!==(i=null==Lm?void 0:Lm.createHTML(t))&&void 0!==i?i:t;e.innerHTML=s}),(t=>console.error(t)))}static async colorize(t,i,e,s){const n=t.languageIdCodec;let o=4;s&&"number"==typeof s.tabSize&&(o=s.tabSize),Ro(i)&&(i=i.substr(1));const r=Xn(i);if(!t.isRegisteredLanguageId(e))return Tm(r,o,n);const h=await Zs.getOrCreate(e);return h?function(t,i,e,s){return new Promise(((n,o)=>{const r=()=>{const h=function(t,i,e,s){let n=[],o=e.getInitialState();for(let r=0,h=t.length;r"),o=c.endState}return n.join("")}(t,i,e,s);if(e instanceof Dm){const t=e.getLoadStatus();if(!1===t.loaded)return void t.promise.then(r,o)}n(h)};r()}))}(r,o,h,n):Tm(r,o,n)}static colorizeLine(t,i,e,s,n=4){const o=nm.isBasicASCII(t,i),r=nm.containsRTL(t,o,e);return Yg(new qg(!1,!0,t,!1,o,r,0,s,[],n,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(t,i,e=4){const s=t.getLineContent(i);t.tokenization.forceTokenization(i);const n=t.tokenization.getLineTokens(i).inflate();return this.colorizeLine(s,t.mightContainNonBasicASCII(),t.mightContainRTL(),n,e)}}function Tm(t,i,e){let s=[];const n=new Uint32Array(2);n[0]=0,n[1]=33587200;for(let o=0,r=t.length;o")}return s.join("")}const Rm=2e4;let Om,Im,_m,Nm,Bm;function Pm(t){Om&&(Im.textContent!==t?(za(_m),Wm(Im,t)):(za(Im),Wm(_m,t)))}function $m(t){Om&&(Nm.textContent!==t?(za(Bm),Wm(Nm,t)):(za(Nm),Wm(Bm,t)))}function Wm(t,i){za(t),i.length>Rm&&(i=i.substr(0,Rm)),t.textContent=i,t.style.visibility="hidden",t.style.visibility="visible"}const jm=dr("markerDecorationsService");let zm=class{constructor(t,i){}dispose(){}};zm.ID="editor.contrib.markerDecorations",zm=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,jm)],zm),lu(zm.ID,zm,0);class Hm extends te{constructor(t,i){super(),this._onDidChange=this._register(new de),this.onDidChange=this._onDidChange.event,this._referenceDomElement=t,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,i)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let t=null;const i=()=>{t?this.observe({width:t.width,height:t.height}):this.observe()};let e=!1,s=!1;const n=()=>{if(e&&!s)try{e=!1,s=!0,i()}finally{Qa(Na(this._referenceDomElement),(()=>{s=!1,n()}))}};this._resizeObserver=new ResizeObserver((i=>{t=i&&i[0]&&i[0].contentRect?i[0].contentRect:null,e=!0,n()})),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(t){this.measureReferenceDomElement(!0,t)}measureReferenceDomElement(t,i){let e=0,s=0;i?(e=i.width,s=i.height):this._referenceDomElement&&(e=this._referenceDomElement.clientWidth,s=this._referenceDomElement.clientHeight),e=Math.max(5,e),s=Math.max(5,s),this._width===e&&this._height===s||(this._width=e,this._height=s,t&&this._onDidChange.fire())}}class Vm{constructor(t,i){this.key=t,this.migrate=i}apply(t){const i=Vm._read(t,this.key);this.migrate(i,(i=>Vm._read(t,i)),((i,e)=>Vm._write(t,i,e)))}static _read(t,i){if(void 0===t)return;const e=i.indexOf(".");if(e>=0){const s=i.substring(0,e);return this._read(t[s],i.substring(e+1))}return t[i]}static _write(t,i,e){const s=i.indexOf(".");if(s>=0){const n=i.substring(0,s);return t[n]=t[n]||{},void this._write(t[n],i.substring(s+1),e)}t[i]=e}}function Um(t,i){Vm.items.push(new Vm(t,i))}function qm(t,i){Um(t,((e,s,n)=>{if(void 0!==e)for(const[s,o]of i)if(e===s)return void n(t,o)}))}Vm.items=[],qm("wordWrap",[[!0,"on"],[!1,"off"]]),qm("lineNumbers",[[!0,"on"],[!1,"off"]]),qm("cursorBlinking",[["visible","solid"]]),qm("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),qm("renderLineHighlight",[[!0,"line"],[!1,"none"]]),qm("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),qm("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),qm("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),qm("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),qm("autoIndent",[[!1,"advanced"],[!0,"full"]]),qm("matchBrackets",[[!0,"always"],[!1,"never"]]),qm("renderFinalNewline",[[!0,"on"],[!1,"off"]]),qm("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),qm("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),qm("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),Um("autoClosingBrackets",((t,i,e)=>{!1===t&&(e("autoClosingBrackets","never"),void 0===i("autoClosingQuotes")&&e("autoClosingQuotes","never"),void 0===i("autoSurround")&&e("autoSurround","never"))})),Um("renderIndentGuides",((t,i,e)=>{void 0!==t&&(e("renderIndentGuides",void 0),void 0===i("guides.indentation")&&e("guides.indentation",!!t))})),Um("highlightActiveIndentGuide",((t,i,e)=>{void 0!==t&&(e("highlightActiveIndentGuide",void 0),void 0===i("guides.highlightActiveIndentation")&&e("guides.highlightActiveIndentation",!!t))}));const Km={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};Um("suggest.filteredTypes",((t,i,e)=>{if(t&&"object"==typeof t){for(const s of Object.entries(Km))!1===t[s[0]]&&void 0===i(`suggest.${s[1]}`)&&e(`suggest.${s[1]}`,!1);e("suggest.filteredTypes",void 0)}})),Um("quickSuggestions",((t,i,e)=>{if("boolean"==typeof t){const i=t?"on":"off";e("quickSuggestions",{comments:i,strings:i,other:i})}})),Um("experimental.stickyScroll.enabled",((t,i,e)=>{"boolean"==typeof t&&(e("experimental.stickyScroll.enabled",void 0),void 0===i("stickyScroll.enabled")&&e("stickyScroll.enabled",t))})),Um("experimental.stickyScroll.maxLineCount",((t,i,e)=>{"number"==typeof t&&(e("experimental.stickyScroll.maxLineCount",void 0),void 0===i("stickyScroll.maxLineCount")&&e("stickyScroll.maxLineCount",t))})),Um("codeActionsOnSave",((t,i,e)=>{if(t&&"object"==typeof t){let i=!1;const s={};for(const e of Object.entries(t))"boolean"==typeof e[1]?(i=!0,s[e[0]]=e[1]?"explicit":"never"):s[e[0]]=e[1];i&&e("codeActionsOnSave",s)}})),Um("codeActionWidget.includeNearbyQuickfixes",((t,i,e)=>{"boolean"==typeof t&&(e("codeActionWidget.includeNearbyQuickfixes",void 0),void 0===i("codeActionWidget.includeNearbyQuickFixes")&&e("codeActionWidget.includeNearbyQuickFixes",t))}));const Gm=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new de,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(t){this._tabFocus=t,this._onDidChangeTabFocus.fire(this._tabFocus)}},Zm=dr("accessibilityService"),Qm=new ch("accessibilityModeEnabled",!1),Jm=dr("accessibleNotificationService");let Ym=class extends te{constructor(t,i,e,s){super(),this._accessibilityService=s,this._onDidChange=this._register(new de),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new de),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new Xt,this.isSimpleWidget=t,this._containerObserver=this._register(new Hm(e,i.dimension)),this._rawOptions=sw(i),this._validatedOptions=ew.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(nr.onDidChangeZoomLevel((()=>this._recomputeOptions()))),this._register(Gm.onDidChangeTabFocus((()=>this._recomputeOptions()))),this._register(this._containerObserver.onDidChange((()=>this._recomputeOptions()))),this._register(ar.onDidChange((()=>this._recomputeOptions()))),this._register(Ho.onDidChange((()=>this._recomputeOptions()))),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized((()=>this._recomputeOptions())))}_recomputeOptions(){const t=this._computeOptions(),i=ew.checkEquals(this.options,t);null!==i&&(this.options=t,this._onDidChangeFast.fire(i),this._onDidChange.fire(i))}_computeOptions(){const t=this._readEnvConfiguration(),i=rr.createFromValidatedSettings(this._validatedOptions,t.pixelRatio,this.isSimpleWidget),e=this._readFontInfo(i),s={memory:this._computeOptionsMemory,outerWidth:t.outerWidth,outerHeight:t.outerHeight-this._reservedHeight,fontInfo:e,extraEditorClassName:t.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:t.emptySelectionClipboard,pixelRatio:t.pixelRatio,tabFocusMode:Gm.getTabFocusMode(),accessibilitySupport:t.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return ew.computeOptions(this._validatedOptions,s)}_readEnvConfiguration(){return{extraEditorClassName:Xm(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:qo||Uo,pixelRatio:Ho.value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(t){return ar.readFontInfo(t)}getRawOptions(){return this._rawOptions}updateOptions(t){const i=sw(t);ew.applyUpdate(this._rawOptions,i)&&(this._validatedOptions=ew.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(t){this._containerObserver.observe(t)}setIsDominatedByLongLines(t){this._isDominatedByLongLines!==t&&(this._isDominatedByLongLines=t,this._recomputeOptions())}setModelLineCount(t){const i=function(t){let i=0;for(;t;)t=Math.floor(t/10),i++;return i||1}(t);this._lineNumbersDigitCount!==i&&(this._lineNumbersDigitCount=i,this._recomputeOptions())}setViewLineCount(t){this._viewLineCount!==t&&(this._viewLineCount=t,this._recomputeOptions())}setReservedHeight(t){this._reservedHeight!==t&&(this._reservedHeight=t,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(t){this._glyphMarginDecorationLaneCount!==t&&(this._glyphMarginDecorationLaneCount=t,this._recomputeOptions())}};function Xm(){let t="";return Go||Zo||(t+="no-user-select "),Go&&(t+="no-minimap-shadow ",t+="enable-user-select "),Ct&&(t+="mac "),t}Ym=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,Zm)],Ym);class tw{constructor(){this._values=[]}_read(t){return this._values[t]}get(t){return this._values[t]}_write(t,i){this._values[t]=i}}class iw{constructor(){this._values=[]}_read(t){if(t>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[t]}get(t){return this._read(t)}_write(t,i){this._values[t]=i}}class ew{static validateOptions(t){const i=new tw;for(const e of Oi)i._write(e.id,e.validate("_never_"===e.name?void 0:t[e.name]));return i}static computeOptions(t,i){const e=new iw;for(const s of Oi)e._write(s.id,s.compute(i,e,t._read(s.id)));return e}static _deepEquals(t,i){if("object"!=typeof t||"object"!=typeof i||!t||!i)return t===i;if(Array.isArray(t)||Array.isArray(i))return!(!Array.isArray(t)||!Array.isArray(i))&&l(t,i);if(Object.keys(t).length!==Object.keys(i).length)return!1;for(const e in t)if(!ew._deepEquals(t[e],i[e]))return!1;return!0}static checkEquals(t,i){const e=[];let s=!1;for(const n of Oi){const o=!ew._deepEquals(t._read(n.id),i._read(n.id));e[n.id]=o,o&&(s=!0)}return s?new Yt(e):null}static applyUpdate(t,i){let e=!1;for(const s of Oi)if(i.hasOwnProperty(s.name)){const n=s.applyUpdate(t[s.name],i[s.name]);t[s.name]=n.newValue,e=e||n.didChange}return e}}function sw(t){const i=Q(t);return function(t){Vm.items.forEach((i=>i.apply(t)))}(i),i}function nw(t,i,e){let s=null,n=null;if("function"==typeof e.value?(s="value",n=e.value,0!==n.length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof e.get&&(s="get",n=e.get),!n)throw new Error("not supported");const o=`$memoize$${i}`;e[s]=function(...t){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,t)}),this[o]}}var ow;!function(t){t.Tap="-monaco-gesturetap",t.Change="-monaco-gesturechange",t.Start="-monaco-gesturestart",t.End="-monaco-gesturesend",t.Contextmenu="-monaco-gesturecontextmenu"}(ow||(ow={}));class rw extends te{constructor(){super(),this.dispatched=!1,this.targets=new Ut,this.ignoreTargets=new Ut,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(he.runAndSubscribe(Wa,(({window:t,disposables:i})=>{i.add(Va(t.document,"touchstart",(t=>this.onTouchStart(t)),{passive:!1})),i.add(Va(t.document,"touchend",(i=>this.onTouchEnd(t,i)))),i.add(Va(t.document,"touchmove",(t=>this.onTouchMove(t)),{passive:!1}))}),{window:$n,disposables:this._store}))}static addTarget(t){return rw.isTouchDevice()?(rw.INSTANCE||(rw.INSTANCE=new rw),Yi(rw.INSTANCE.targets.push(t))):te.None}static ignoreTarget(t){return rw.isTouchDevice()?(rw.INSTANCE||(rw.INSTANCE=new rw),Yi(rw.INSTANCE.ignoreTargets.push(t))):te.None}static isTouchDevice(){return"ontouchstart"in $n||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(t){const i=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let e=0,s=t.targetTouches.length;e=rw.HOLD_DELAY&&Math.abs(r.initialPageX-a(r.rollingPageX))<30&&Math.abs(r.initialPageY-a(r.rollingPageY))<30){const t=this.newGestureEvent(ow.Contextmenu,r.initialTarget);t.pageX=a(r.rollingPageX),t.pageY=a(r.rollingPageY),this.dispatchEvent(t)}else if(1===s){const i=a(r.rollingPageX),s=a(r.rollingPageY),n=a(r.rollingTimestamps)-r.rollingTimestamps[0],o=i-r.rollingPageX[0],h=s-r.rollingPageY[0],c=[...this.targets].filter((t=>r.initialTarget instanceof Node&&t.contains(r.initialTarget)));this.inertia(t,c,e,Math.abs(o)/n,o>0?1:-1,i,Math.abs(h)/n,h>0?1:-1,s)}this.dispatchEvent(this.newGestureEvent(ow.End,r.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}newGestureEvent(t,i){const e=document.createEvent("CustomEvent");return e.initEvent(t,!1,!0),e.initialTarget=i,e.tapCount=0,e}dispatchEvent(t){if(t.type===ow.Tap){const i=(new Date).getTime();let e=0;e=i-this._lastSetTapCountTime>rw.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=i,t.tapCount=e}else t.type!==ow.Change&&t.type!==ow.Contextmenu||(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(t.initialTarget))return;for(const i of this.targets)i.contains(t.initialTarget)&&(i.dispatchEvent(t),this.dispatched=!0)}}inertia(t,i,e,s,n,o,r,h,c){this.handle=Qa(t,(()=>{const a=Date.now(),l=a-e;let u=0,d=0,f=!0;(s+=rw.SCROLL_FRICTION*l)>0&&(f=!1,u=n*s*l),(r+=rw.SCROLL_FRICTION*l)>0&&(f=!1,d=h*r*l);const p=this.newGestureEvent(ow.Change);p.translationX=u,p.translationY=d,i.forEach((t=>t.dispatchEvent(p))),f||this.inertia(t,i,a,s,n,o+u,r,h,c+d)}))}onTouchMove(t){const i=Date.now();for(let e=0,s=t.changedTouches.length;e3&&(n.rollingPageX.shift(),n.rollingPageY.shift(),n.rollingTimestamps.shift()),n.rollingPageX.push(s.pageX),n.rollingPageY.push(s.pageY),n.rollingTimestamps.push(i)}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}}rw.SCROLL_FRICTION=-.005,rw.HOLD_DELAY=700,rw.CLEAR_TAP_COUNT_TIME=400,function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);o>3&&r&&Object.defineProperty(i,e,r)}([nw],rw,"isTouchDevice",null);class hw{constructor(){this._hooks=new Xi,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,i){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const e=this._onStopCallback;this._onStopCallback=null,t&&e&&e(i)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,i,e,s,n){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=s,this._onStopCallback=n;let o=t;try{t.setPointerCapture(i),this._hooks.add(Yi((()=>{try{t.releasePointerCapture(i)}catch(t){}})))}catch(i){o=Na(t)}this._hooks.add(Va(o,Ll.POINTER_MOVE,(t=>{t.buttons===e?(t.preventDefault(),this._pointerMoveCallback(t)):this.stopMonitoring(!0)}))),this._hooks.add(Va(o,Ll.POINTER_UP,(()=>this.stopMonitoring(!0))))}}function cw(t){return`--vscode-${t.replace(/\./g,"-")}`}function aw(t){return`var(${cw(t)})`}const lw="base.contributions.colors",uw=new class{constructor(){this._onDidChangeSchema=new de,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(t,i,e,s=!1,n){this.colorsById[t]={id:t,description:e,defaults:i,needsTransparency:s,deprecationMessage:n};const o={type:"string",description:e,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return n&&(o.deprecationMessage=n),this.colorSchema.properties[t]=o,this.colorReferenceSchema.enum.push(t),this.colorReferenceSchema.enumDescriptions.push(e),this._onDidChangeSchema.fire(),t}getColors(){return Object.keys(this.colorsById).map((t=>this.colorsById[t]))}resolveDefaultColor(t,i){const e=this.colorsById[t];if(e&&e.defaults)return fy(e.defaults[i.type],i)}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((t,i)=>{const e=-1===t.indexOf(".")?0:1,s=-1===i.indexOf(".")?0:1;return e!==s?e-s:t.localeCompare(i)})).map((t=>`- \`${t}\`: ${this.colorsById[t].description}`)).join("\n")}};function dw(t,i,e,s,n){return uw.registerColor(t,i,e,s,n)}Dh.add(lw,uw);const fw=dw("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},ot(0,"Overall foreground color. This color is only used if not overridden by a component."));dw("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},ot(0,"Overall foreground for disabled elements. This color is only used if not overridden by a component."));const pw=dw("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},ot(0,"Overall foreground color for error messages. This color is only used if not overridden by a component."));dw("descriptionForeground",{light:"#717171",dark:ly(fw,.7),hcDark:ly(fw,.7),hcLight:ly(fw,.7)},ot(0,"Foreground color for description text providing additional information, for example for a label."));const gw=dw("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},ot(0,"The default color for icons in the workbench.")),mw=dw("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},ot(0,"Overall border color for focused elements. This color is only used if not overridden by a component.")),ww=dw("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},ot(0,"An extra border around elements to separate them from others for greater contrast.")),vw=dw("contrastActiveBorder",{light:null,dark:null,hcDark:mw,hcLight:mw},ot(0,"An extra border around active elements to separate them from others for greater contrast."));dw("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},ot(0,"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.")),dw("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:lg.black,hcLight:"#292929"},ot(0,"Color for text separators."));const bw=dw("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},ot(0,"Foreground color for links in text."));dw("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},ot(0,"Foreground color for links in text when clicked on and on mouse hover.")),dw("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},ot(0,"Foreground color for preformatted text segments.")),dw("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},ot(0,"Background color for preformatted text segments.")),dw("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},ot(0,"Background color for block quotes in text.")),dw("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:lg.white,hcLight:"#292929"},ot(0,"Border color for block quotes in text.")),dw("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:lg.black,hcLight:"#F2F2F2"},ot(0,"Background color for code blocks in text."));const yw=dw("widget.shadow",{dark:ly(lg.black,.36),light:ly(lg.black,.16),hcDark:null,hcLight:null},ot(0,"Shadow color of widgets such as find/replace inside the editor.")),kw=dw("widget.border",{dark:null,light:null,hcDark:ww,hcLight:ww},ot(0,"Border color of widgets such as find/replace inside the editor.")),xw=dw("input.background",{dark:"#3C3C3C",light:lg.white,hcDark:lg.black,hcLight:lg.white},ot(0,"Input box background.")),Cw=dw("input.foreground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"Input box foreground.")),Sw=dw("input.border",{dark:null,light:null,hcDark:ww,hcLight:ww},ot(0,"Input box border.")),Dw=dw("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:ww,hcLight:ww},ot(0,"Border color of activated options in input fields."));dw("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},ot(0,"Background color of activated options in input fields."));const Ew=dw("inputOption.activeBackground",{dark:ly(mw,.4),light:ly(mw,.2),hcDark:lg.transparent,hcLight:lg.transparent},ot(0,"Background hover color of options in input fields.")),Aw=dw("inputOption.activeForeground",{dark:lg.white,light:lg.black,hcDark:fw,hcLight:fw},ot(0,"Foreground color of activated options in input fields."));dw("input.placeholderForeground",{light:ly(fw,.5),dark:ly(fw,.5),hcDark:ly(fw,.7),hcLight:ly(fw,.7)},ot(0,"Input box foreground color for placeholder text."));const Mw=dw("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:lg.black,hcLight:lg.white},ot(0,"Input validation background color for information severity.")),Lw=dw("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:fw},ot(0,"Input validation foreground color for information severity.")),Fw=dw("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:ww,hcLight:ww},ot(0,"Input validation border color for information severity.")),Tw=dw("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:lg.black,hcLight:lg.white},ot(0,"Input validation background color for warning severity.")),Rw=dw("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:fw},ot(0,"Input validation foreground color for warning severity.")),Ow=dw("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:ww,hcLight:ww},ot(0,"Input validation border color for warning severity.")),Iw=dw("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:lg.black,hcLight:lg.white},ot(0,"Input validation background color for error severity.")),_w=dw("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:fw},ot(0,"Input validation foreground color for error severity.")),Nw=dw("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:ww,hcLight:ww},ot(0,"Input validation border color for error severity.")),Bw=dw("dropdown.background",{dark:"#3C3C3C",light:lg.white,hcDark:lg.black,hcLight:lg.white},ot(0,"Dropdown background.")),Pw=dw("dropdown.listBackground",{dark:null,light:null,hcDark:lg.black,hcLight:lg.white},ot(0,"Dropdown list background.")),$w=dw("dropdown.foreground",{dark:"#F0F0F0",light:fw,hcDark:lg.white,hcLight:fw},ot(0,"Dropdown foreground.")),Ww=dw("dropdown.border",{dark:Bw,light:"#CECECE",hcDark:ww,hcLight:ww},ot(0,"Dropdown border.")),jw=dw("button.foreground",{dark:lg.white,light:lg.white,hcDark:lg.white,hcLight:lg.white},ot(0,"Button foreground color.")),zw=dw("button.separator",{dark:ly(jw,.4),light:ly(jw,.4),hcDark:ly(jw,.4),hcLight:ly(jw,.4)},ot(0,"Button separator color.")),Hw=dw("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},ot(0,"Button background color.")),Vw=dw("button.hoverBackground",{dark:ay(Hw,.2),light:cy(Hw,.2),hcDark:Hw,hcLight:Hw},ot(0,"Button background color when hovering.")),Uw=dw("button.border",{dark:ww,light:ww,hcDark:ww,hcLight:ww},ot(0,"Button border color.")),qw=dw("button.secondaryForeground",{dark:lg.white,light:lg.white,hcDark:lg.white,hcLight:fw},ot(0,"Secondary button foreground color.")),Kw=dw("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:lg.white},ot(0,"Secondary button background color.")),Gw=dw("button.secondaryHoverBackground",{dark:ay(Kw,.2),light:cy(Kw,.2),hcDark:null,hcLight:null},ot(0,"Secondary button background color when hovering.")),Zw=dw("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:lg.black,hcLight:"#0F4A85"},ot(0,"Badge background color. Badges are small information labels, e.g. for search results count.")),Qw=dw("badge.foreground",{dark:lg.white,light:"#333",hcDark:lg.white,hcLight:lg.white},ot(0,"Badge foreground color. Badges are small information labels, e.g. for search results count.")),Jw=dw("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},ot(0,"Scrollbar shadow to indicate that the view is scrolled.")),Yw=dw("scrollbarSlider.background",{dark:lg.fromHex("#797979").transparent(.4),light:lg.fromHex("#646464").transparent(.4),hcDark:ly(ww,.6),hcLight:ly(ww,.4)},ot(0,"Scrollbar slider background color.")),Xw=dw("scrollbarSlider.hoverBackground",{dark:lg.fromHex("#646464").transparent(.7),light:lg.fromHex("#646464").transparent(.7),hcDark:ly(ww,.8),hcLight:ly(ww,.8)},ot(0,"Scrollbar slider background color when hovering.")),tv=dw("scrollbarSlider.activeBackground",{dark:lg.fromHex("#BFBFBF").transparent(.4),light:lg.fromHex("#000000").transparent(.6),hcDark:ww,hcLight:ww},ot(0,"Scrollbar slider background color when clicked on.")),iv=dw("progressBar.background",{dark:lg.fromHex("#0E70C0"),light:lg.fromHex("#0E70C0"),hcDark:ww,hcLight:ww},ot(0,"Background color of the progress bar that can show for long running operations."));dw("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const ev=dw("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},ot(0,"Foreground color of error squigglies in the editor.")),sv=dw("editorError.border",{dark:null,light:null,hcDark:lg.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},ot(0,"If set, color of double underlines for errors in the editor."));dw("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const nv=dw("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},ot(0,"Foreground color of warning squigglies in the editor.")),ov=dw("editorWarning.border",{dark:null,light:null,hcDark:lg.fromHex("#FFCC00").transparent(.8),hcLight:lg.fromHex("#FFCC00").transparent(.8)},ot(0,"If set, color of double underlines for warnings in the editor."));dw("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const rv=dw("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},ot(0,"Foreground color of info squigglies in the editor.")),hv=dw("editorInfo.border",{dark:null,light:null,hcDark:lg.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},ot(0,"If set, color of double underlines for infos in the editor.")),cv=dw("editorHint.foreground",{dark:lg.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},ot(0,"Foreground color of hint squigglies in the editor."));dw("editorHint.border",{dark:null,light:null,hcDark:lg.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},ot(0,"If set, color of double underlines for hints in the editor.")),dw("sash.hoverBorder",{dark:mw,light:mw,hcDark:mw,hcLight:mw},ot(0,"Border color of active sashes."));const av=dw("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:lg.black,hcLight:lg.white},ot(0,"Editor background color.")),lv=dw("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:lg.white,hcLight:fw},ot(0,"Editor default foreground color."));dw("editorStickyScroll.background",{light:av,dark:av,hcDark:av,hcLight:av},ot(0,"Sticky scroll background color for the editor")),dw("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:lg.fromHex("#0F4A85").transparent(.1)},ot(0,"Sticky scroll on hover background color for the editor"));const uv=dw("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:lg.white},ot(0,"Background color of editor widgets, such as find/replace.")),dv=dw("editorWidget.foreground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"Foreground color of editor widgets, such as find/replace.")),fv=dw("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:ww,hcLight:ww},ot(0,"Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.")),pv=dw("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},ot(0,"Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),gv=dw("quickInput.background",{dark:uv,light:uv,hcDark:uv,hcLight:uv},ot(0,"Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),mv=dw("quickInput.foreground",{dark:dv,light:dv,hcDark:dv,hcLight:dv},ot(0,"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),wv=dw("quickInputTitle.background",{dark:new lg(new hg(255,255,255,.105)),light:new lg(new hg(0,0,0,.06)),hcDark:"#000000",hcLight:lg.white},ot(0,"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),vv=dw("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:lg.white,hcLight:"#0F4A85"},ot(0,"Quick picker color for grouping labels.")),bv=dw("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:lg.white,hcLight:"#0F4A85"},ot(0,"Quick picker color for grouping borders.")),yv=dw("keybindingLabel.background",{dark:new lg(new hg(128,128,128,.17)),light:new lg(new hg(221,221,221,.4)),hcDark:lg.transparent,hcLight:lg.transparent},ot(0,"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),kv=dw("keybindingLabel.foreground",{dark:lg.fromHex("#CCCCCC"),light:lg.fromHex("#555555"),hcDark:lg.white,hcLight:fw},ot(0,"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),xv=dw("keybindingLabel.border",{dark:new lg(new hg(51,51,51,.6)),light:new lg(new hg(204,204,204,.4)),hcDark:new lg(new hg(111,195,223)),hcLight:ww},ot(0,"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),Cv=dw("keybindingLabel.bottomBorder",{dark:new lg(new hg(68,68,68,.6)),light:new lg(new hg(187,187,187,.4)),hcDark:new lg(new hg(111,195,223)),hcLight:fw},ot(0,"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),Sv=dw("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},ot(0,"Color of the editor selection.")),Dv=dw("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:lg.white},ot(0,"Color of the selected text for high contrast.")),Ev=dw("editor.inactiveSelectionBackground",{light:ly(Sv,.5),dark:ly(Sv,.5),hcDark:ly(Sv,.7),hcLight:ly(Sv,.5)},ot(0,"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),Av=dw("editor.selectionHighlightBackground",{light:dy(Sv,av,.3,.6),dark:dy(Sv,av,.3,.6),hcDark:null,hcLight:null},ot(0,"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);dw("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:vw,hcLight:vw},ot(0,"Border color for regions with the same content as the selection."));const Mv=dw("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},ot(0,"Color of the current search match.")),Lv=dw("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},ot(0,"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),Fv=dw("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},ot(0,"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),Tv=dw("editor.findMatchBorder",{light:null,dark:null,hcDark:vw,hcLight:vw},ot(0,"Border color of the current search match.")),Rv=dw("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:vw,hcLight:vw},ot(0,"Border color of the other search matches.")),Ov=dw("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:ly(vw,.4),hcLight:ly(vw,.4)},ot(0,"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);dw("searchEditor.findMatchBackground",{light:ly(Lv,.66),dark:ly(Lv,.66),hcDark:Lv,hcLight:Lv},ot(0,"Color of the Search Editor query matches.")),dw("searchEditor.findMatchBorder",{light:ly(Rv,.66),dark:ly(Rv,.66),hcDark:Rv,hcLight:Rv},ot(0,"Border color of the Search Editor query matches.")),dw("search.resultsInfoForeground",{light:fw,dark:ly(fw,.65),hcDark:fw,hcLight:fw},ot(0,"Color of the text in the search viewlet's completion message.")),dw("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},ot(0,"Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const Iv=dw("editorHoverWidget.background",{light:uv,dark:uv,hcDark:uv,hcLight:uv},ot(0,"Background color of the editor hover."));dw("editorHoverWidget.foreground",{light:dv,dark:dv,hcDark:dv,hcLight:dv},ot(0,"Foreground color of the editor hover."));const _v=dw("editorHoverWidget.border",{light:fv,dark:fv,hcDark:fv,hcLight:fv},ot(0,"Border color of the editor hover."));dw("editorHoverWidget.statusBarBackground",{dark:ay(Iv,.2),light:cy(Iv,.05),hcDark:uv,hcLight:uv},ot(0,"Background color of the editor hover status bar."));const Nv=dw("editorLink.activeForeground",{dark:"#4E94CE",light:lg.blue,hcDark:lg.cyan,hcLight:"#292929"},ot(0,"Color of active links.")),Bv=dw("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:lg.white,hcLight:lg.black},ot(0,"Foreground color of inline hints")),Pv=dw("editorInlayHint.background",{dark:ly(Zw,.1),light:ly(Zw,.1),hcDark:ly(lg.white,.1),hcLight:ly(Zw,.1)},ot(0,"Background color of inline hints")),$v=dw("editorInlayHint.typeForeground",{dark:Bv,light:Bv,hcDark:Bv,hcLight:Bv},ot(0,"Foreground color of inline hints for types")),Wv=dw("editorInlayHint.typeBackground",{dark:Pv,light:Pv,hcDark:Pv,hcLight:Pv},ot(0,"Background color of inline hints for types")),jv=dw("editorInlayHint.parameterForeground",{dark:Bv,light:Bv,hcDark:Bv,hcLight:Bv},ot(0,"Foreground color of inline hints for parameters")),zv=dw("editorInlayHint.parameterBackground",{dark:Pv,light:Pv,hcDark:Pv,hcLight:Pv},ot(0,"Background color of inline hints for parameters"));dw("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},ot(0,"The color used for the lightbulb actions icon.")),dw("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},ot(0,"The color used for the lightbulb auto fix actions icon.")),dw("editorLightBulbAi.foreground",{dark:cy(gw,.4),light:ay(gw,1.7),hcDark:gw,hcLight:gw},ot(0,"The color used for the lightbulb AI icon."));const Hv=new lg(new hg(155,185,85,.2)),Vv=new lg(new hg(255,0,0,.2)),Uv=dw("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},ot(0,"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),qv=dw("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},ot(0,"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);dw("diffEditor.insertedLineBackground",{dark:Hv,light:Hv,hcDark:null,hcLight:null},ot(0,"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),dw("diffEditor.removedLineBackground",{dark:Vv,light:Vv,hcDark:null,hcLight:null},ot(0,"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),dw("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Background color for the margin where lines got inserted.")),dw("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Background color for the margin where lines got removed."));const Kv=dw("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Diff overview ruler foreground for inserted content.")),Gv=dw("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Diff overview ruler foreground for removed content."));dw("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},ot(0,"Outline color for the text that got inserted.")),dw("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},ot(0,"Outline color for text that got removed.")),dw("diffEditor.border",{dark:null,light:null,hcDark:ww,hcLight:ww},ot(0,"Border color between the two text editors.")),dw("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},ot(0,"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),dw("diffEditor.unchangedRegionBackground",{dark:"sideBar.background",light:"sideBar.background",hcDark:"sideBar.background",hcLight:"sideBar.background"},ot(0,"The background color of unchanged blocks in the diff editor.")),dw("diffEditor.unchangedRegionForeground",{dark:"foreground",light:"foreground",hcDark:"foreground",hcLight:"foreground"},ot(0,"The foreground color of unchanged blocks in the diff editor.")),dw("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},ot(0,"The background color of unchanged code in the diff editor."));const Zv=dw("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Qv=dw("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Jv=dw("list.focusOutline",{dark:mw,light:mw,hcDark:vw,hcLight:vw},ot(0,"List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Yv=dw("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),Xv=dw("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:lg.fromHex("#0F4A85").transparent(.1)},ot(0,"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),tb=dw("list.activeSelectionForeground",{dark:lg.white,light:lg.white,hcDark:null,hcLight:null},ot(0,"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),ib=dw("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),eb=dw("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:lg.fromHex("#0F4A85").transparent(.1)},ot(0,"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),sb=dw("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),nb=dw("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),ob=dw("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),rb=dw("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),hb=dw("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:lg.white.transparent(.1),hcLight:lg.fromHex("#0F4A85").transparent(.1)},ot(0,"List/Tree background when hovering over items using the mouse.")),cb=dw("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"List/Tree foreground when hovering over items using the mouse.")),ab=dw("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},ot(0,"List/Tree drag and drop background when moving items around using the mouse.")),lb=dw("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:mw,hcLight:mw},ot(0,"List/Tree foreground color of the match highlights when searching inside the list/tree.")),ub=dw("list.focusHighlightForeground",{dark:lb,light:(db=Xv,fb=lb,"#BBE7FF",{op:6,if:db,then:fb,else:"#BBE7FF"}),hcDark:lb,hcLight:lb},ot(0,"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var db,fb;dw("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},ot(0,"List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),dw("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},ot(0,"Foreground color of list items containing errors.")),dw("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},ot(0,"Foreground color of list items containing warnings."));const pb=dw("listFilterWidget.background",{light:cy(uv,0),dark:ay(uv,0),hcDark:uv,hcLight:uv},ot(0,"Background color of the type filter widget in lists and trees.")),gb=dw("listFilterWidget.outline",{dark:lg.transparent,light:lg.transparent,hcDark:"#f38518",hcLight:"#007ACC"},ot(0,"Outline color of the type filter widget in lists and trees.")),mb=dw("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:ww,hcLight:ww},ot(0,"Outline color of the type filter widget in lists and trees, when there are no matches.")),wb=dw("listFilterWidget.shadow",{dark:yw,light:yw,hcDark:yw,hcLight:yw},ot(0,"Shadow color of the type filter widget in lists and trees."));dw("list.filterMatchBackground",{dark:Lv,light:Lv,hcDark:null,hcLight:null},ot(0,"Background color of the filtered match.")),dw("list.filterMatchBorder",{dark:Rv,light:Rv,hcDark:ww,hcLight:vw},ot(0,"Border color of the filtered match."));const vb=dw("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},ot(0,"Tree stroke color for the indentation guides.")),bb=dw("tree.inactiveIndentGuidesStroke",{dark:ly(vb,.4),light:ly(vb,.4),hcDark:ly(vb,.4),hcLight:ly(vb,.4)},ot(0,"Tree stroke color for the indentation guides that are not active.")),yb=dw("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},ot(0,"Table border color between columns.")),kb=dw("tree.tableOddRowsBackground",{dark:ly(fw,.04),light:ly(fw,.04),hcDark:null,hcLight:null},ot(0,"Background color for odd table rows."));dw("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},ot(0,"List/Tree foreground color for items that are deemphasized. "));const xb=dw("checkbox.background",{dark:Bw,light:Bw,hcDark:Bw,hcLight:Bw},ot(0,"Background color of checkbox widget."));dw("checkbox.selectBackground",{dark:uv,light:uv,hcDark:uv,hcLight:uv},ot(0,"Background color of checkbox widget when the element it's in is selected."));const Cb=dw("checkbox.foreground",{dark:$w,light:$w,hcDark:$w,hcLight:$w},ot(0,"Foreground color of checkbox widget.")),Sb=dw("checkbox.border",{dark:Ww,light:Ww,hcDark:Ww,hcLight:Ww},ot(0,"Border color of checkbox widget."));dw("checkbox.selectBorder",{dark:gw,light:gw,hcDark:gw,hcLight:gw},ot(0,"Border color of checkbox widget when the element it's in is selected."));const Db=dw("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,ot(0,"Please use quickInputList.focusBackground instead")),Eb=dw("quickInputList.focusForeground",{dark:tb,light:tb,hcDark:tb,hcLight:tb},ot(0,"Quick picker foreground color for the focused item.")),Ab=dw("quickInputList.focusIconForeground",{dark:ib,light:ib,hcDark:ib,hcLight:ib},ot(0,"Quick picker icon foreground color for the focused item.")),Mb=dw("quickInputList.focusBackground",{dark:uy(Db,Xv),light:uy(Db,Xv),hcDark:null,hcLight:null},ot(0,"Quick picker background color for the focused item.")),Lb=dw("menu.border",{dark:null,light:null,hcDark:ww,hcLight:ww},ot(0,"Border color of menus.")),Fb=dw("menu.foreground",{dark:$w,light:$w,hcDark:$w,hcLight:$w},ot(0,"Foreground color of menu items.")),Tb=dw("menu.background",{dark:Bw,light:Bw,hcDark:Bw,hcLight:Bw},ot(0,"Background color of menu items.")),Rb=dw("menu.selectionForeground",{dark:tb,light:tb,hcDark:tb,hcLight:tb},ot(0,"Foreground color of the selected menu item in menus.")),Ob=dw("menu.selectionBackground",{dark:Xv,light:Xv,hcDark:Xv,hcLight:Xv},ot(0,"Background color of the selected menu item in menus.")),Ib=dw("menu.selectionBorder",{dark:null,light:null,hcDark:vw,hcLight:vw},ot(0,"Border color of the selected menu item in menus.")),_b=dw("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:ww,hcLight:ww},ot(0,"Color of a separator menu item in menus.")),Nb=dw("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},ot(0,"Toolbar background when hovering over actions using the mouse"));dw("toolbar.hoverOutline",{dark:null,light:null,hcDark:vw,hcLight:vw},ot(0,"Toolbar outline when hovering over actions using the mouse")),dw("toolbar.activeBackground",{dark:ay(Nb,.1),light:cy(Nb,.1),hcDark:null,hcLight:null},ot(0,"Toolbar background when holding the mouse over actions")),dw("editor.snippetTabstopHighlightBackground",{dark:new lg(new hg(124,124,124,.3)),light:new lg(new hg(10,50,100,.2)),hcDark:new lg(new hg(124,124,124,.3)),hcLight:new lg(new hg(10,50,100,.2))},ot(0,"Highlight background color of a snippet tabstop.")),dw("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Highlight border color of a snippet tabstop.")),dw("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Highlight background color of the final tabstop of a snippet.")),dw("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new lg(new hg(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},ot(0,"Highlight border color of the final tabstop of a snippet."));const Bb=dw("breadcrumb.foreground",{light:ly(fw,.8),dark:ly(fw,.8),hcDark:ly(fw,.8),hcLight:ly(fw,.8)},ot(0,"Color of focused breadcrumb items.")),Pb=dw("breadcrumb.background",{light:av,dark:av,hcDark:av,hcLight:av},ot(0,"Background color of breadcrumb items.")),$b=dw("breadcrumb.focusForeground",{light:cy(fw,.2),dark:ay(fw,.1),hcDark:ay(fw,.1),hcLight:ay(fw,.1)},ot(0,"Color of focused breadcrumb items.")),Wb=dw("breadcrumb.activeSelectionForeground",{light:cy(fw,.2),dark:ay(fw,.1),hcDark:ay(fw,.1),hcLight:ay(fw,.1)},ot(0,"Color of selected breadcrumb items."));dw("breadcrumbPicker.background",{light:uv,dark:uv,hcDark:uv,hcLight:uv},ot(0,"Background color of breadcrumb item picker."));const jb=lg.fromHex("#40C8AE").transparent(.5),zb=lg.fromHex("#40A6FF").transparent(.5),Hb=lg.fromHex("#606060").transparent(.4),Vb=.4,Ub=dw("merge.currentHeaderBackground",{dark:jb,light:jb,hcDark:null,hcLight:null},ot(0,"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);dw("merge.currentContentBackground",{dark:ly(Ub,Vb),light:ly(Ub,Vb),hcDark:ly(Ub,Vb),hcLight:ly(Ub,Vb)},ot(0,"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const qb=dw("merge.incomingHeaderBackground",{dark:zb,light:zb,hcDark:null,hcLight:null},ot(0,"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);dw("merge.incomingContentBackground",{dark:ly(qb,Vb),light:ly(qb,Vb),hcDark:ly(qb,Vb),hcLight:ly(qb,Vb)},ot(0,"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Kb=dw("merge.commonHeaderBackground",{dark:Hb,light:Hb,hcDark:null,hcLight:null},ot(0,"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);dw("merge.commonContentBackground",{dark:ly(Kb,Vb),light:ly(Kb,Vb),hcDark:ly(Kb,Vb),hcLight:ly(Kb,Vb)},ot(0,"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Gb=dw("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},ot(0,"Border color on headers and the splitter in inline merge-conflicts."));dw("editorOverviewRuler.currentContentForeground",{dark:ly(Ub,1),light:ly(Ub,1),hcDark:Gb,hcLight:Gb},ot(0,"Current overview ruler foreground for inline merge-conflicts.")),dw("editorOverviewRuler.incomingContentForeground",{dark:ly(qb,1),light:ly(qb,1),hcDark:Gb,hcLight:Gb},ot(0,"Incoming overview ruler foreground for inline merge-conflicts.")),dw("editorOverviewRuler.commonContentForeground",{dark:ly(Kb,1),light:ly(Kb,1),hcDark:Gb,hcLight:Gb},ot(0,"Common ancestor overview ruler foreground for inline merge-conflicts."));const Zb=dw("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},ot(0,"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),Qb=dw("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},ot(0,"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Jb=dw("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},ot(0,"Minimap marker color for find matches."),!0),Yb=dw("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},ot(0,"Minimap marker color for repeating editor selections."),!0),Xb=dw("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},ot(0,"Minimap marker color for the editor selection."),!0),ty=dw("minimap.infoHighlight",{dark:rv,light:rv,hcDark:hv,hcLight:hv},ot(0,"Minimap marker color for infos.")),iy=dw("minimap.warningHighlight",{dark:nv,light:nv,hcDark:ov,hcLight:ov},ot(0,"Minimap marker color for warnings.")),ey=dw("minimap.errorHighlight",{dark:new lg(new hg(255,18,18,.7)),light:new lg(new hg(255,18,18,.7)),hcDark:new lg(new hg(255,50,50,1)),hcLight:"#B5200D"},ot(0,"Minimap marker color for errors.")),sy=dw("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Minimap background color.")),ny=dw("minimap.foregroundOpacity",{dark:lg.fromHex("#000f"),light:lg.fromHex("#000f"),hcDark:lg.fromHex("#000f"),hcLight:lg.fromHex("#000f")},ot(0,'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));dw("minimapSlider.background",{light:ly(Yw,.5),dark:ly(Yw,.5),hcDark:ly(Yw,.5),hcLight:ly(Yw,.5)},ot(0,"Minimap slider background color.")),dw("minimapSlider.hoverBackground",{light:ly(Xw,.5),dark:ly(Xw,.5),hcDark:ly(Xw,.5),hcLight:ly(Xw,.5)},ot(0,"Minimap slider background color when hovering.")),dw("minimapSlider.activeBackground",{light:ly(tv,.5),dark:ly(tv,.5),hcDark:ly(tv,.5),hcLight:ly(tv,.5)},ot(0,"Minimap slider background color when clicked on."));const oy=dw("problemsErrorIcon.foreground",{dark:ev,light:ev,hcDark:ev,hcLight:ev},ot(0,"The color used for the problems error icon.")),ry=dw("problemsWarningIcon.foreground",{dark:nv,light:nv,hcDark:nv,hcLight:nv},ot(0,"The color used for the problems warning icon.")),hy=dw("problemsInfoIcon.foreground",{dark:rv,light:rv,hcDark:rv,hcLight:rv},ot(0,"The color used for the problems info icon."));function cy(t,i){return{op:0,value:t,factor:i}}function ay(t,i){return{op:1,value:t,factor:i}}function ly(t,i){return{op:2,value:t,factor:i}}function uy(...t){return{op:4,values:t}}function dy(t,i,e,s){return{op:5,value:t,background:i,factor:e,transparency:s}}function fy(t,i){if(null!==t)return"string"==typeof t?"#"===t[0]?lg.fromHex(t):i.getColor(t):t instanceof lg?t:"object"==typeof t?function(t,i){var e,s,n,o;switch(t.op){case 0:return null===(e=fy(t.value,i))||void 0===e?void 0:e.darken(t.factor);case 1:return null===(s=fy(t.value,i))||void 0===s?void 0:s.lighten(t.factor);case 2:return null===(n=fy(t.value,i))||void 0===n?void 0:n.transparent(t.factor);case 3:{const e=fy(t.background,i);return e?null===(o=fy(t.value,i))||void 0===o?void 0:o.makeOpaque(e):fy(t.value,i)}case 4:for(const e of t.values){const t=fy(e,i);if(t)return t}return;case 6:return fy(i.defines(t.if)?t.then:t.else,i);case 5:{const e=fy(t.value,i);if(!e)return;const s=fy(t.background,i);return s?e.isDarkerThan(s)?lg.getLighterColor(e,s,t.factor).transparent(t.transparency):lg.getDarkerColor(e,s,t.factor).transparent(t.transparency):e.transparent(t.factor*t.transparency)}default:throw xh()}}(t,i):void 0}dw("charts.foreground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color used in charts.")),dw("charts.lines",{dark:ly(fw,.5),light:ly(fw,.5),hcDark:ly(fw,.5),hcLight:ly(fw,.5)},ot(0,"The color used for horizontal lines in charts.")),dw("charts.red",{dark:ev,light:ev,hcDark:ev,hcLight:ev},ot(0,"The red color used in chart visualizations.")),dw("charts.blue",{dark:rv,light:rv,hcDark:rv,hcLight:rv},ot(0,"The blue color used in chart visualizations.")),dw("charts.yellow",{dark:nv,light:nv,hcDark:nv,hcLight:nv},ot(0,"The yellow color used in chart visualizations.")),dw("charts.orange",{dark:Jb,light:Jb,hcDark:Jb,hcLight:Jb},ot(0,"The orange color used in chart visualizations.")),dw("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},ot(0,"The green color used in chart visualizations.")),dw("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},ot(0,"The purple color used in chart visualizations."));const py="vscode://schemas/workbench-colors",gy=Dh.as(Ed);gy.registerSchema(py,uw.getColorSchema());const my=new pc((()=>gy.notifySchemaChanged(py)),200);uw.onDidChangeSchema((()=>{my.isScheduled()||my.schedule()}));class wy{constructor(t,i){this.x=t,this.y=i,this._pageCoordinatesBrand=void 0}toClientCoordinates(t){return new vy(this.x-t.scrollX,this.y-t.scrollY)}}class vy{constructor(t,i){this.clientX=t,this.clientY=i,this._clientCoordinatesBrand=void 0}toPageCoordinates(t){return new wy(this.clientX+t.scrollX,this.clientY+t.scrollY)}}class by{constructor(t,i,e,s){this.x=t,this.y=i,this.width=e,this.height=s,this._editorPagePositionBrand=void 0}}class yy{constructor(t,i){this.x=t,this.y=i,this._positionRelativeToEditorBrand=void 0}}function ky(t){const i=nl(t);return new by(i.left,i.top,i.width,i.height)}function xy(t,i,e){return new yy((e.x-i.x)/(i.width/t.offsetWidth),(e.y-i.y)/(i.height/t.offsetHeight))}class Cy extends tc{constructor(t,i,e){super(Na(e),t),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=i,this.pos=new wy(this.posx,this.posy),this.editorPos=ky(e),this.relativePos=xy(e,this.editorPos,this.pos)}}class Sy{constructor(t){this._editorViewDomNode=t}_create(t){return new Cy(t,!1,this._editorViewDomNode)}onContextMenu(t,i){return Va(t,"contextmenu",(t=>{i(this._create(t))}))}onMouseUp(t,i){return Va(t,"mouseup",(t=>{i(this._create(t))}))}onMouseDown(t,i){return Va(t,Ll.MOUSE_DOWN,(t=>{i(this._create(t))}))}onPointerDown(t,i){return Va(t,Ll.POINTER_DOWN,(t=>{i(this._create(t),t.pointerId)}))}onMouseLeave(t,i){return Va(t,Ll.MOUSE_LEAVE,(t=>{i(this._create(t))}))}onMouseMove(t,i){return Va(t,"mousemove",(t=>i(this._create(t))))}}class Dy{constructor(t){this._editorViewDomNode=t}_create(t){return new Cy(t,!1,this._editorViewDomNode)}onPointerUp(t,i){return Va(t,"pointerup",(t=>{i(this._create(t))}))}onPointerDown(t,i){return Va(t,Ll.POINTER_DOWN,(t=>{i(this._create(t),t.pointerId)}))}onPointerLeave(t,i){return Va(t,Ll.POINTER_LEAVE,(t=>{i(this._create(t))}))}onPointerMove(t,i){return Va(t,"pointermove",(t=>i(this._create(t))))}}class Ey extends te{constructor(t){super(),this._editorViewDomNode=t,this._globalPointerMoveMonitor=this._register(new hw),this._keydownListener=null}startMonitoring(t,i,e,s,n){this._keydownListener=qa(t.ownerDocument,"keydown",(t=>{t.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,t.browserEvent)}),!0),this._globalPointerMoveMonitor.startMonitoring(t,i,e,(t=>{s(new Cy(t,!0,this._editorViewDomNode))}),(t=>{this._keydownListener.dispose(),n(t)}))}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class Ay{constructor(t){this._editor=t,this._instanceId=++Ay._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new pc((()=>this.garbageCollect()),1e3)}createClassNameRef(t){const i=this.getOrCreateRule(t);return i.increaseRefCount(),{className:i.className,dispose:()=>{i.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(t){const i=this.computeUniqueKey(t);let e=this._rules.get(i);if(!e){const s=this._counter++;e=new My(i,`dyn-rule-${this._instanceId}-${s}`,dl(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,t),this._rules.set(i,e)}return e}computeUniqueKey(t){return JSON.stringify(t)}garbageCollect(){for(const t of this._rules.values())t.hasReferences()||(this._rules.delete(t.key),t.dispose())}}Ay._idPool=0;class My{constructor(t,i,e,s){this.key=t,this.className=i,this.properties=s,this._referenceCount=0,this._styleElementDisposables=new Xi,this._styleElement=vl(e,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(t,i){let e=`.${t} {`;for(const t in i){const s=i[t];let n;n="object"==typeof s?aw(s.id):s,e+=`\n\t${Ly(t)}: ${n};`}return e+="\n}",e}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function Ly(t){return t.replace(/(^[A-Z])/,(([t])=>t.toLowerCase())).replace(/([A-Z])/g,(([t])=>`-${t.toLowerCase()}`))}class Fy extends te{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(t){return!1}onCompositionEnd(t){return!1}onConfigurationChanged(t){return!1}onCursorStateChanged(t){return!1}onDecorationsChanged(t){return!1}onFlushed(t){return!1}onFocusChanged(t){return!1}onLanguageConfigurationChanged(t){return!1}onLineMappingChanged(t){return!1}onLinesChanged(t){return!1}onLinesDeleted(t){return!1}onLinesInserted(t){return!1}onRevealRangeRequest(t){return!1}onScrollChanged(t){return!1}onThemeChanged(t){return!1}onTokensChanged(t){return!1}onTokensColorsChanged(t){return!1}onZonesChanged(t){return!1}handleEvents(t){let i=!1;for(let e=0,s=t.length;e=o.left?s.width=Math.max(s.width,o.left+o.width-s.left):(i[e++]=s,s=o)}return i[e++]=s,i}static _createHorizontalRangesFromClientRects(t,i,e){if(!t||0===t.length)return null;const s=[];for(let n=0,o=t.length;nr)return null;if((i=Math.min(r,Math.max(0,i)))===(s=Math.min(r,Math.max(0,s)))&&e===n&&0===e&&!t.children[i].firstChild){const e=t.children[i].getClientRects();return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(e,o.clientRectDeltaLeft,o.clientRectScale)}i!==s&&s>0&&0===n&&(s--,n=1073741824);let h=t.children[i].firstChild,c=t.children[s].firstChild;if(h&&c||(!h&&0===e&&i>0&&(h=t.children[i-1].firstChild,e=1073741824),!c&&0===n&&s>0&&(c=t.children[s-1].firstChild,n=1073741824)),!h||!c)return null;e=Math.min(h.textContent.length,Math.max(0,e)),n=Math.min(c.textContent.length,Math.max(0,n));const a=this._readClientRects(h,e,c,n,o.endNode);return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(a,o.clientRectDeltaLeft,o.clientRectScale)}}var jy;function zy(t){return t===jy.HIGH_CONTRAST_DARK||t===jy.HIGH_CONTRAST_LIGHT}function Hy(t){return t===jy.DARK||t===jy.HIGH_CONTRAST_DARK}!function(t){t.DARK="dark",t.LIGHT="light",t.HIGH_CONTRAST_DARK="hcDark",t.HIGH_CONTRAST_LIGHT="hcLight"}(jy||(jy={}));const Vy=!!Dt||!(St||Uo||Go);let Uy=!0;class qy{constructor(t,i){this.themeType=i;const e=t.options,s=e.get(50),n=e.get(38);this.renderWhitespace="off"===n?e.get(98):"none",this.renderControlCharacters=e.get(93),this.spaceWidth=s.spaceWidth,this.middotWidth=s.middotWidth,this.wsmiddotWidth=s.wsmiddotWidth,this.useMonospaceOptimizations=s.isMonospace&&!e.get(33),this.canUseHalfwidthRightwardsArrow=s.canUseHalfwidthRightwardsArrow,this.lineHeight=e.get(66),this.stopRenderingLineAfter=e.get(116),this.fontLigatures=e.get(51)}equals(t){return this.themeType===t.themeType&&this.renderWhitespace===t.renderWhitespace&&this.renderControlCharacters===t.renderControlCharacters&&this.spaceWidth===t.spaceWidth&&this.middotWidth===t.middotWidth&&this.wsmiddotWidth===t.wsmiddotWidth&&this.useMonospaceOptimizations===t.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===t.canUseHalfwidthRightwardsArrow&&this.lineHeight===t.lineHeight&&this.stopRenderingLineAfter===t.stopRenderingLineAfter&&this.fontLigatures===t.fontLigatures}}class Ky{constructor(t){this._options=t,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(t){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=tr(t)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(t){this._isMaybeInvalid=!0,this._options=t}onSelectionChanged(){return!(!zy(this._options.themeType)&&"selection"!==this._options.renderWhitespace||(this._isMaybeInvalid=!0,0))}renderLine(t,i,e,s){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;const n=e.getViewLineRenderingData(t),o=this._options,r=Wg.filter(n.inlineDecorations,t,n.minColumn,n.maxColumn);let h=null;if(zy(o.themeType)||"selection"===this._options.renderWhitespace){const i=e.selections;for(const e of i){if(e.endLineNumbert)continue;const i=e.startLineNumber===t?e.startColumn:n.minColumn,s=e.endLineNumber===t?e.endColumn:n.maxColumn;i');const a=Qg(c,s);s.appendString("");let l=null;return Uy&&Vy&&n.isBasicASCII&&o.useMonospaceOptimizations&&0===a.containsForeignElements&&(l=new Gy(this._renderedViewLine?this._renderedViewLine.domNode:null,c,a.characterMapping)),l||(l=Jy(this._renderedViewLine?this._renderedViewLine.domNode:null,c,a.characterMapping,a.containsRTL,a.containsForeignElements)),this._renderedViewLine=l,!0}layoutLine(t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(i),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(t){return this._renderedViewLine?this._renderedViewLine.getWidth(t):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof Gy}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof Gy?this._renderedViewLine.monospaceAssumptionsAreValid():Uy}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof Gy&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(t,i,e,s){if(!this._renderedViewLine)return null;i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i)),e=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,e));const n=this._renderedViewLine.input.stopRenderingLineAfter;if(-1!==n&&i>n+1&&e>n+1)return new $y(!0,[new By(this.getWidth(s),0)]);-1!==n&&i>n+1&&(i=n+1),-1!==n&&e>n+1&&(e=n+1);const o=this._renderedViewLine.getVisibleRangesForRange(t,i,e,s);return o&&o.length>0?new $y(!1,o):null}getColumnOfNodeOffset(t,i){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(t,i):1}}Ky.CLASS_NAME="view-line";class Gy{constructor(t,i,e){this._cachedWidth=-1,this.domNode=t,this.input=i;const s=Math.floor(i.lineContent.length/300);if(s>0){this._keyColumnPixelOffsetCache=new Float32Array(s);for(let t=0;t=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),Uy=!1)}return Uy}toSlowRenderedLine(){return Jy(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(t,i,e,s){const n=this._getColumnPixelOffset(t,i,s),o=this._getColumnPixelOffset(t,e,s);return[new By(n,o-n)]}_getColumnPixelOffset(t,i,e){if(i<=300){const t=this._characterMapping.getHorizontalOffset(i);return this._charWidth*t}const s=Math.floor((i-1)/300)-1,n=300*(s+1)+1;let o=-1;if(this._keyColumnPixelOffsetCache&&(o=this._keyColumnPixelOffsetCache[s],-1===o&&(o=this._actualReadPixelOffset(t,n,e),this._keyColumnPixelOffsetCache[s]=o)),-1===o){const t=this._characterMapping.getHorizontalOffset(i);return this._charWidth*t}const r=this._characterMapping.getHorizontalOffset(n),h=this._characterMapping.getHorizontalOffset(i);return o+this._charWidth*(h-r)}_getReadingTarget(t){return t.domNode.firstChild}_actualReadPixelOffset(t,i,e){if(!this.domNode)return-1;const s=this._characterMapping.getDomPosition(i),n=Wy.readHorizontalRanges(this._getReadingTarget(this.domNode),s.partIndex,s.charIndex,s.partIndex,s.charIndex,e);return n&&0!==n.length?n[0].left:-1}getColumnOfNodeOffset(t,i){return Yy(this._characterMapping,t,i)}}class Zy{constructor(t,i,e,s,n){if(this.domNode=t,this.input=i,this._characterMapping=e,this._isWhitespaceOnly=/^\s*$/.test(i.lineContent),this._containsForeignElements=n,this._cachedWidth=-1,this._pixelOffsetCache=null,!s||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let t=0,i=this._characterMapping.length;t<=i;t++)this._pixelOffsetCache[t]=-1}}_getReadingTarget(t){return t.domNode.firstChild}getWidth(t){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,null==t||t.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return-1!==this._cachedWidth}getVisibleRangesForRange(t,i,e,s){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){const n=this._readPixelOffset(this.domNode,t,i,s);if(-1===n)return null;const o=this._readPixelOffset(this.domNode,t,e,s);return-1===o?null:[new By(n,o-n)]}return this._readVisibleRangesForRange(this.domNode,t,i,e,s)}_readVisibleRangesForRange(t,i,e,s,n){if(e===s){const s=this._readPixelOffset(t,i,e,n);return-1===s?null:[new By(s,0)]}return this._readRawVisibleRangesForRange(t,e,s,n)}_readPixelOffset(t,i,e,s){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth(s);const i=this._getReadingTarget(t);return i.firstChild?(s.markDidDomLayout(),i.firstChild.offsetWidth):0}if(null!==this._pixelOffsetCache){const n=this._pixelOffsetCache[e];if(-1!==n)return n;const o=this._actualReadPixelOffset(t,i,e,s);return this._pixelOffsetCache[e]=o,o}return this._actualReadPixelOffset(t,i,e,s)}_actualReadPixelOffset(t,i,e,s){if(0===this._characterMapping.length){const i=Wy.readHorizontalRanges(this._getReadingTarget(t),0,0,0,0,s);return i&&0!==i.length?i[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth(s);const n=this._characterMapping.getDomPosition(e),o=Wy.readHorizontalRanges(this._getReadingTarget(t),n.partIndex,n.charIndex,n.partIndex,n.charIndex,s);if(!o||0===o.length)return-1;const r=o[0].left;if(this.input.isBasicASCII){const t=this._characterMapping.getHorizontalOffset(e),i=Math.round(this.input.spaceWidth*t);if(Math.abs(i-r)<=1)return i}return r}_readRawVisibleRangesForRange(t,i,e,s){if(1===i&&e===this._characterMapping.length)return[new By(0,this.getWidth(s))];const n=this._characterMapping.getDomPosition(i),o=this._characterMapping.getDomPosition(e);return Wy.readHorizontalRanges(this._getReadingTarget(t),n.partIndex,n.charIndex,o.partIndex,o.charIndex,s)}getColumnOfNodeOffset(t,i){return Yy(this._characterMapping,t,i)}}class Qy extends Zy{_readVisibleRangesForRange(t,i,e,s,n){const o=super._readVisibleRangesForRange(t,i,e,s,n);if(!o||0===o.length||e===s||1===e&&s===this._characterMapping.length)return o;if(!this.input.containsRTL){const e=this._readPixelOffset(t,i,s,n);if(-1!==e){const t=o[o.length-1];t.left=i)return c-i=4&&3===t[0]&&7===t[3]}static isStrictChildOfViewLines(t){return t.length>4&&3===t[0]&&7===t[3]}static isChildOfScrollableElement(t){return t.length>=2&&3===t[0]&&5===t[1]}static isChildOfMinimap(t){return t.length>=2&&3===t[0]&&8===t[1]}static isChildOfContentWidgets(t){return t.length>=4&&3===t[0]&&1===t[3]}static isChildOfOverflowGuard(t){return t.length>=1&&3===t[0]}static isChildOfOverflowingContentWidgets(t){return t.length>=1&&2===t[0]}static isChildOfOverlayWidgets(t){return t.length>=2&&3===t[0]&&4===t[1]}}class hk{constructor(t,i,e){this.viewModel=t.viewModel;const s=t.configuration.options;this.layoutInfo=s.get(143),this.viewDomNode=i.viewDomNode,this.lineHeight=s.get(66),this.stickyTabStops=s.get(115),this.typicalHalfwidthCharacterWidth=s.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=e,this._context=t,this._viewHelper=i}getZoneAtCoord(t){return hk.getZoneAtCoord(this._context,t)}static getZoneAtCoord(t,i){const e=t.viewLayout.getWhitespaceAtVerticalOffset(i);if(e){const s=e.verticalOffset+e.height/2,n=t.viewModel.getLineCount();let o,r=null,h=null;return e.afterLineNumber!==n&&(h=new As(e.afterLineNumber+1,1)),e.afterLineNumber>0&&(r=new As(e.afterLineNumber,t.viewModel.getLineMaxColumn(e.afterLineNumber))),o=null===h?r:null===r?h:i=t.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,dk._getMouseColumn(this.mouseContentHorizontalOffset,t.typicalHalfwidthCharacterWidth))}}class ak extends ck{constructor(t,i,e,s,n){super(t,i,e,s),this._ctx=t,n?(this.target=n,this.targetPath=Ry.collect(n,t.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array(0))}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}_getMouseColumn(t=null){return t&&t.columno.contentLeft+o.width)continue;const e=t.getVerticalOffsetForLineNumber(o.position.lineNumber);if(e<=n&&n<=e+o.height)return i.fulfillContentText(o.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(t,i){const e=t.getZoneAtCoord(i.mouseVerticalOffset);return e?i.fulfillViewZone(i.isInContentArea?8:5,e.position,e):null}static _hitTestTextArea(t,i){return rk.isTextArea(i.targetPath)?t.lastRenderData.lastTextareaPosition?i.fulfillContentText(t.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):i.fulfillTextarea():null}static _hitTestMargin(t,i){if(i.isInMarginArea){const e=t.getFullLineRangeAtCoord(i.mouseVerticalOffset),s=e.range.getStartPosition();let n=Math.abs(i.relativePos.x);const o={isAfterLines:e.isAfterLines,glyphMarginLeft:t.layoutInfo.glyphMarginLeft,glyphMarginWidth:t.layoutInfo.glyphMarginWidth,lineNumbersWidth:t.layoutInfo.lineNumbersWidth,offsetX:n};return n-=t.layoutInfo.glyphMarginLeft,n<=t.layoutInfo.glyphMarginWidth?i.fulfillMargin(2,s,e.range,o):(n-=t.layoutInfo.glyphMarginWidth,n<=t.layoutInfo.lineNumbersWidth?i.fulfillMargin(3,s,e.range,o):(n-=t.layoutInfo.lineNumbersWidth,i.fulfillMargin(4,s,e.range,o)))}return null}static _hitTestViewLines(t,i,e){if(!rk.isChildOfViewLines(i.targetPath))return null;if(t.isInTopPadding(i.mouseVerticalOffset))return i.fulfillContentEmpty(new As(1,1),lk);if(t.isAfterLines(i.mouseVerticalOffset)||t.isInBottomPadding(i.mouseVerticalOffset)){const e=t.viewModel.getLineCount(),s=t.viewModel.getLineMaxColumn(e);return i.fulfillContentEmpty(new As(e,s),lk)}if(e){if(rk.isStrictChildOfViewLines(i.targetPath)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset);if(0===t.viewModel.getLineLength(e)){const s=t.getLineWidth(e),n=uk(i.mouseContentHorizontalOffset-s);return i.fulfillContentEmpty(new As(e,1),n)}const s=t.getLineWidth(e);if(i.mouseContentHorizontalOffset>=s){const n=uk(i.mouseContentHorizontalOffset-s),o=new As(e,t.viewModel.getLineMaxColumn(e));return i.fulfillContentEmpty(o,n)}}return i.fulfillUnknown()}const s=dk._doHitTest(t,i);return 1===s.type?dk.createMouseTargetFromHitTestPosition(t,i,s.spanNode,s.position,s.injectedText):this._createMouseTarget(t,i.withTarget(s.hitTarget),!0)}static _hitTestMinimap(t,i){if(rk.isChildOfMinimap(i.targetPath)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset),s=t.viewModel.getLineMaxColumn(e);return i.fulfillScrollbar(new As(e,s))}return null}static _hitTestScrollbarSlider(t,i){if(rk.isChildOfScrollableElement(i.targetPath)&&i.target&&1===i.target.nodeType){const e=i.target.className;if(e&&/\b(slider|scrollbar)\b/.test(e)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset),s=t.viewModel.getLineMaxColumn(e);return i.fulfillScrollbar(new As(e,s))}}return null}static _hitTestScrollbar(t,i){if(rk.isChildOfScrollableElement(i.targetPath)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset),s=t.viewModel.getLineMaxColumn(e);return i.fulfillScrollbar(new As(e,s))}return null}getMouseColumn(t){const i=this._context.configuration.options,e=i.get(143),s=this._context.viewLayout.getCurrentScrollLeft()+t.x-e.contentLeft;return dk._getMouseColumn(s,i.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(t,i){return t<0?1:Math.round(t/i)+1}static createMouseTargetFromHitTestPosition(t,i,e,s,n){const o=s.lineNumber,r=s.column,h=t.getLineWidth(o);if(i.mouseContentHorizontalOffset>h){const t=uk(i.mouseContentHorizontalOffset-h);return i.fulfillContentEmpty(s,t)}const c=t.visibleRangeForPosition(o,r);if(!c)return i.fulfillUnknown(s);if(Math.abs(i.mouseContentHorizontalOffset-c.left)<1)return i.fulfillContentText(s,null,{mightBeForeignElement:!!n,injectedText:n});const a=[];if(a.push({offset:c.left,column:r}),r>1){const i=t.visibleRangeForPosition(o,r-1);i&&a.push({offset:i.left,column:r-1})}if(rt.offset-i.offset));const l=i.pos.toClientCoordinates(Na(t.viewDomNode)),u=e.getBoundingClientRect(),d=u.left<=l.clientX&&l.clientX<=u.right;let f=null;for(let t=1;tn)){const e=Math.floor((s+n)/2);let o=i.pos.y+(e-i.mouseVerticalOffset);o<=i.editorPos.y&&(o=i.editorPos.y+1),o>=i.editorPos.y+i.editorPos.height&&(o=i.editorPos.y+i.editorPos.height-1);const r=new wy(i.pos.x,o),h=this._actualDoHitTestWithCaretRangeFromPoint(t,r.toClientCoordinates(Na(t.viewDomNode)));if(1===h.type)return h}return this._actualDoHitTestWithCaretRangeFromPoint(t,i.pos.toClientCoordinates(Na(t.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(t,i){const e=fl(t.viewDomNode);let s;if(s=e?void 0===e.caretRangeFromPoint?function(t,i,e){const s=document.createRange();let n=t.elementFromPoint(i,e);if(null!==n){for(;n&&n.firstChild&&n.firstChild.nodeType!==n.firstChild.TEXT_NODE&&n.lastChild&&n.lastChild.firstChild;)n=n.lastChild;const t=n.getBoundingClientRect(),e=Na(n),o=`${e.getComputedStyle(n,null).getPropertyValue("font-style")} ${e.getComputedStyle(n,null).getPropertyValue("font-variant")} ${e.getComputedStyle(n,null).getPropertyValue("font-weight")} ${e.getComputedStyle(n,null).getPropertyValue("font-size")}/${e.getComputedStyle(n,null).getPropertyValue("line-height")} ${e.getComputedStyle(n,null).getPropertyValue("font-family")}`,r=n.innerText;let h,c=t.left,a=0;if(i>t.left+t.width)a=r.length;else{const t=fk.getInstance();for(let e=0;ei(new tc(Na(t),e)))))}onmousedown(t,i){this._register(Va(t,Ll.MOUSE_DOWN,(e=>i(new tc(Na(t),e)))))}onmouseover(t,i){this._register(Va(t,Ll.MOUSE_OVER,(e=>i(new tc(Na(t),e)))))}onmouseleave(t,i){this._register(Va(t,Ll.MOUSE_LEAVE,(e=>i(new tc(Na(t),e)))))}onkeydown(t,i){this._register(Va(t,Ll.KEY_DOWN,(t=>i(new Qh(t)))))}onkeyup(t,i){this._register(Va(t,Ll.KEY_UP,(t=>i(new Qh(t)))))}oninput(t,i){this._register(Va(t,Ll.INPUT,i))}onblur(t,i){this._register(Va(t,Ll.BLUR,i))}onfocus(t,i){this._register(Va(t,Ll.FOCUS,i))}ignoreGesture(t){return rw.ignoreTarget(t)}}class gk extends pk{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",void 0!==t.top&&(this.bgDomNode.style.top="0px"),void 0!==t.left&&(this.bgDomNode.style.left="0px"),void 0!==t.bottom&&(this.bgDomNode.style.bottom="0px"),void 0!==t.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.classList.add(...Cr.asClassNameArray(t.icon)),this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px",void 0!==t.top&&(this.domNode.style.top=t.top+"px"),void 0!==t.left&&(this.domNode.style.left=t.left+"px"),void 0!==t.bottom&&(this.domNode.style.bottom=t.bottom+"px"),void 0!==t.right&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new hw),this._register(qa(this.bgDomNode,Ll.POINTER_DOWN,(t=>this._arrowPointerDown(t)))),this._register(qa(this.domNode,Ll.POINTER_DOWN,(t=>this._arrowPointerDown(t)))),this._pointerdownRepeatTimer=this._register(new Ja),this._pointerdownScheduleRepeatTimer=this._register(new dc)}_arrowPointerDown(t){t.target&&t.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet((()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24,Na(t))}),200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(()=>{}),(()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()})),t.preventDefault())}}class mk extends te{constructor(t,i,e){super(),this._visibility=t,this._visibleClassName=i,this._invisibleClassName=e,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new dc)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){const t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{var t;null===(t=this._domNode)||void 0===t||t.setClassName(this._visibleClassName)}),0))}_hide(t){var i;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,null===(i=this._domNode)||void 0===i||i.setClassName(this._invisibleClassName+(t?" fade":"")))}}class wk extends pk{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new mk(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new hw),this._shouldRender=!0,this.domNode=tr(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Va(this.domNode.domNode,Ll.POINTER_DOWN,(t=>this._domNodePointerDown(t))))}_createArrow(t){const i=this._register(new gk(t));this.domNode.domNode.appendChild(i.bgDomNode),this.domNode.domNode.appendChild(i.domNode)}_createSlider(t,i,e,s){this.slider=tr(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(i),"number"==typeof e&&this.slider.setWidth(e),"number"==typeof s&&this.slider.setHeight(s),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Va(this.slider.domNode,Ll.POINTER_DOWN,(t=>{0===t.button&&(t.preventDefault(),this._sliderPointerDown(t))}))),this.onclick(this.slider.domNode,(t=>{t.leftButton&&t.stopPropagation()}))}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){const i=this.domNode.domNode.getClientRects()[0].top,e=i+this._scrollbarState.getSliderPosition(),s=i+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),n=this._sliderPointerPosition(t);e<=n&&n<=s?0===t.button&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let i,e;if(t.target===this.domNode.domNode&&"number"==typeof t.offsetX&&"number"==typeof t.offsetY)i=t.offsetX,e=t.offsetY;else{const s=nl(this.domNode.domNode);i=t.pageX-s.left,e=t.pageY-s.top}const s=this._pointerDownRelativePosition(i,e);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(s):this._scrollbarState.getDesiredScrollPositionFromOffset(s)),0===t.button&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!(t.target&&t.target instanceof Element))return;const i=this._sliderPointerPosition(t),e=this._sliderOrthogonalPointerPosition(t),s=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>{const n=this._sliderOrthogonalPointerPosition(t),o=Math.abs(n-e);if(xt&&o>140)return void this._setDesiredScrollPositionNow(s.getScrollPosition());const r=this._sliderPointerPosition(t);this._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(r-i))}),(()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()})),this._host.onDragStart()}_setDesiredScrollPositionNow(t){const i={};this.writeScrollPosition(i,t),this._scrollable.setScrollPositionNow(i)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}class vk{constructor(t,i,e,s,n,o){this._scrollbarSize=Math.round(i),this._oppositeScrollbarSize=Math.round(e),this._arrowSize=Math.round(t),this._visibleSize=s,this._scrollSize=n,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new vk(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(t){const i=Math.round(t);return this._visibleSize!==i&&(this._visibleSize=i,this._refreshComputedValues(),!0)}setScrollSize(t){const i=Math.round(t);return this._scrollSize!==i&&(this._scrollSize=i,this._refreshComputedValues(),!0)}setScrollPosition(t){const i=Math.round(t);return this._scrollPosition!==i&&(this._scrollPosition=i,this._refreshComputedValues(),!0)}setScrollbarSize(t){this._scrollbarSize=Math.round(t)}setOppositeScrollbarSize(t){this._oppositeScrollbarSize=Math.round(t)}static _computeValues(t,i,e,s,n){const o=Math.max(0,e-t),r=Math.max(0,o-2*i),h=s>0&&s>e;if(!h)return{computedAvailableSize:Math.round(o),computedIsNeeded:h,computedSliderSize:Math.round(r),computedSliderRatio:0,computedSliderPosition:0};const c=Math.round(Math.max(20,Math.floor(e*r/s))),a=(r-c)/(s-e),l=n*a;return{computedAvailableSize:Math.round(o),computedIsNeeded:h,computedSliderSize:Math.round(c),computedSliderRatio:a,computedSliderPosition:Math.round(l)}}_refreshComputedValues(){const t=vk._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(t){return this._computedIsNeeded?Math.round((t-this._arrowSize-this._computedSliderSize/2)/this._computedSliderRatio):0}getDesiredScrollPositionFromOffsetPaged(t){if(!this._computedIsNeeded)return 0;let i=this._scrollPosition;return t-this._arrowSizethis._host.onMouseWheel(new ic(null,1,0))}),this._createArrow({className:"scra",icon:Os.scrollbarButtonRight,top:e,left:void 0,bottom:void 0,right:t,bgWidth:i.arrowSize,bgHeight:i.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new ic(null,-1,0))})}this._createSlider(Math.floor((i.horizontalScrollbarSize-i.horizontalSliderSize)/2),0,void 0,i.horizontalSliderSize)}_updateSlider(t,i){this.slider.setWidth(t),this.slider.setLeft(i)}_renderDomNode(t,i){this.domNode.setWidth(t),this.domNode.setHeight(i),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,i){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,i){t.scrollLeft=i}updateOptions(t){this.updateScrollbarSize(2===t.horizontal?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===t.vertical?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}}class yk extends wk{constructor(t,i,e){const s=t.getScrollDimensions(),n=t.getCurrentScrollPosition();if(super({lazyRender:i.lazyRender,host:e,scrollbarState:new vk(i.verticalHasArrows?i.arrowSize:0,2===i.vertical?0:i.verticalScrollbarSize,0,s.height,s.scrollHeight,n.scrollTop),visibility:i.vertical,extraScrollbarClassName:"vertical",scrollable:t,scrollByPage:i.scrollByPage}),i.verticalHasArrows){const t=(i.arrowSize-11)/2,e=(i.verticalScrollbarSize-11)/2;this._createArrow({className:"scra",icon:Os.scrollbarButtonUp,top:t,left:e,bottom:void 0,right:void 0,bgWidth:i.verticalScrollbarSize,bgHeight:i.arrowSize,onActivate:()=>this._host.onMouseWheel(new ic(null,0,1))}),this._createArrow({className:"scra",icon:Os.scrollbarButtonDown,top:void 0,left:e,bottom:t,right:void 0,bgWidth:i.verticalScrollbarSize,bgHeight:i.arrowSize,onActivate:()=>this._host.onMouseWheel(new ic(null,0,-1))})}this._createSlider(0,Math.floor((i.verticalScrollbarSize-i.verticalSliderSize)/2),i.verticalSliderSize,void 0)}_updateSlider(t,i){this.slider.setHeight(t),this.slider.setTop(i)}_renderDomNode(t,i){this.domNode.setWidth(i),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,i){return i}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,i){t.scrollTop=i}updateOptions(t){this.updateScrollbarSize(2===t.vertical?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}}class kk{constructor(t,i,e,s,n,o,r){this._forceIntegerValues=t,this._scrollStateBrand=void 0,this._forceIntegerValues&&(i|=0,e|=0,s|=0,n|=0,o|=0,r|=0),this.rawScrollLeft=s,this.rawScrollTop=r,i<0&&(i=0),s+i>e&&(s=e-i),s<0&&(s=0),n<0&&(n=0),r+n>o&&(r=o-n),r<0&&(r=0),this.width=i,this.scrollWidth=e,this.scrollLeft=s,this.height=n,this.scrollHeight=o,this.scrollTop=r}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,i){return new kk(this._forceIntegerValues,void 0!==t.width?t.width:this.width,void 0!==t.scrollWidth?t.scrollWidth:this.scrollWidth,i?this.rawScrollLeft:this.scrollLeft,void 0!==t.height?t.height:this.height,void 0!==t.scrollHeight?t.scrollHeight:this.scrollHeight,i?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new kk(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==t.scrollLeft?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==t.scrollTop?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,i){return{inSmoothScrolling:i,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:this.width!==t.width,scrollWidthChanged:this.scrollWidth!==t.scrollWidth,scrollLeftChanged:this.scrollLeft!==t.scrollLeft,heightChanged:this.height!==t.height,scrollHeightChanged:this.scrollHeight!==t.scrollHeight,scrollTopChanged:this.scrollTop!==t.scrollTop}}}class xk extends te{constructor(t){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new de),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new kk(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,i){var e;const s=this._state.withScrollDimensions(t,i);this._setState(s,Boolean(this._smoothScrolling)),null===(e=this._smoothScrolling)||void 0===e||e.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){const i=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(i,!1)}setScrollPositionSmooth(t,i){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(t);if(this._smoothScrolling){const e=this._state.withScrollPosition(t={scrollLeft:void 0===t.scrollLeft?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:void 0===t.scrollTop?this._smoothScrolling.to.scrollTop:t.scrollTop});if(this._smoothScrolling.to.scrollLeft===e.scrollLeft&&this._smoothScrolling.to.scrollTop===e.scrollTop)return;let s;s=i?new Dk(this._smoothScrolling.from,e,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,e,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=s}else{const i=this._state.withScrollPosition(t);this._smoothScrolling=Dk.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const t=this._smoothScrolling.tick(),i=this._state.withScrollPosition(t);return this._setState(i,!0),this._smoothScrolling?t.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(t,i){const e=this._state;e.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(e,i)))}}class Ck{constructor(t,i,e){this.scrollLeft=t,this.scrollTop=i,this.isDone=e}}function Sk(t,i){const e=i-t;return function(i){return t+e*(1-Math.pow(1-i,3))}}class Dk{constructor(t,i,e,s){this.from=t,this.to=i,this.duration=s,this.startTime=e,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(t,i,e){if(Math.abs(t-i)>2.5*e){let r,h;return t0&&Math.abs(t.deltaY)>0)return 1;let i=.5;return this._isAlmostInt(t.deltaX)&&this._isAlmostInt(t.deltaY)||(i+=.25),Math.min(Math.max(i,0),1)}_isAlmostInt(t){return Math.abs(Math.round(t)-t)<.01}}Ak.INSTANCE=new Ak;class Mk extends pk{get options(){return this._options}constructor(t,i,e){super(),this._onScroll=this._register(new de),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new de),t.style.overflow="hidden",this._options=function(t){const i={lazyRender:void 0!==t.lazyRender&&t.lazyRender,className:void 0!==t.className?t.className:"",useShadows:void 0===t.useShadows||t.useShadows,handleMouseWheel:void 0===t.handleMouseWheel||t.handleMouseWheel,flipAxes:void 0!==t.flipAxes&&t.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==t.consumeMouseWheelIfScrollbarIsNeeded&&t.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==t.alwaysConsumeMouseWheel&&t.alwaysConsumeMouseWheel,scrollYToX:void 0!==t.scrollYToX&&t.scrollYToX,mouseWheelScrollSensitivity:void 0!==t.mouseWheelScrollSensitivity?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==t.fastScrollSensitivity?t.fastScrollSensitivity:5,scrollPredominantAxis:void 0===t.scrollPredominantAxis||t.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===t.mouseWheelSmoothScroll||t.mouseWheelSmoothScroll,arrowSize:void 0!==t.arrowSize?t.arrowSize:11,listenOnDomNode:void 0!==t.listenOnDomNode?t.listenOnDomNode:null,horizontal:void 0!==t.horizontal?t.horizontal:1,horizontalScrollbarSize:void 0!==t.horizontalScrollbarSize?t.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==t.horizontalSliderSize?t.horizontalSliderSize:0,horizontalHasArrows:void 0!==t.horizontalHasArrows&&t.horizontalHasArrows,vertical:void 0!==t.vertical?t.vertical:1,verticalScrollbarSize:void 0!==t.verticalScrollbarSize?t.verticalScrollbarSize:10,verticalHasArrows:void 0!==t.verticalHasArrows&&t.verticalHasArrows,verticalSliderSize:void 0!==t.verticalSliderSize?t.verticalSliderSize:0,scrollByPage:void 0!==t.scrollByPage&&t.scrollByPage};return i.horizontalSliderSize=void 0!==t.horizontalSliderSize?t.horizontalSliderSize:i.horizontalScrollbarSize,i.verticalSliderSize=void 0!==t.verticalSliderSize?t.verticalSliderSize:i.verticalScrollbarSize,Ct&&(i.className+=" mac"),i}(i),this._scrollable=e,this._register(this._scrollable.onScroll((t=>{this._onWillScroll.fire(t),this._onDidScroll(t),this._onScroll.fire(t)})));const s={onMouseWheel:t=>this._onMouseWheel(t),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new yk(this._scrollable,this._options,s)),this._horizontalScrollbar=this._register(new bk(this._scrollable,this._options,s)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=tr(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=tr(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=tr(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(t=>this._onMouseOver(t))),this.onmouseleave(this._listenOnDomNode,(t=>this._onMouseLeave(t))),this._hideTimeout=this._register(new dc),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=Qi(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,Ct&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(t){void 0!==t.handleMouseWheel&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==t.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),void 0!==t.fastScrollSensitivity&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),void 0!==t.scrollPredominantAxis&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),void 0!==t.horizontal&&(this._options.horizontal=t.horizontal),void 0!==t.vertical&&(this._options.vertical=t.vertical),void 0!==t.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),void 0!==t.verticalScrollbarSize&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),void 0!==t.scrollByPage&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new ic(t))}_setListeningToMouseWheel(t){this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=Qi(this._mouseWheelToDispose),t)&&this._mouseWheelToDispose.push(Va(this._listenOnDomNode,Ll.MOUSE_WHEEL,(t=>{this._onMouseWheel(new ic(t))}),{passive:!1}))}_onMouseWheel(t){var i;if(null===(i=t.browserEvent)||void 0===i?void 0:i.defaultPrevented)return;const e=Ak.INSTANCE;e.acceptStandardWheelEvent(t);let s=!1;if(t.deltaY||t.deltaX){let i=t.deltaY*this._options.mouseWheelScrollSensitivity,n=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&n+i===0?n=i=0:Math.abs(i)>=Math.abs(n)?n=0:i=0),this._options.flipAxes&&([i,n]=[n,i]),!this._options.scrollYToX&&!(!Ct&&t.browserEvent&&t.browserEvent.shiftKey)||n||(n=i,i=0),t.browserEvent&&t.browserEvent.altKey&&(n*=this._options.fastScrollSensitivity,i*=this._options.fastScrollSensitivity);const o=this._scrollable.getFutureScrollPosition();let r={};if(i){const t=50*i,e=o.scrollTop-(t<0?Math.floor(t):Math.ceil(t));this._verticalScrollbar.writeScrollPosition(r,e)}if(n){const t=50*n,i=o.scrollLeft-(t<0?Math.floor(t):Math.ceil(t));this._horizontalScrollbar.writeScrollPosition(r,i)}r=this._scrollable.validateScrollPosition(r),(o.scrollLeft!==r.scrollLeft||o.scrollTop!==r.scrollTop)&&(this._options.mouseWheelSmoothScroll&&e.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(r):this._scrollable.setScrollPositionNow(r),s=!0)}let n=s;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const t=this._scrollable.getCurrentScrollPosition(),i=t.scrollTop>0,e=t.scrollLeft>0,s=e?" left":"",n=i?" top":"",o=e||i?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${s}`),this._topShadowDomNode.setClassName(`shadow${n}`),this._topLeftShadowDomNode.setClassName(`shadow${o}${n}${s}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((()=>this._hide()),500)}}class Lk extends Mk{constructor(t,i){(i=i||{}).mouseWheelSmoothScroll=!1;const e=new xk({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:i=>Qa(Na(t),i)});super(t,i,e),this._register(e)}setScrollPosition(t){this._scrollable.setScrollPositionNow(t)}}class Fk extends Mk{constructor(t,i,e){super(t,i,e)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class Tk extends Mk{constructor(t,i){(i=i||{}).mouseWheelSmoothScroll=!1;const e=new xk({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:i=>Qa(Na(t),i)});super(t,i,e),this._register(e),this._element=t,this._register(this.onScroll((t=>{t.scrollTopChanged&&(this._element.scrollTop=t.scrollTop),t.scrollLeftChanged&&(this._element.scrollLeft=t.scrollLeft)}))),this.scanDomNode()}setScrollPosition(t){this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}class Rk extends Fy{constructor(t,i,e){super(),this._mouseLeaveMonitor=null,this._context=t,this.viewController=i,this.viewHelper=e,this.mouseTargetFactory=new dk(this._context,e),this._mouseDownOperation=this._register(new Ok(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,((t,i)=>this._createMouseTarget(t,i)),(t=>this._getMouseColumn(t)))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(143).height;const s=new Sy(this.viewHelper.viewDomNode);this._register(s.onContextMenu(this.viewHelper.viewDomNode,(t=>this._onContextMenu(t,!0)))),this._register(s.onMouseMove(this.viewHelper.viewDomNode,(t=>{this._onMouseMove(t),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=Va(this.viewHelper.viewDomNode.ownerDocument,"mousemove",(t=>{this.viewHelper.viewDomNode.contains(t.target)||this._onMouseLeave(new Cy(t,!1,this.viewHelper.viewDomNode))})))}))),this._register(s.onMouseUp(this.viewHelper.viewDomNode,(t=>this._onMouseUp(t)))),this._register(s.onMouseLeave(this.viewHelper.viewDomNode,(t=>this._onMouseLeave(t))));let n=0;this._register(s.onPointerDown(this.viewHelper.viewDomNode,((t,i)=>{n=i}))),this._register(Va(this.viewHelper.viewDomNode,Ll.POINTER_UP,(()=>{this._mouseDownOperation.onPointerUp()}))),this._register(s.onMouseDown(this.viewHelper.viewDomNode,(t=>this._onMouseDown(t,n)))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const t=Ak.INSTANCE;let i=0,e=nr.getZoomLevel(),s=!1,n=0;function o(t){return Ct?(t.metaKey||t.ctrlKey)&&!t.shiftKey&&!t.altKey:t.ctrlKey&&!t.metaKey&&!t.shiftKey&&!t.altKey}this._register(Va(this.viewHelper.viewDomNode,Ll.MOUSE_WHEEL,(r=>{if(this.viewController.emitMouseWheel(r),!this._context.configuration.options.get(75))return;const h=new ic(r);if(t.acceptStandardWheelEvent(h),t.isPhysicalMouseWheel()){if(o(r)){const t=nr.getZoomLevel();nr.setZoomLevel(t+(h.deltaY>0?1:-1)),h.preventDefault(),h.stopPropagation()}}else Date.now()-i>50&&(e=nr.getZoomLevel(),s=o(r),n=0),i=Date.now(),n+=h.deltaY,s&&(nr.setZoomLevel(e+n/5),h.preventDefault(),h.stopPropagation())}),{capture:!0,passive:!1}))}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(t){if(t.hasChanged(143)){const t=this._context.configuration.options.get(143).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(t){return this._mouseDownOperation.onCursorStateChanged(t),!1}onFocusChanged(t){return!1}getTargetAtClientPoint(t,i){const e=new vy(t,i).toPageCoordinates(Na(this.viewHelper.viewDomNode)),s=ky(this.viewHelper.viewDomNode);if(e.ys.y+s.height||e.xs.x+s.width)return null;const n=xy(this.viewHelper.viewDomNode,s,e);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),s,e,n,null)}_createMouseTarget(t,i){let e=t.target;if(!this.viewHelper.viewDomNode.contains(e)){const i=fl(this.viewHelper.viewDomNode);i&&(e=i.elementsFromPoint(t.posx,t.posy).find((t=>this.viewHelper.viewDomNode.contains(t))))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),t.editorPos,t.pos,t.relativePos,i?e:null)}_getMouseColumn(t){return this.mouseTargetFactory.getMouseColumn(t.relativePos)}_onContextMenu(t,i){this.viewController.emitContextMenu({event:t,target:this._createMouseTarget(t,i)})}_onMouseMove(t){this.mouseTargetFactory.mouseTargetIsWidget(t)||t.preventDefault(),this._mouseDownOperation.isActive()||t.timestamp{t.preventDefault(),this.viewHelper.focusTextArea()};a&&(s||o&&r)?(l(),this._mouseDownOperation.start(e.type,t,i)):n?t.preventDefault():h?a&&this.viewHelper.shouldSuppressMouseDownOnViewZone(e.detail.viewZoneId)&&(l(),this._mouseDownOperation.start(e.type,t,i),t.preventDefault()):c&&this.viewHelper.shouldSuppressMouseDownOnWidget(e.detail)&&(l(),t.preventDefault()),this.viewController.emitMouseDown({event:t,target:e})}}class Ok extends te{constructor(t,i,e,s,n,o){super(),this._context=t,this._viewController=i,this._viewHelper=e,this._mouseTargetFactory=s,this._createMouseTarget=n,this._getMouseColumn=o,this._mouseMoveMonitor=this._register(new Ey(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new Ik(this._context,this._viewHelper,this._mouseTargetFactory,((t,i,e)=>this._dispatchMouse(t,i,e)))),this._mouseState=new Nk,this._currentSelection=new Ls(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(t){this._lastMouseEvent=t,this._mouseState.setModifiers(t);const i=this._findMousePosition(t,!1);i&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:t,target:i}):13!==i.type||"above"!==i.outsidePosition&&"below"!==i.outsidePosition?(this._topBottomDragScrolling.stop(),this._dispatchMouse(i,!0,1)):this._topBottomDragScrolling.start(i,t))}start(t,i,e){this._lastMouseEvent=i,this._mouseState.setStartedOnLineNumbers(3===t),this._mouseState.setStartButtons(i),this._mouseState.setModifiers(i);const s=this._findMousePosition(i,!0);if(!s||!s.position)return;this._mouseState.trySetCount(i.detail,s.position),i.detail=this._mouseState.count;const n=this._context.configuration.options;if(!n.get(90)&&n.get(35)&&!n.get(22)&&!this._mouseState.altKey&&i.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&6===s.type&&s.position&&this._currentSelection.containsPosition(s.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,e,i.buttons,(t=>this._onMouseDownThenMove(t)),(t=>{const i=this._findMousePosition(this._lastMouseEvent,!1);Ml(t)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:i?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(s,i.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,e,i.buttons,(t=>this._onMouseDownThenMove(t)),(()=>this._stop())))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(t){this._currentSelection=t.selections[0]}_getPositionOutsideEditor(t){const i=t.editorPos,e=this._context.viewModel,s=this._context.viewLayout,n=this._getMouseColumn(t);if(t.posyi.y+i.height){const o=t.posy-i.y-i.height,r=s.getCurrentScrollTop()+t.relativePos.y,h=hk.getZoneAtCoord(this._context,r);if(h){const t=this._helpPositionJumpOverViewZone(h);if(t)return ok.createOutsideEditor(n,t,"below",o)}const c=s.getLineNumberAtVerticalOffset(r);return ok.createOutsideEditor(n,new As(c,e.getLineMaxColumn(c)),"below",o)}const o=s.getLineNumberAtVerticalOffset(s.getCurrentScrollTop()+t.relativePos.y);if(t.posxi.x+i.width){const s=t.posx-i.x-i.width;return ok.createOutsideEditor(n,new As(o,e.getLineMaxColumn(o)),"right",s)}return null}_findMousePosition(t,i){const e=this._getPositionOutsideEditor(t);if(e)return e;const s=this._createMouseTarget(t,i);if(!s.position)return null;if(8===s.type||5===s.type){const t=this._helpPositionJumpOverViewZone(s.detail);if(t)return ok.createViewZone(s.type,s.element,s.mouseColumn,t,s.detail)}return s}_helpPositionJumpOverViewZone(t){const i=new As(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),e=t.positionBefore,s=t.positionAfter;return e&&s?e.isBefore(i)?e:s:null}_dispatchMouse(t,i,e){t.position&&this._viewController.dispatchMouse({position:t.position,mouseColumn:t.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:e,inSelectionMode:i,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:6===t.type&&null!==t.detail.injectedText})}}class Ik extends te{constructor(t,i,e,s){super(),this._context=t,this._viewHelper=i,this._mouseTargetFactory=e,this._dispatchMouse=s,this._operation=null}dispose(){super.dispose(),this.stop()}start(t,i){this._operation?this._operation.setPosition(t,i):this._operation=new _k(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,t,i)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class _k extends te{constructor(t,i,e,s,n,o){super(),this._context=t,this._viewHelper=i,this._mouseTargetFactory=e,this._dispatchMouse=s,this._position=n,this._mouseEvent=o,this._lastTime=Date.now(),this._animationFrameDisposable=Qa(Na(o.browserEvent),(()=>this._execute()))}dispose(){this._animationFrameDisposable.dispose()}setPosition(t,i){this._position=t,this._mouseEvent=i}_tick(){const t=Date.now(),i=t-this._lastTime;return this._lastTime=t,i}_getScrollSpeed(){const t=this._context.configuration.options.get(66),i=this._context.configuration.options.get(143).height/t,e=this._position.outsideDistance/t;return e<=1.5?Math.max(30,i*(1+e)):e<=3?Math.max(60,i*(2+e)):Math.max(200,i*(7+e))}_execute(){const t=this._context.configuration.options.get(66),i=this._getScrollSpeed()*(this._tick()/1e3)*t;this._context.viewModel.viewLayout.deltaScrollNow(0,"above"===this._position.outsidePosition?-i:i),this._viewHelper.renderNow();const e=this._context.viewLayout.getLinesViewportData(),s="above"===this._position.outsidePosition?e.startLineNumber:e.endLineNumber;let n;{const t=ky(this._viewHelper.viewDomNode),i=this._context.configuration.options.get(143).horizontalScrollbarHeight,e=new wy(this._mouseEvent.pos.x,t.y+t.height-i-.1),s=xy(this._viewHelper.viewDomNode,t,e);n=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),t,e,s,null)}n.position&&n.position.lineNumber===s||(n="above"===this._position.outsidePosition?ok.createOutsideEditor(this._position.mouseColumn,new As(s,1),"above",this._position.outsideDistance):ok.createOutsideEditor(this._position.mouseColumn,new As(s,this._context.viewModel.getLineMaxColumn(s)),"below",this._position.outsideDistance)),this._dispatchMouse(n,!0,2),this._animationFrameDisposable=Qa(Na(n.element),(()=>this._execute()))}}class Nk{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(t){this._altKey=t.altKey,this._ctrlKey=t.ctrlKey,this._metaKey=t.metaKey,this._shiftKey=t.shiftKey}setStartButtons(t){this._leftButton=t.leftButton,this._middleButton=t.middleButton}setStartedOnLineNumbers(t){this._startedOnLineNumbers=t}trySetCount(t,i){const e=(new Date).getTime();e-this._lastSetMouseDownCountTime>Nk.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=e,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(i)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=i,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)}}Nk.CLEAR_MOUSE_DOWN_COUNT_TIME=400;class Bk{get event(){return this.emitter.event}constructor(t,i,e){const s=t=>this.emitter.fire(t);this.emitter=new de({onWillAddFirstListener:()=>t.addEventListener(i,s,e),onDidRemoveLastListener:()=>t.removeEventListener(i,s,e)})}dispose(){this.emitter.dispose()}}var Pk;!function(t){const i={total:0,min:Number.MAX_VALUE,max:0},e={...i},s={...i},n={...i};let o=0;const r={keydown:0,input:0,render:0};function h(){1===r.keydown&&(performance.mark("keydown/end"),r.keydown=2)}function c(){performance.mark("input/start"),r.input=1,u()}function a(){1===r.input&&(performance.mark("input/end"),r.input=2)}function l(){1===r.render&&(performance.mark("render/end"),r.render=2)}function u(){setTimeout(d)}function d(){2===r.keydown&&2===r.input&&2===r.render&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),f("keydown",i),f("input",e),f("render",s),f("inputlatency",n),o++,performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),r.keydown=0,r.input=0,r.render=0)}function f(t,i){const e=performance.getEntriesByName(t)[0].duration;i.total+=e,i.min=Math.min(i.min,e),i.max=Math.max(i.max,e)}function p(t){return{average:t.total/o,max:t.max,min:t.min}}function g(t){t.total=0,t.min=Number.MAX_VALUE,t.max=0}t.onKeyDown=function(){d(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),r.keydown=1,queueMicrotask(h)},t.onBeforeInput=c,t.onInput=function(){0===r.input&&c(),queueMicrotask(a)},t.onKeyUp=function(){d()},t.onSelectionChange=function(){d()},t.onRenderStart=function(){2===r.keydown&&2===r.input&&0===r.render&&(performance.mark("render/start"),r.render=1,queueMicrotask(l),u())},t.getAndClearMeasurements=function(){if(0===o)return;const t={keydown:p(i),input:p(e),render:p(s),total:p(n),sampleCount:o};return g(i),g(e),g(s),g(n),o=0,t}}(Pk||(Pk={}));class $k{constructor(t,i,e,s,n){this.value=t,this.selectionStart=i,this.selectionEnd=e,this.selection=s,this.newlineCountBeforeSelection=n}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(t,i){const e=t.getValue(),s=t.getSelectionStart(),n=t.getSelectionEnd();let o;return i&&e.substring(0,s)===i.value.substring(0,i.selectionStart)&&(o=i.newlineCountBeforeSelection),new $k(e,s,n,null,o)}collapseSelection(){return this.selectionStart===this.value.length?this:new $k(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(t,i,e){i.setValue(t,this.value),e&&i.setSelectionRange(t,this.selectionStart,this.selectionEnd)}deduceEditorPosition(t){var i,e,s,n,o,r,h,c;if(t<=this.selectionStart){const s=this.value.substring(t,this.selectionStart);return this._finishDeduceEditorPosition(null!==(e=null===(i=this.selection)||void 0===i?void 0:i.getStartPosition())&&void 0!==e?e:null,s,-1)}if(t>=this.selectionEnd){const i=this.value.substring(this.selectionEnd,t);return this._finishDeduceEditorPosition(null!==(n=null===(s=this.selection)||void 0===s?void 0:s.getEndPosition())&&void 0!==n?n:null,i,1)}const a=this.value.substring(this.selectionStart,t);if(-1===a.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(null!==(r=null===(o=this.selection)||void 0===o?void 0:o.getStartPosition())&&void 0!==r?r:null,a,1);const l=this.value.substring(t,this.selectionEnd);return this._finishDeduceEditorPosition(null!==(c=null===(h=this.selection)||void 0===h?void 0:h.getEndPosition())&&void 0!==c?c:null,l,-1)}_finishDeduceEditorPosition(t,i,e){let s=0,n=-1;for(;-1!==(n=i.indexOf("\n",n+1));)s++;return[t,e*i.length,s]}static deduceInput(t,i,e){if(!t)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const s=Math.min(fo(t.value,i.value),t.selectionStart,i.selectionStart),n=Math.min(po(t.value,i.value),t.value.length-t.selectionEnd,i.value.length-i.selectionEnd);t.value.substring(s,t.value.length-n);const o=i.value.substring(s,i.value.length-n);return i.selectionStart-s==i.selectionEnd-s?{text:o,replacePrevCharCnt:t.selectionStart-s,replaceNextCharCnt:0,positionDelta:0}:{text:o,replacePrevCharCnt:t.selectionEnd-s-(t.selectionStart-s),replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(t,i){if(!t)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(t.value===i.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:i.selectionEnd-t.selectionEnd};const e=Math.min(fo(t.value,i.value),t.selectionEnd),s=Math.min(po(t.value,i.value),t.value.length-t.selectionEnd),n=t.value.substring(e,t.value.length-s),o=i.value.substring(e,i.value.length-s),r=t.selectionEnd-e;return{text:o,replacePrevCharCnt:r,replaceNextCharCnt:n.length-r,positionDelta:i.selectionEnd-e-o.length}}}$k.EMPTY=new $k("",0,0,null,void 0);class Wk{static _getPageOfLine(t,i){return Math.floor((t-1)/i)}static _getRangeForPage(t,i){const e=t*i;return new Ms(e+1,1,e+i+1,1)}static fromEditorSelection(t,i,e,s){const n=500,o=Wk._getPageOfLine(i.startLineNumber,e),r=Wk._getRangeForPage(o,e),h=Wk._getPageOfLine(i.endLineNumber,e),c=Wk._getRangeForPage(h,e);let a=r.intersectRanges(new Ms(1,1,i.startLineNumber,i.startColumn));if(s&&t.getValueLengthInRange(a,1)>n){const i=t.modifyPosition(a.getEndPosition(),-500);a=Ms.fromPositions(i,a.getEndPosition())}const l=t.getValueInRange(a,1),u=t.getLineCount(),d=t.getLineMaxColumn(u);let f=c.intersectRanges(new Ms(i.endLineNumber,i.endColumn,u,d));if(s&&t.getValueLengthInRange(f,1)>n){const i=t.modifyPosition(f.getStartPosition(),n);f=Ms.fromPositions(f.getStartPosition(),i)}const p=t.getValueInRange(f,1);let g;if(o===h||o+1===h)g=t.getValueInRange(i,1);else{const e=r.intersectRanges(i),s=c.intersectRanges(i);g=t.getValueInRange(e,1)+String.fromCharCode(8230)+t.getValueInRange(s,1)}return s&&g.length>1e3&&(g=g.substring(0,n)+String.fromCharCode(8230)+g.substring(g.length-n,g.length)),new $k(l+g+p,l.length,l.length+g.length,i,a.endLineNumber-a.startLineNumber)}}var jk,zk=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.Tap="-monaco-textarea-synthetic-tap"}(jk||(jk={}));const Hk={forceCopyWithSyntaxHighlighting:!1};class Vk{constructor(){this._lastState=null}set(t,i){this._lastState={lastCopiedValue:t,data:i}}get(t){return this._lastState&&this._lastState.lastCopiedValue===t?this._lastState.data:(this._lastState=null,null)}}Vk.INSTANCE=new Vk;class Uk{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(t){const i={text:t=t||"",replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=t.length,i}}let qk=class extends te{get textAreaState(){return this._textAreaState}constructor(t,i,e,s,n,o){super(),this._host=t,this._textArea=i,this._OS=e,this._browser=s,this._accessibilityService=n,this._logService=o,this._onFocus=this._register(new de),this.onFocus=this._onFocus.event,this._onBlur=this._register(new de),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new de),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new de),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new de),this.onCut=this._onCut.event,this._onPaste=this._register(new de),this.onPaste=this._onPaste.event,this._onType=this._register(new de),this.onType=this._onType.event,this._onCompositionStart=this._register(new de),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new de),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new de),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new de),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new ie),this._asyncTriggerCut=this._register(new pc((()=>this._onCut.fire()),0)),this._textAreaState=$k.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(he.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new pc((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)):this._asyncFocusGainWriteScreenReaderContent.clear()}))),this._hasFocus=!1,this._currentComposition=null;let r=null;this._register(this._textArea.onKeyDown((t=>{const i=new Qh(t);(114===i.keyCode||this._currentComposition&&1===i.keyCode)&&i.stopPropagation(),i.equals(9)&&i.preventDefault(),r=i,this._onKeyDown.fire(i)}))),this._register(this._textArea.onKeyUp((t=>{const i=new Qh(t);this._onKeyUp.fire(i)}))),this._register(this._textArea.onCompositionStart((t=>{const i=new Uk;if(this._currentComposition)this._currentComposition=i;else{if(this._currentComposition=i,2===this._OS&&r&&r.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===t.data&&("ArrowRight"===r.code||"ArrowLeft"===r.code))return i.handleCompositionUpdate("x"),void this._onCompositionStart.fire({data:t.data});this._onCompositionStart.fire({data:t.data})}}))),this._register(this._textArea.onCompositionUpdate((t=>{const i=this._currentComposition;if(!i)return;if(this._browser.isAndroid){const i=$k.readFromTextArea(this._textArea,this._textAreaState),e=$k.deduceAndroidCompositionInput(this._textAreaState,i);return this._textAreaState=i,this._onType.fire(e),void this._onCompositionUpdate.fire(t)}const e=i.handleCompositionUpdate(t.data);this._textAreaState=$k.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(e),this._onCompositionUpdate.fire(t)}))),this._register(this._textArea.onCompositionEnd((t=>{const i=this._currentComposition;if(!i)return;if(this._currentComposition=null,this._browser.isAndroid){const t=$k.readFromTextArea(this._textArea,this._textAreaState),i=$k.deduceAndroidCompositionInput(this._textAreaState,t);return this._textAreaState=t,this._onType.fire(i),void this._onCompositionEnd.fire()}const e=i.handleCompositionUpdate(t.data);this._textAreaState=$k.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(e),this._onCompositionEnd.fire()}))),this._register(this._textArea.onInput((()=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const t=$k.readFromTextArea(this._textArea,this._textAreaState),i=$k.deduceInput(this._textAreaState,t,2===this._OS);(0!==i.replacePrevCharCnt||1!==i.text.length||!go(i.text.charCodeAt(0))&&127!==i.text.charCodeAt(0))&&(this._textAreaState=t,""===i.text&&0===i.replacePrevCharCnt&&0===i.replaceNextCharCnt&&0===i.positionDelta||this._onType.fire(i))}))),this._register(this._textArea.onCut((t=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(t),this._asyncTriggerCut.schedule()}))),this._register(this._textArea.onCopy((t=>{this._ensureClipboardGetsEditorSelection(t)}))),this._register(this._textArea.onPaste((t=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),t.preventDefault(),!t.clipboardData)return;let[i,e]=Kk.getTextData(t.clipboardData);i&&(e=e||Vk.INSTANCE.get(i),this._onPaste.fire({text:i,metadata:e}))}))),this._register(this._textArea.onFocus((()=>{const t=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!t&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new pc((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())}))),this._register(this._textArea.onBlur((()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)}))),this._register(this._textArea.onSyntheticTap((()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())})))}_installSelectionChangeListener(){let t=0;return Va(this._textArea.ownerDocument,"selectionchange",(()=>{if(Pk.onSelectionChange(),!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;const i=Date.now(),e=i-t;if(t=i,e<5)return;const s=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),s<100)return;if(!this._textAreaState.selection)return;const n=this._textArea.getValue();if(this._textAreaState.value!==n)return;const o=this._textArea.getSelectionStart(),r=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===o&&this._textAreaState.selectionEnd===r)return;const h=this._textAreaState.deduceEditorPosition(o),c=this._host.deduceModelPosition(h[0],h[1],h[2]),a=this._textAreaState.deduceEditorPosition(r),l=this._host.deduceModelPosition(a[0],a[1],a[2]),u=new Ls(c.lineNumber,c.column,l.lineNumber,l.column);this._onSelectionChangeRequest.fire(u)}))}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(t){this._hasFocus!==t&&(this._hasFocus=t,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(t,i){this._hasFocus||(i=i.collapseSelection()),i.writeToTextArea(t,this._textArea,this._hasFocus),this._textAreaState=i}writeNativeTextAreaContent(t){!this._accessibilityService.isScreenReaderOptimized()&&"render"===t||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${t})`),this._setAndWriteTextAreaState(t,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(t){const i=this._host.getDataToCopy(),e={version:1,isFromEmptySelection:i.isFromEmptySelection,multicursorText:i.multicursorText,mode:i.mode};Vk.INSTANCE.set(this._browser.isFirefox?i.text.replace(/\r\n/g,"\n"):i.text,e),t.preventDefault(),t.clipboardData&&Kk.setTextData(t.clipboardData,i.text,i.html,e)}};qk=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([zk(4,Zm),zk(5,jh)],qk);const Kk={getTextData(t){const i=t.getData(Dd.text);let e=null;const s=t.getData("vscode-editor-data");if("string"==typeof s)try{e=JSON.parse(s),1!==e.version&&(e=null)}catch(t){}return 0===i.length&&null===e&&t.files.length>0?[Array.prototype.slice.call(t.files,0).map((t=>t.name)).join("\n"),null]:[i,e]},setTextData(t,i,e,s){t.setData(Dd.text,i),"string"==typeof e&&t.setData("text/html",e),t.setData("vscode-editor-data",JSON.stringify(s))}};class Gk extends te{get ownerDocument(){return this._actual.ownerDocument}constructor(t){super(),this._actual=t,this.onKeyDown=this._register(new Bk(this._actual,"keydown")).event,this.onKeyUp=this._register(new Bk(this._actual,"keyup")).event,this.onCompositionStart=this._register(new Bk(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new Bk(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new Bk(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new Bk(this._actual,"beforeinput")).event,this.onInput=this._register(new Bk(this._actual,"input")).event,this.onCut=this._register(new Bk(this._actual,"cut")).event,this.onCopy=this._register(new Bk(this._actual,"copy")).event,this.onPaste=this._register(new Bk(this._actual,"paste")).event,this.onFocus=this._register(new Bk(this._actual,"focus")).event,this.onBlur=this._register(new Bk(this._actual,"blur")).event,this._onSyntheticTap=this._register(new de),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown((()=>Pk.onKeyDown()))),this._register(this.onBeforeInput((()=>Pk.onBeforeInput()))),this._register(this.onInput((()=>Pk.onInput()))),this._register(this.onKeyUp((()=>Pk.onKeyUp()))),this._register(Va(this._actual,jk.Tap,(()=>this._onSyntheticTap.fire())))}hasFocus(){const t=fl(this._actual);return t?t.activeElement===this._actual:!!this._actual.isConnected&&this._actual.ownerDocument.activeElement===this._actual}setIgnoreSelectionChangeTime(t){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(t,i){const e=this._actual;e.value!==i&&(this.setIgnoreSelectionChangeTime("setValue"),e.value=i)}getSelectionStart(){return"backward"===this._actual.selectionDirection?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return"backward"===this._actual.selectionDirection?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(t,i,e){const s=this._actual;let n=null;const o=fl(s);n=o?o.activeElement:s.ownerDocument.activeElement;const r=Na(n),h=n===s;if(h&&s.selectionStart===i&&s.selectionEnd===e)Uo&&r.parent!==r&&s.focus();else{if(h)return this.setIgnoreSelectionChangeTime("setSelectionRange"),s.setSelectionRange(i,e),void(Uo&&r.parent!==r&&s.focus());try{const t=function(t){const i=[];for(let e=0;t&&t.nodeType===t.ELEMENT_NODE;e++)i[e]=t.scrollTop,t=t.parentNode;return i}(s);this.setIgnoreSelectionChangeTime("setSelectionRange"),s.focus(),s.setSelectionRange(i,e),function(t,i){for(let e=0;t&&t.nodeType===t.ELEMENT_NODE;e++)t.scrollTop!==i[e]&&(t.scrollTop=i[e]),t=t.parentNode}(s,t)}catch(t){}}}}class Zk extends Rk{constructor(t,i,e){super(t,i,e),this._register(rw.addTarget(this.viewHelper.linesContentDomNode)),this._register(Va(this.viewHelper.linesContentDomNode,ow.Tap,(t=>this.onTap(t)))),this._register(Va(this.viewHelper.linesContentDomNode,ow.Change,(t=>this.onChange(t)))),this._register(Va(this.viewHelper.linesContentDomNode,ow.Contextmenu,(t=>this._onContextMenu(new Cy(t,!1,this.viewHelper.viewDomNode),!1)))),this._lastPointerType="mouse",this._register(Va(this.viewHelper.linesContentDomNode,"pointerdown",(t=>{const i=t.pointerType;this._lastPointerType="mouse"!==i?"touch"===i?"touch":"pen":"mouse"})));const s=new Dy(this.viewHelper.viewDomNode);this._register(s.onPointerMove(this.viewHelper.viewDomNode,(t=>this._onMouseMove(t)))),this._register(s.onPointerUp(this.viewHelper.viewDomNode,(t=>this._onMouseUp(t)))),this._register(s.onPointerLeave(this.viewHelper.viewDomNode,(t=>this._onMouseLeave(t)))),this._register(s.onPointerDown(this.viewHelper.viewDomNode,((t,i)=>this._onMouseDown(t,i))))}onTap(t){if(!t.initialTarget||!this.viewHelper.linesContentDomNode.contains(t.initialTarget))return;t.preventDefault(),this.viewHelper.focusTextArea();const i=this._createMouseTarget(new Cy(t,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:t.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:6===i.type&&null!==i.detail.injectedText})}onChange(t){"touch"===this._lastPointerType&&this._context.viewModel.viewLayout.deltaScrollNow(-t.translationX,-t.translationY)}_onMouseDown(t,i){"touch"!==t.browserEvent.pointerType&&super._onMouseDown(t,i)}}class Qk extends Rk{constructor(t,i,e){super(t,i,e),this._register(rw.addTarget(this.viewHelper.linesContentDomNode)),this._register(Va(this.viewHelper.linesContentDomNode,ow.Tap,(t=>this.onTap(t)))),this._register(Va(this.viewHelper.linesContentDomNode,ow.Change,(t=>this.onChange(t)))),this._register(Va(this.viewHelper.linesContentDomNode,ow.Contextmenu,(t=>this._onContextMenu(new Cy(t,!1,this.viewHelper.viewDomNode),!1))))}onTap(t){t.preventDefault(),this.viewHelper.focusTextArea();const i=this._createMouseTarget(new Cy(t,!1,this.viewHelper.viewDomNode),!1);if(i.position){const t=document.createEvent("CustomEvent");t.initEvent(jk.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(t),this.viewController.moveTo(i.position,1)}}onChange(t){this._context.viewModel.viewLayout.deltaScrollNow(-t.translationX,-t.translationY)}}class Jk extends te{constructor(t,i,e){super(),this.handler=this._register(Mt&&Kh?new Zk(t,i,e):$n.TouchEvent?new Qk(t,i,e):new Rk(t,i,e))}getTargetAtClientPoint(t,i){return this.handler.getTargetAtClientPoint(t,i)}}class Yk extends Fy{}const Xk=dr("themeService");function tx(t){return{id:t}}function ix(t){switch(t){case jy.DARK:return"vs-dark";case jy.HIGH_CONTRAST_DARK:return"hc-black";case jy.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const ex="base.contributions.theming",sx=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new de}onColorThemeChange(t){return this.themingParticipants.push(t),this.onThemingParticipantAddedEmitter.fire(t),Yi((()=>{const i=this.themingParticipants.indexOf(t);this.themingParticipants.splice(i,1)}))}getThemingParticipants(){return this.themingParticipants}};function nx(t){return sx.onColorThemeChange(t)}Dh.add(ex,sx);class ox extends te{constructor(t){super(),this.themeService=t,this.theme=t.getColorTheme(),this._register(this.themeService.onDidColorThemeChange((t=>this.onThemeChange(t))))}onThemeChange(t){this.theme=t,this.updateStyles()}updateStyles(){}}const rx=dw("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Background color for the highlight of line at the cursor position.")),hx=dw("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:ww},ot(0,"Background color for the border around the line at the cursor position."));dw("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},ot(0,"Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),dw("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:vw,hcLight:vw},ot(0,"Background color of the border around highlighted ranges."),!0),dw("editor.symbolHighlightBackground",{dark:Lv,light:Lv,hcDark:null,hcLight:null},ot(0,"Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),dw("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:vw,hcLight:vw},ot(0,"Background color of the border around highlighted symbols."),!0);const cx=dw("editorCursor.foreground",{dark:"#AEAFAD",light:lg.black,hcDark:lg.white,hcLight:"#0F4A85"},ot(0,"Color of the editor cursor.")),ax=dw("editorCursor.background",null,ot(0,"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),lx=dw("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},ot(0,"Color of whitespace characters in the editor.")),ux=dw("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:lg.white,hcLight:"#292929"},ot(0,"Color of editor line numbers.")),dx=dw("editorIndentGuide.background",{dark:lx,light:lx,hcDark:lx,hcLight:lx},ot(0,"Color of the editor indentation guides."),!1,ot(0,"'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),fx=dw("editorIndentGuide.activeBackground",{dark:lx,light:lx,hcDark:lx,hcLight:lx},ot(0,"Color of the active editor indentation guides."),!1,ot(0,"'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),px=dw("editorIndentGuide.background1",{dark:dx,light:dx,hcDark:dx,hcLight:dx},ot(0,"Color of the editor indentation guides (1).")),gx=dw("editorIndentGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the editor indentation guides (2).")),mx=dw("editorIndentGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the editor indentation guides (3).")),wx=dw("editorIndentGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the editor indentation guides (4).")),vx=dw("editorIndentGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the editor indentation guides (5).")),bx=dw("editorIndentGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the editor indentation guides (6).")),yx=dw("editorIndentGuide.activeBackground1",{dark:fx,light:fx,hcDark:fx,hcLight:fx},ot(0,"Color of the active editor indentation guides (1).")),kx=dw("editorIndentGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the active editor indentation guides (2).")),xx=dw("editorIndentGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the active editor indentation guides (3).")),Cx=dw("editorIndentGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the active editor indentation guides (4).")),Sx=dw("editorIndentGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the active editor indentation guides (5).")),Dx=dw("editorIndentGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Color of the active editor indentation guides (6).")),Ex=dw("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:vw,hcLight:vw},ot(0,"Color of editor active line number"),!1,ot(0,"Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));dw("editorLineNumber.activeForeground",{dark:Ex,light:Ex,hcDark:Ex,hcLight:Ex},ot(0,"Color of editor active line number"));const Ax=dw("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Color of the final editor line when editor.renderFinalNewline is set to dimmed."));dw("editorRuler.foreground",{dark:"#5A5A5A",light:lg.lightgrey,hcDark:lg.white,hcLight:"#292929"},ot(0,"Color of the editor rulers.")),dw("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},ot(0,"Foreground color of editor CodeLens")),dw("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},ot(0,"Background color behind matching brackets")),dw("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:ww,hcLight:ww},ot(0,"Color for matching brackets boxes"));const Mx=dw("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},ot(0,"Color of the overview ruler border.")),Lx=dw("editorOverviewRuler.background",null,ot(0,"Background color of the editor overview ruler."));dw("editorGutter.background",{dark:av,light:av,hcDark:av,hcLight:av},ot(0,"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),dw("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:lg.fromHex("#fff").transparent(.8),hcLight:ww},ot(0,"Border color of unnecessary (unused) source code in the editor."));const Fx=dw("editorUnnecessaryCode.opacity",{dark:lg.fromHex("#000a"),light:lg.fromHex("#0007"),hcDark:null,hcLight:null},ot(0,"Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out."));dw("editorGhostText.border",{dark:null,light:null,hcDark:lg.fromHex("#fff").transparent(.8),hcLight:lg.fromHex("#292929").transparent(.8)},ot(0,"Border color of ghost text in the editor.")),dw("editorGhostText.foreground",{dark:lg.fromHex("#ffffff56"),light:lg.fromHex("#0007"),hcDark:null,hcLight:null},ot(0,"Foreground color of the ghost text in the editor.")),dw("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},ot(0,"Background color of the ghost text in the editor."));const Tx=new lg(new hg(0,122,204,.6)),Rx=dw("editorOverviewRuler.rangeHighlightForeground",{dark:Tx,light:Tx,hcDark:Tx,hcLight:Tx},ot(0,"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Ox=dw("editorOverviewRuler.errorForeground",{dark:new lg(new hg(255,18,18,.7)),light:new lg(new hg(255,18,18,.7)),hcDark:new lg(new hg(255,50,50,1)),hcLight:"#B5200D"},ot(0,"Overview ruler marker color for errors.")),Ix=dw("editorOverviewRuler.warningForeground",{dark:nv,light:nv,hcDark:ov,hcLight:ov},ot(0,"Overview ruler marker color for warnings.")),_x=dw("editorOverviewRuler.infoForeground",{dark:rv,light:rv,hcDark:hv,hcLight:hv},ot(0,"Overview ruler marker color for infos.")),Nx=dw("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},ot(0,"Foreground color of brackets (1). Requires enabling bracket pair colorization.")),Bx=dw("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},ot(0,"Foreground color of brackets (2). Requires enabling bracket pair colorization.")),Px=dw("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},ot(0,"Foreground color of brackets (3). Requires enabling bracket pair colorization.")),$x=dw("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Foreground color of brackets (4). Requires enabling bracket pair colorization.")),Wx=dw("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Foreground color of brackets (5). Requires enabling bracket pair colorization.")),jx=dw("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Foreground color of brackets (6). Requires enabling bracket pair colorization.")),zx=dw("editorBracketHighlight.unexpectedBracket.foreground",{dark:new lg(new hg(255,18,18,.8)),light:new lg(new hg(255,18,18,.8)),hcDark:new lg(new hg(255,50,50,1)),hcLight:""},ot(0,"Foreground color of unexpected brackets.")),Hx=dw("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Vx=dw("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Ux=dw("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),qx=dw("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),Kx=dw("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),Gx=dw("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),Zx=dw("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Qx=dw("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),Jx=dw("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),Yx=dw("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),Xx=dw("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),tC=dw("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},ot(0,"Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));dw("editorUnicodeHighlight.border",{dark:"#BD9B03",light:"#CEA33D",hcDark:"#ff0000",hcLight:"#CEA33D"},ot(0,"Border color used to highlight unicode characters.")),dw("editorUnicodeHighlight.background",{dark:"#bd9b0326",light:"#cea33d14",hcDark:"#00000000",hcLight:"#cea33d14"},ot(0,"Background color used to highlight unicode characters.")),nx(((t,i)=>{const e=t.getColor(av),s=t.getColor(rx),n=s&&!s.isTransparent()?s:e;n&&i.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${n}; }`)}));class iC extends Yk{constructor(t){super(),this._context=t,this._readConfig(),this._lastCursorModelPosition=new As(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const t=this._context.configuration.options;this._lineHeight=t.get(66);const i=t.get(67);this._renderLineNumbers=i.renderType,this._renderCustomLineNumbers=i.renderFn,this._renderFinalNewline=t.get(94);const e=t.get(143);this._lineNumbersLeft=e.lineNumbersLeft,this._lineNumbersWidth=e.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){return this._readConfig(),!0}onCursorStateChanged(t){const i=t.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i);let e=!1;return this._activeLineNumber!==i.lineNumber&&(this._activeLineNumber=i.lineNumber,e=!0),2!==this._renderLineNumbers&&3!==this._renderLineNumbers||(e=!0),e}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_getLineRenderLineNumber(t){const i=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new As(t,1));if(1!==i.column)return"";const e=i.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(e);if(2===this._renderLineNumbers){const t=Math.abs(this._lastCursorModelPosition.lineNumber-e);return 0===t?''+e+"":String(t)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===e||e%10==0?String(e):"":String(e)}prepareRender(t){if(0===this._renderLineNumbers)return void(this._renderResult=null);const i=St?this._lineHeight%2==0?" lh-even":" lh-odd":"",e=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,n=this._context.viewModel.getLineCount(),o=[];for(let t=e;t<=s;t++){const s=t-e,r=this._getLineRenderLineNumber(t);if(!r){o[s]="";continue}let h="";if(t===n&&0===this._context.viewModel.getLineLength(t)){if("off"===this._renderFinalNewline){o[s]="";continue}"dimmed"===this._renderFinalNewline&&(h=" dimmed-line-number")}t===this._activeLineNumber&&(h=" active-line-number"),o[s]=`

${r}
`}this._renderResult=o}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}iC.CLASS_NAME="line-numbers",nx(((t,i)=>{const e=t.getColor(ux),s=t.getColor(Ax);s?i.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${s}; }`):e&&i.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${e.transparent(.4)}; }`)}));class eC extends Ty{constructor(t){super(t);const i=this._context.configuration.options,e=i.get(143);this._canUseLayerHinting=!i.get(32),this._contentLeft=e.contentLeft,this._glyphMarginLeft=e.glyphMarginLeft,this._glyphMarginWidth=e.glyphMarginWidth,this._domNode=tr(document.createElement("div")),this._domNode.setClassName(eC.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=tr(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(eC.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(143);return this._canUseLayerHinting=!i.get(32),this._contentLeft=e.contentLeft,this._glyphMarginLeft=e.glyphMarginLeft,this._glyphMarginWidth=e.glyphMarginWidth,!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollTopChanged}prepareRender(t){}render(t){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict"),this._domNode.setTop(-(t.scrollTop-t.bigNumbersDelta));const i=Math.min(t.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}eC.CLASS_NAME="glyph-margin",eC.OUTER_CLASS_NAME="margin";const sC="monaco-mouse-cursor-text",nC=new class{constructor(){this._onDidChange=new de,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}},oC=dr("keybindingService");var rC=function(t,i){return function(e,s){i(e,s,t)}};class hC{constructor(t,i,e,s,n){this._context=t,this.modelLineNumber=i,this.distanceToModelLineStart=e,this.widthOfHiddenLineTextBefore=s,this.distanceToModelLineEnd=n,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(t){const i=new As(this.modelLineNumber,this.distanceToModelLineStart+1),e=new As(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(e),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=t.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=t.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(t){return this._previousPresentation||(this._previousPresentation=t||{foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const cC=Uo;let aC=class extends Ty{constructor(t,i,e,s,n){super(t),this._keybindingService=s,this._instantiationService=n,this._primaryCursorPosition=new As(1,1),this._primaryCursorVisibleRange=null,this._viewController=i,this._visibleRangeProvider=e,this._scrollLeft=0,this._scrollTop=0;const o=this._context.configuration.options,r=o.get(143);this._setAccessibilityOptions(o),this._contentLeft=r.contentLeft,this._contentWidth=r.contentWidth,this._contentHeight=r.height,this._fontInfo=o.get(50),this._lineHeight=o.get(66),this._emptySelectionClipboard=o.get(37),this._copyWithSyntaxHighlighting=o.get(25),this._visibleTextArea=null,this._selections=[new Ls(1,1,1,1)],this._modelSelections=[new Ls(1,1,1,1)],this._lastRenderPosition=null,this.textArea=tr(document.createElement("textarea")),Ry.write(this.textArea,6),this.textArea.setClassName(`inputarea ${sC}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:h}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=h*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(o)),this.textArea.setAttribute("aria-required",o.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(o.get(123))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",ot(0,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",o.get(90)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=tr(document.createElement("div")),this.textAreaCover.setPosition("absolute");const c={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:t=>this._context.viewModel.getLineMaxColumn(t),getValueInRange:(t,i)=>this._context.viewModel.getValueInRange(t,i),getValueLengthInRange:(t,i)=>this._context.viewModel.getValueLengthInRange(t,i),modifyPosition:(t,i)=>this._context.viewModel.modifyPosition(t,i)},a={getDataToCopy:()=>{const t=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,xt),i=this._context.viewModel.model.getEOL(),e=this._emptySelectionClipboard&&1===this._modelSelections.length&&this._modelSelections[0].isEmpty(),s=Array.isArray(t)?t:null,n=Array.isArray(t)?t.join(i):t;let o,r=null;if(Hk.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&n.length<65536){const t=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);t&&(o=t.html,r=t.mode)}return{isFromEmptySelection:e,multicursorText:s,text:n,html:o,mode:r}},getScreenReaderContent:()=>{if(1===this._accessibilitySupport){const t=this._selections[0];if(Ct&&t.isEmpty()){const i=t.getStartPosition();let e=this._getWordBeforePosition(i);if(0===e.length&&(e=this._getCharacterBeforePosition(i)),e.length>0)return new $k(e,e.length,e.length,Ms.fromPositions(i),0)}const i=500;if(Ct&&!t.isEmpty()&&c.getValueLengthInRange(t,0)0)return new $k(e,s,s,Ms.fromPositions(i),0)}return $k.EMPTY}return Wk.fromEditorSelection(c,this._selections[0],this._accessibilityPageSize,0===this._accessibilitySupport)},deduceModelPosition:(t,i,e)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(t,i,e)},l=this._register(new Gk(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(qk,a,l,It,{isAndroid:Qo,isChrome:Ko,isFirefox:Uo,isSafari:Go})),this._register(this._textAreaInput.onKeyDown((t=>{this._viewController.emitKeyDown(t)}))),this._register(this._textAreaInput.onKeyUp((t=>{this._viewController.emitKeyUp(t)}))),this._register(this._textAreaInput.onPaste((t=>{let i=!1,e=null,s=null;t.metadata&&(i=this._emptySelectionClipboard&&!!t.metadata.isFromEmptySelection,e=void 0!==t.metadata.multicursorText?t.metadata.multicursorText:null,s=t.metadata.mode),this._viewController.paste(t.text,i,e,s)}))),this._register(this._textAreaInput.onCut((()=>{this._viewController.cut()}))),this._register(this._textAreaInput.onType((t=>{t.replacePrevCharCnt||t.replaceNextCharCnt||t.positionDelta?this._viewController.compositionType(t.text,t.replacePrevCharCnt,t.replaceNextCharCnt,t.positionDelta):this._viewController.type(t.text)}))),this._register(this._textAreaInput.onSelectionChangeRequest((t=>{this._viewController.setSelection(t)}))),this._register(this._textAreaInput.onCompositionStart((()=>{const t=this.textArea.domNode,i=this._modelSelections[0],{distanceToModelLineStart:e,widthOfHiddenTextBefore:s}=(()=>{const e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),s=e.lastIndexOf("\n"),n=e.substring(s+1),o=n.lastIndexOf("\t"),r=n.length-o-1,h=i.getStartPosition(),c=Math.min(h.column-1,r),a=h.column-1-c,l=n.substring(0,n.length-c),{tabSize:u}=this._context.viewModel.model.getOptions(),d=function(t,i,e,s){if(0===i.length)return 0;const n=t.createElement("div");n.style.position="absolute",n.style.top="-50000px",n.style.width="50000px";const o=t.createElement("span");ir(o,e),o.style.whiteSpace="pre",o.style.tabSize=s*e.spaceWidth+"px",o.append(i),n.appendChild(o),t.body.appendChild(n);const r=o.offsetWidth;return t.body.removeChild(n),r}(this.textArea.domNode.ownerDocument,l,this._fontInfo,u);return{distanceToModelLineStart:a,widthOfHiddenTextBefore:d}})(),{distanceToModelLineEnd:n}=(()=>{const e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),s=e.indexOf("\n"),n=-1===s?e:e.substring(0,s),o=n.indexOf("\t"),r=-1===o?n.length:n.length-o-1,h=i.getEndPosition(),c=Math.min(this._context.viewModel.model.getLineMaxColumn(h.lineNumber)-h.column,r);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(h.lineNumber)-h.column-c}})();this._context.viewModel.revealRange("keyboard",!0,Ms.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new hC(this._context,i.startLineNumber,e,s,n),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${sC} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()}))),this._register(this._textAreaInput.onCompositionUpdate((()=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())}))),this._register(this._textAreaInput.onCompositionEnd((()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${sC}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}))),this._register(this._textAreaInput.onFocus((()=>{this._context.viewModel.setHasFocus(!0)}))),this._register(this._textAreaInput.onBlur((()=>{this._context.viewModel.setHasFocus(!1)}))),this._register(nC.onDidChange((()=>{this._ensureReadOnlyAttribute()})))}writeScreenReaderContent(t){this._textAreaInput.writeNativeTextAreaContent(t)}dispose(){super.dispose()}_getAndroidWordAtPosition(t){const i=this._context.viewModel.getLineContent(t.lineNumber),e=If('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?');let s=!0,n=t.column,o=!0,r=t.column,h=0;for(;h<50&&(s||o);){if(s&&n<=1&&(s=!1),s){const t=i.charCodeAt(n-2);0!==e.get(t)?s=!1:n--}if(o&&r>i.length&&(o=!1),o){const t=i.charCodeAt(r-1);0!==e.get(t)?o=!1:r++}h++}return[i.substring(n-1,r-1),t.column-n]}_getWordBeforePosition(t){const i=this._context.viewModel.getLineContent(t.lineNumber),e=If(this._context.configuration.options.get(129));let s=t.column,n=0;for(;s>1;){const o=i.charCodeAt(s-2);if(0!==e.get(o)||n>50)return i.substring(s-1,t.column-1);n++,s--}return i.substring(0,t.column-1)}_getCharacterBeforePosition(t){if(t.column>1){const i=this._context.viewModel.getLineContent(t.lineNumber).charAt(t.column-2);if(!go(i.charCodeAt(0)))return i}return""}_getAriaLabel(t){var i,e,s;if(1===t.get(2)){const t=null===(i=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))||void 0===i?void 0:i.getAriaLabel(),n=null===(e=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))||void 0===e?void 0:e.getAriaLabel(),o=null===(s=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))||void 0===s?void 0:s.getAriaLabel(),r=ot(0,"The editor is not accessible at this time.");return t?ot(0,"{0} To enable screen reader optimized mode, use {1}",r,t):n?ot(0,"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",r,n):o?ot(0,"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",r,o):r}return t.get(4)}_setAccessibilityOptions(t){this._accessibilitySupport=t.get(2);const i=t.get(3);this._accessibilityPageSize=2===this._accessibilitySupport&&i===_i.accessibilityPageSize.defaultValue?500:i;const e=t.get(143).wrappingColumn;if(-1!==e&&1!==this._accessibilitySupport){const i=t.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(e*i.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=cC?0:1}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(143);this._setAccessibilityOptions(i),this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._contentHeight=e.height,this._fontInfo=i.get(50),this._lineHeight=i.get(66),this._emptySelectionClipboard=i.get(37),this._copyWithSyntaxHighlighting=i.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:s}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=s*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("aria-label",this._getAriaLabel(i)),this.textArea.setAttribute("aria-required",i.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(i.get(123))),(t.hasChanged(34)||t.hasChanged(90))&&this._ensureReadOnlyAttribute(),t.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(t){return this._selections=t.selections.slice(0),this._modelSelections=t.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return this._scrollLeft=t.scrollLeft,this._scrollTop=t.scrollTop,!0}onZonesChanged(t){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(t){t.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",t.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),t.role&&this.textArea.setAttribute("role",t.role)}_ensureReadOnlyAttribute(){const t=this._context.configuration.options;!nC.enabled||t.get(34)&&t.get(90)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(t){var i;this._primaryCursorPosition=new As(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=t.visibleRangeForPosition(this._primaryCursorPosition),null===(i=this._visibleTextArea)||void 0===i||i.prepareRender(t)}render(t){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){var t;if(this._visibleTextArea){const t=this._visibleTextArea.visibleTextareaStart,i=this._visibleTextArea.visibleTextareaEnd,e=this._visibleTextArea.startPosition,s=this._visibleTextArea.endPosition;if(e&&s&&t&&i&&i.left>=this._scrollLeft&&t.left<=this._scrollLeft+this._contentWidth){const n=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,o=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let r=this._visibleTextArea.widthOfHiddenLineTextBefore,h=this._contentLeft+t.left-this._scrollLeft,c=i.left-t.left+1;if(hthis._contentWidth&&(c=this._contentWidth);const a=this._context.viewModel.getViewLineData(e.lineNumber),l=a.tokens.findTokenIndexAtOffset(e.column-1),u=a.tokens.findTokenIndexAtOffset(s.column-1),d=this._visibleTextArea.definePresentation(l===u?a.tokens.getPresentation(l):null);this.textArea.domNode.scrollTop=o*this._lineHeight,this.textArea.domNode.scrollLeft=r,this._doRender({lastRenderPosition:null,top:n,left:h,width:c,height:this._lineHeight,useCover:!1,color:(Zs.getColorMap()||[])[d.foreground],italic:d.italic,bold:d.bold,underline:d.underline,strikethrough:d.strikethrough})}return}if(!this._primaryCursorVisibleRange)return void this._renderAtTopLeft();const i=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ithis._contentLeft+this._contentWidth)return void this._renderAtTopLeft();const e=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(e<0||e>this._contentHeight)this._renderAtTopLeft();else if(Ct||2===this._accessibilitySupport){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:e,left:this._textAreaWrapping?this._contentLeft:i,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const s=null!==(t=this._textAreaInput.textAreaState.newlineCountBeforeSelection)&&void 0!==t?t:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=s*this._lineHeight}else this._doRender({lastRenderPosition:this._primaryCursorPosition,top:e,left:this._textAreaWrapping?this._contentLeft:i,width:this._textAreaWidth,height:cC?0:1,useCover:!1})}_newlinecount(t){let i=0,e=-1;for(;e=t.indexOf("\n",e+1),-1!==e;)i++;return i}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:cC?0:1,useCover:!0})}_doRender(t){this._lastRenderPosition=t.lastRenderPosition;const i=this.textArea,e=this.textAreaCover;ir(i,this._fontInfo),i.setTop(t.top),i.setLeft(t.left),i.setWidth(t.width),i.setHeight(t.height),i.setColor(t.color?lg.Format.CSS.formatHex(t.color):""),i.setFontStyle(t.italic?"italic":""),t.bold&&i.setFontWeight("bold"),i.setTextDecoration(`${t.underline?" underline":""}${t.strikethrough?" line-through":""}`),e.setTop(t.useCover?t.top:0),e.setLeft(t.useCover?t.left:0),e.setWidth(t.useCover?t.width:0),e.setHeight(t.useCover?t.height:0);const s=this._context.configuration.options;s.get(57)?e.setClassName("monaco-editor-background textAreaCover "+eC.OUTER_CLASS_NAME):0!==s.get(67).renderType?e.setClassName("monaco-editor-background textAreaCover "+iC.CLASS_NAME):e.setClassName("monaco-editor-background textAreaCover")}};function lC(t,i,e){let s=to(t);return-1===s&&(s=t.length),function(t,i,e){let s=0;for(let e=0;e=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([rC(3,oC),rC(4,ur)],aC);const uC=()=>!0,dC=()=>!1,fC=t=>" "===t||"\t"===t;class pC{static shouldRecreate(t){return t.hasChanged(143)||t.hasChanged(129)||t.hasChanged(37)||t.hasChanged(76)||t.hasChanged(78)||t.hasChanged(79)||t.hasChanged(6)||t.hasChanged(7)||t.hasChanged(11)||t.hasChanged(9)||t.hasChanged(10)||t.hasChanged(14)||t.hasChanged(127)||t.hasChanged(50)||t.hasChanged(90)}constructor(t,i,e,s){var n;this.languageConfigurationService=s,this._cursorMoveConfigurationBrand=void 0,this._languageId=t;const o=e.options,r=o.get(143),h=o.get(50);this.readOnly=o.get(90),this.tabSize=i.tabSize,this.indentSize=i.indentSize,this.insertSpaces=i.insertSpaces,this.stickyTabStops=o.get(115),this.lineHeight=h.lineHeight,this.typicalHalfwidthCharacterWidth=h.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(r.height/this.lineHeight)-2),this.useTabStops=o.get(127),this.wordSeparators=o.get(129),this.emptySelectionClipboard=o.get(37),this.copyWithSyntaxHighlighting=o.get(25),this.multiCursorMergeOverlapping=o.get(76),this.multiCursorPaste=o.get(78),this.multiCursorLimit=o.get(79),this.autoClosingBrackets=o.get(6),this.autoClosingComments=o.get(7),this.autoClosingQuotes=o.get(11),this.autoClosingDelete=o.get(9),this.autoClosingOvertype=o.get(10),this.autoSurround=o.get(14),this.autoIndent=o.get(12),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(t,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(t,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(t,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(t).getAutoClosingPairs();const c=this.languageConfigurationService.getLanguageConfiguration(t).getSurroundingPairs();if(c)for(const t of c)this.surroundingPairs[t.open]=t.close;const a=this.languageConfigurationService.getLanguageConfiguration(t).comments;this.blockCommentStartToken=null!==(n=null==a?void 0:a.blockCommentStartToken)&&void 0!==n?n:null}get electricChars(){var t;if(!this._electricChars){this._electricChars={};const i=null===(t=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)||void 0===t?void 0:t.getElectricCharacters();if(i)for(const t of i)this._electricChars[t]=!0}return this._electricChars}onElectricCharacter(t,i,e){const s=Nu(i,e-1),n=this.languageConfigurationService.getLanguageConfiguration(s.languageId).electricCharacter;return n?n.onElectricCharacter(t,s,e-s.firstCharOffset):null}normalizeIndentation(t){return lC(t,this.indentSize,this.insertSpaces)}_getShouldAutoClose(t,i,e){switch(i){case"beforeWhitespace":return fC;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(t,e);case"always":return uC;case"never":return dC}}_getLanguageDefinedShouldAutoClose(t,i){const e=this.languageConfigurationService.getLanguageConfiguration(t).getAutoCloseBeforeSet(i);return t=>-1!==e.indexOf(t)}visibleColumnFromColumn(t,i){return Xy.visibleColumnFromColumn(t.getLineContent(i.lineNumber),i.column,this.tabSize)}columnFromVisibleColumn(t,i,e){const s=Xy.columnFromVisibleColumn(t.getLineContent(i),e,this.tabSize),n=t.getLineMinColumn(i);if(so?o:s}}class gC{static fromModelState(t){return new mC(t)}static fromViewState(t){return new wC(t)}static fromModelSelection(t){const i=Ls.liftSelection(t),e=new vC(Ms.fromPositions(i.getSelectionStart()),0,0,i.getPosition(),0);return gC.fromModelState(e)}static fromModelSelections(t){const i=[];for(let e=0,s=t.length;en,c=s>o,a=so)continue;if(ps)continue;if(f0&&s--,kC.columnSelect(t,i,e.fromViewLineNumber,e.fromViewVisualColumn,e.toViewLineNumber,s)}static columnSelectRight(t,i,e){let s=0;const n=Math.min(e.fromViewLineNumber,e.toViewLineNumber),o=Math.max(e.fromViewLineNumber,e.toViewLineNumber);for(let e=n;e<=o;e++){const n=i.getLineMaxColumn(e),o=t.visibleColumnFromColumn(i,new As(e,n));s=Math.max(s,o)}let r=e.toViewVisualColumn;return rt.getLineMinColumn(i.lineNumber))return i.delta(void 0,-xo(t.getLineContent(i.lineNumber),i.column-1));if(i.lineNumber>1){const e=i.lineNumber-1;return new As(e,t.getLineMaxColumn(e))}return i}static leftPositionAtomicSoftTabs(t,i,e){if(i.column<=t.getLineIndentColumn(i.lineNumber)){const s=t.getLineMinColumn(i.lineNumber),n=t.getLineContent(i.lineNumber),o=tk.atomicPosition(n,i.column-1,e,0);if(-1!==o&&o+1>=s)return new As(i.lineNumber,o+1)}return this.leftPosition(t,i)}static left(t,i,e){const s=t.stickyTabStops?MC.leftPositionAtomicSoftTabs(i,e,t.tabSize):MC.leftPosition(i,e);return new AC(s.lineNumber,s.column,0)}static moveLeft(t,i,e,s,n){let o,r;if(e.hasSelection()&&!s)o=e.selection.startLineNumber,r=e.selection.startColumn;else{const s=e.position.delta(void 0,-(n-1)),h=i.normalizePosition(MC.clipPositionColumn(s,i),0),c=MC.left(t,i,h);o=c.lineNumber,r=c.column}return e.move(s,o,r,0)}static clipPositionColumn(t,i){return new As(t.lineNumber,MC.clipRange(t.column,i.getLineMinColumn(t.lineNumber),i.getLineMaxColumn(t.lineNumber)))}static clipRange(t,i,e){return te?e:t}static rightPosition(t,i,e){return ea?(e=a,s=r?i.getLineMaxColumn(e):Math.min(i.getLineMaxColumn(e),s)):s=t.columnFromVisibleColumn(i,e,c),n=d?0:c-Xy.visibleColumnFromColumn(i.getLineContent(e),s,t.tabSize),void 0!==h){const t=new As(e,s),o=i.normalizePosition(t,h);n+=s-o.column,e=o.lineNumber,s=o.column}return new AC(e,s,n)}static down(t,i,e,s,n,o,r){return this.vertical(t,i,e,s,n,e+o,r,4)}static moveDown(t,i,e,s,n){let o,r;e.hasSelection()&&!s?(o=e.selection.endLineNumber,r=e.selection.endColumn):(o=e.position.lineNumber,r=e.position.column);let h,c=0;do{if(h=MC.down(t,i,o+c,r,e.leftoverVisibleColumns,n,!0),i.normalizePosition(new As(h.lineNumber,h.column),2).lineNumber>o)break}while(c++<10&&o+c1&&this._isBlankLine(i,n);)n--;for(;n>1&&!this._isBlankLine(i,n);)n--;return e.move(s,n,i.getLineMinColumn(n),0)}static moveToNextBlankLine(t,i,e,s){const n=i.getLineCount();let o=e.position.lineNumber;for(;o=l.length+1)return!1;const u=l.charAt(a.column-2),d=s.get(u);if(!d)return!1;if(yC(u)){if("never"===e)return!1}else if("never"===i)return!1;const f=l.charAt(a.column-1);let p=!1;for(const t of d)t.open===u&&t.close===f&&(p=!0);if(!p)return!1;if("auto"===t){let t=!1;for(let i=0,e=r.length;i1){const t=i.getLineContent(s.lineNumber),n=to(t);if(s.column<=(-1===n?t.length+1:n+1)){const t=e.visibleColumnFromColumn(i,s),n=Xy.prevIndentTabStop(t,e.indentSize),o=e.columnFromVisibleColumn(i,s.lineNumber,n);return new Ms(s.lineNumber,o,s.lineNumber,s.column)}}return Ms.fromPositions(LC.getPositionAfterDeleteLeft(s,i),s)}static getPositionAfterDeleteLeft(t,i){if(t.column>1){const e=function(t,i){if(0===t)return 0;const e=function(t,i){const e=new bo(i,t);let s=e.prevCodePoint();for(;No(s)||65039===s||8419===s;){if(0===e.offset)return;s=e.prevCodePoint()}if(!Fo(s))return;let n=e.offset;return n>0&&8205===e.prevCodePoint()&&(n=e.offset),n}(t,i);if(void 0!==e)return e;const s=new bo(i,t);return s.prevCodePoint(),s.offset}(t.column-1,i.getLineContent(t.lineNumber));return t.with(void 0,e+1)}if(t.lineNumber>1){const e=t.lineNumber-1;return new As(e,i.getLineMaxColumn(e))}return t}static cut(t,i,e){const s=[];let n=null;e.sort(((t,i)=>As.compare(t.getStartPosition(),i.getEndPosition())));for(let o=0,r=e.length;o1&&(null==n?void 0:n.endLineNumber)!==t.lineNumber?(e=t.lineNumber-1,h=i.getLineMaxColumn(t.lineNumber-1),c=t.lineNumber,a=i.getLineMaxColumn(t.lineNumber)):(e=t.lineNumber,h=1,c=t.lineNumber,a=i.getLineMaxColumn(t.lineNumber));const l=new Ms(e,h,c,a);n=l,s[o]=l.isEmpty()?null:new xC(l,"")}else s[o]=null;else s[o]=new xC(r,"")}return new bC(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class FC{static _createWord(t,i,e,s,n){return{start:s,end:n,wordType:i,nextCharClass:e}}static _findPreviousWordOnLine(t,i,e){const s=i.getLineContent(e.lineNumber);return this._doFindPreviousWordOnLine(s,t,e)}static _doFindPreviousWordOnLine(t,i,e){let s=0;for(let n=e.column-2;n>=0;n--){const e=t.charCodeAt(n),o=i.get(e);if(0===o){if(2===s)return this._createWord(t,s,o,n+1,this._findEndOfWord(t,i,s,n+1));s=1}else if(2===o){if(1===s)return this._createWord(t,s,o,n+1,this._findEndOfWord(t,i,s,n+1));s=2}else if(1===o&&0!==s)return this._createWord(t,s,o,n+1,this._findEndOfWord(t,i,s,n+1))}return 0!==s?this._createWord(t,s,1,0,this._findEndOfWord(t,i,s,0)):null}static _findEndOfWord(t,i,e,s){const n=t.length;for(let o=s;o=0;n--){const s=t.charCodeAt(n),o=i.get(s);if(1===o)return n+1;if(1===e&&2===o)return n+1;if(2===e&&0===o)return n+1}return 0}static moveWordLeft(t,i,e,s){let n=e.lineNumber,o=e.column;1===o&&n>1&&(n-=1,o=i.getLineMaxColumn(n));let r=FC._findPreviousWordOnLine(t,i,new As(n,o));if(0===s)return new As(n,r?r.start+1:1);if(1===s)return r&&2===r.wordType&&r.end-r.start==1&&0===r.nextCharClass&&(r=FC._findPreviousWordOnLine(t,i,new As(n,r.start+1))),new As(n,r?r.start+1:1);if(3===s){for(;r&&2===r.wordType;)r=FC._findPreviousWordOnLine(t,i,new As(n,r.start+1));return new As(n,r?r.start+1:1)}return r&&o<=r.end+1&&(r=FC._findPreviousWordOnLine(t,i,new As(n,r.start+1))),new As(n,r?r.end+1:1)}static _moveWordPartLeft(t,i){const e=i.lineNumber,s=t.getLineMaxColumn(e);if(1===i.column)return e>1?new As(e-1,t.getLineMaxColumn(e-1)):i;const n=t.getLineContent(e);for(let t=i.column-1;t>1;t--){const i=n.charCodeAt(t-2),o=n.charCodeAt(t-1);if(95===i&&95!==o)return new As(e,t);if(45===i&&45!==o)return new As(e,t);if((co(i)||ho(i))&&ao(o))return new As(e,t);if(ao(i)&&ao(o)&&t+1=h.start+1&&(h=FC._findNextWordOnLine(t,i,new As(n,h.end+1))),o=h?h.start+1:i.getLineMaxColumn(n);return new As(n,o)}static _moveWordPartRight(t,i){const e=i.lineNumber,s=t.getLineMaxColumn(e);if(i.column===s)return e1?c=1:(h--,c=s.getLineMaxColumn(h)):(a&&c<=a.end+1&&(a=FC._findPreviousWordOnLine(e,s,new As(h,a.start+1))),a?c=a.end+1:c>1?c=1:(h--,c=s.getLineMaxColumn(h))),new Ms(h,c,r.lineNumber,r.column)}static deleteInsideWord(t,i,e){if(!e.isEmpty())return e;const s=new As(e.positionLineNumber,e.positionColumn);return this._deleteInsideWordWhitespace(i,s)||this._deleteInsideWordDetermineDeleteRange(t,i,s)}static _charAtIsWhitespace(t,i){const e=t.charCodeAt(i);return 32===e||9===e}static _deleteInsideWordWhitespace(t,i){const e=t.getLineContent(i.lineNumber),s=e.length;if(0===s)return null;let n=Math.max(i.column-2,0);if(!this._charAtIsWhitespace(e,n))return null;let o=Math.min(i.column-1,s-1);if(!this._charAtIsWhitespace(e,o))return null;for(;n>0&&this._charAtIsWhitespace(e,n-1);)n--;for(;o+11?new Ms(e.lineNumber-1,i.getLineMaxColumn(e.lineNumber-1),e.lineNumber,1):e.lineNumbert.start+1<=e.column&&e.column<=t.end+1,r=(t,i)=>(t=Math.min(t,e.column),i=Math.max(i,e.column),new Ms(e.lineNumber,t,e.lineNumber,i)),h=t=>{let i=t.start+1,e=t.end+1,o=!1;for(;e-11&&this._charAtIsWhitespace(s,i-2);)i--;return r(i,e)},c=FC._findPreviousWordOnLine(t,i,e);if(c&&o(c))return h(c);const a=FC._findNextWordOnLine(t,i,e);return a&&o(a)?h(a):c&&a?r(c.end+1,a.start+1):c?r(c.start+1,c.end+1):a?r(a.start+1,a.end+1):r(1,n+1)}static _deleteWordPartLeft(t,i){if(!i.isEmpty())return i;const e=i.getPosition(),s=FC._moveWordPartLeft(t,e);return new Ms(e.lineNumber,e.column,s.lineNumber,s.column)}static _findFirstNonWhitespaceChar(t,i){const e=t.length;for(let s=i;s=u.start+1&&(u=FC._findNextWordOnLine(e,s,new As(h,u.end+1))),u?c=u.start+1:cBoolean(t)))}class OC{static addCursorDown(t,i,e){const s=[];let n=0;for(let o=0,r=i.length;oi&&(e=i,s=t.model.getLineMaxColumn(e)),gC.fromModelState(new vC(new Ms(o.lineNumber,1,e,s),2,0,new As(e,s),0))}const h=i.modelState.selectionStart.getStartPosition().lineNumber;if(o.lineNumberh){const e=t.getLineCount();let s=r.lineNumber+1,n=1;return s>e&&(s=e,n=t.getLineMaxColumn(s)),gC.fromViewState(i.viewState.move(!0,s,n,0))}{const t=i.modelState.selectionStart.getEndPosition();return gC.fromModelState(i.modelState.move(!0,t.lineNumber,t.column,0))}}static word(t,i,e,s){const n=t.model.validatePosition(s);return gC.fromModelState(FC.word(t.cursorConfig,t.model,i.modelState,e,n))}static cancelSelection(t,i){if(!i.modelState.hasSelection())return new gC(i.modelState,i.viewState);const e=i.viewState.position.lineNumber,s=i.viewState.position.column;return gC.fromViewState(new vC(new Ms(e,s,e,s),0,0,new As(e,s),0))}static moveTo(t,i,e,s,n){if(e){if(1===i.modelState.selectionStartKind)return this.word(t,i,e,s);if(2===i.modelState.selectionStartKind)return this.line(t,i,e,s,n)}const o=t.model.validatePosition(s),r=n?t.coordinatesConverter.validateViewPosition(new As(n.lineNumber,n.column),o):t.coordinatesConverter.convertModelPositionToViewPosition(o);return gC.fromViewState(i.viewState.move(e,r.lineNumber,r.column,0))}static simpleMove(t,i,e,s,n,o){switch(e){case 0:return 4===o?this._moveHalfLineLeft(t,i,s):this._moveLeft(t,i,s,n);case 1:return 4===o?this._moveHalfLineRight(t,i,s):this._moveRight(t,i,s,n);case 2:return 2===o?this._moveUpByViewLines(t,i,s,n):this._moveUpByModelLines(t,i,s,n);case 3:return 2===o?this._moveDownByViewLines(t,i,s,n):this._moveDownByModelLines(t,i,s,n);case 4:return i.map(2===o?i=>gC.fromViewState(MC.moveToPrevBlankLine(t.cursorConfig,t,i.viewState,s)):i=>gC.fromModelState(MC.moveToPrevBlankLine(t.cursorConfig,t.model,i.modelState,s)));case 5:return i.map(2===o?i=>gC.fromViewState(MC.moveToNextBlankLine(t.cursorConfig,t,i.viewState,s)):i=>gC.fromModelState(MC.moveToNextBlankLine(t.cursorConfig,t.model,i.modelState,s)));case 6:return this._moveToViewMinColumn(t,i,s);case 7:return this._moveToViewFirstNonWhitespaceColumn(t,i,s);case 8:return this._moveToViewCenterColumn(t,i,s);case 9:return this._moveToViewMaxColumn(t,i,s);case 10:return this._moveToViewLastNonWhitespaceColumn(t,i,s);default:return null}}static viewportMove(t,i,e,s,n){const o=t.getCompletelyVisibleViewRange(),r=t.coordinatesConverter.convertViewRangeToModelRange(o);switch(e){case 11:{const e=this._firstLineNumberInRange(t.model,r,n),o=t.model.getLineFirstNonWhitespaceColumn(e);return[this._moveToModelPosition(t,i[0],s,e,o)]}case 13:{const e=this._lastLineNumberInRange(t.model,r,n),o=t.model.getLineFirstNonWhitespaceColumn(e);return[this._moveToModelPosition(t,i[0],s,e,o)]}case 12:{const e=Math.round((r.startLineNumber+r.endLineNumber)/2),n=t.model.getLineFirstNonWhitespaceColumn(e);return[this._moveToModelPosition(t,i[0],s,e,n)]}case 14:{const e=[];for(let n=0,r=i.length;ne.endLineNumber-1?e.endLineNumber-1:ngC.fromViewState(MC.moveLeft(t.cursorConfig,t,i.viewState,e,s))))}static _moveHalfLineLeft(t,i,e){const s=[];for(let n=0,o=i.length;ngC.fromViewState(MC.moveRight(t.cursorConfig,t,i.viewState,e,s))))}static _moveHalfLineRight(t,i,e){const s=[];for(let n=0,o=i.length;n1&&0===n.firstCharOffset){const t=of(i,e.startLineNumber-1);t.languageId===n.languageId&&(a=t.getLineContent())}const l=o.onEnter(t,a,h,c);if(!l)return null;const u=l.indentAction;let d=l.appendText;const f=l.removeText||0;d?u===Ru.Indent&&(d="\t"+d):d=u===Ru.Indent||u===Ru.IndentOutdent?"\t":"";let p=nf(i,e.startLineNumber,e.startColumn);return f&&(p=p.substring(0,p.length-f)),{indentAction:u,appendText:d,removeText:f,indentation:p}}!function(t){t.metadata={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t",constraint:function(t){if(!P(t))return!1;const i=t;return!(!B(i.to)||!H(i.select)&&!z(i.select)||!H(i.by)&&!B(i.by)||!H(i.value)&&!W(i.value))},schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},t.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},t.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"},t.parse=function(i){if(!i.to)return null;let e;switch(i.to){case t.RawDirection.Left:e=0;break;case t.RawDirection.Right:e=1;break;case t.RawDirection.Up:e=2;break;case t.RawDirection.Down:e=3;break;case t.RawDirection.PrevBlankLine:e=4;break;case t.RawDirection.NextBlankLine:e=5;break;case t.RawDirection.WrappedLineStart:e=6;break;case t.RawDirection.WrappedLineFirstNonWhitespaceCharacter:e=7;break;case t.RawDirection.WrappedLineColumnCenter:e=8;break;case t.RawDirection.WrappedLineEnd:e=9;break;case t.RawDirection.WrappedLineLastNonWhitespaceCharacter:e=10;break;case t.RawDirection.ViewPortTop:e=11;break;case t.RawDirection.ViewPortBottom:e=13;break;case t.RawDirection.ViewPortCenter:e=12;break;case t.RawDirection.ViewPortIfOutside:e=14;break;default:return null}let s=0;switch(i.by){case t.RawUnit.Line:s=1;break;case t.RawUnit.WrappedLine:s=2;break;case t.RawUnit.Character:s=3;break;case t.RawUnit.HalfLine:s=4}return{direction:e,unit:s,select:!!i.select,value:i.value||1}}}(IC||(IC={}));var NC;const BC=Object.create(null);function PC(t,i){if(i<=0)return"";BC[t]||(BC[t]=["",t]);const e=BC[t];for(let s=e.length;s<=i;s++)e[s]=e[s-1]+t;return e[i]}let $C=NC=class{static unshiftIndent(t,i,e,s,n){const o=Xy.visibleColumnFromColumn(t,i,e);if(n){const t=PC(" ",s);return PC(t,Xy.prevIndentTabStop(o,s)/s)}return PC("\t",Xy.prevRenderTabStop(o,e)/e)}static shiftIndent(t,i,e,s,n){const o=Xy.visibleColumnFromColumn(t,i,e);if(n){const t=PC(" ",s);return PC(t,Xy.nextIndentTabStop(o,s)/s)}return PC("\t",Xy.nextRenderTabStop(o,e)/e)}constructor(t,i,e){this._languageConfigurationService=e,this._opts=i,this._selection=t,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(t,i,e){this._useLastEditRangeForCursorEndPosition?t.addTrackedEditOperation(i,e):t.addEditOperation(i,e)}getEditOperations(t,i){const e=this._selection.startLineNumber;let s=this._selection.endLineNumber;1===this._selection.endColumn&&e!==s&&(s-=1);const{tabSize:n,indentSize:o,insertSpaces:r}=this._opts,h=e===s;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(e))&&(this._useLastEditRangeForCursorEndPosition=!0);let c=0,a=0;for(let l=e;l<=s;l++,c=a){a=0;const s=t.getLineContent(l);let u,d=to(s);if((!this._opts.isUnshift||0!==s.length&&0!==d)&&(h||this._opts.isUnshift||0!==s.length)){if(-1===d&&(d=s.length),l>1&&Xy.visibleColumnFromColumn(s,d+1,n)%o!=0&&t.tokenization.isCheapToTokenize(l-1)){const i=_C(this._opts.autoIndent,t,new Ms(l-1,t.getLineMaxColumn(l-1),l-1,t.getLineMaxColumn(l-1)),this._languageConfigurationService);if(i){if(a=c,i.appendText)for(let t=0,e=i.appendText.length;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,Xd)],$C);class WC{constructor(t,i,e){this._range=t,this._charBeforeSelection=i,this._charAfterSelection=e}getEditOperations(t,i){i.addTrackedEditOperation(new Ms(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),i.addTrackedEditOperation(new Ms(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(t,i){const e=i.getInverseEditOperations(),s=e[0].range,n=e[1].range;return new Ls(s.endLineNumber,s.endColumn,n.endLineNumber,n.endColumn-this._charAfterSelection.length)}}class jC{constructor(t,i,e){this._position=t,this._text=i,this._charAfter=e}getEditOperations(t,i){i.addTrackedEditOperation(new Ms(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(t,i){const e=i.getInverseEditOperations()[0].range;return new Ls(e.endLineNumber,e.startColumn,e.endLineNumber,e.endColumn-this._charAfter.length)}}function zC(t,i,e,s=!0,n){if(t<4)return null;const o=n.getLanguageConfiguration(i.tokenization.getLanguageId()).indentRulesSupport;if(!o)return null;if(e<=1)return{indentation:"",action:null};for(let t=e-1;t>0&&""===i.getLineContent(t);t--)if(1===t)return{indentation:"",action:null};const r=function(t,i,e){const s=t.tokenization.getLanguageIdAtPosition(i,0);if(i>1){let n,o=-1;for(n=i-1;n>=1;n--){if(t.tokenization.getLanguageIdAtPosition(n,0)!==s)return o;const i=t.getLineContent(n);if(!e.shouldIgnore(i)&&!/^\s+$/.test(i)&&""!==i)return n;o=n}}return-1}(i,e,o);if(r<0)return null;if(r<1)return{indentation:"",action:null};const h=i.getLineContent(r);if(o.shouldIncrease(h)||o.shouldIndentNextLine(h))return{indentation:io(h),action:Ru.Indent,line:r};if(o.shouldDecrease(h))return{indentation:io(h),action:null,line:r};{if(1===r)return{indentation:io(i.getLineContent(r)),action:null,line:r};const t=r-1,e=o.getIndentMetadata(i.getLineContent(t));if(!(3&e)&&4&e){let e=0;for(let s=t-1;s>0;s--)if(!o.shouldIndentNextLine(i.getLineContent(s))){e=s;break}return{indentation:io(i.getLineContent(e+1)),action:null,line:e+1}}if(s)return{indentation:io(i.getLineContent(r)),action:null,line:r};for(let t=r;t>0;t--){const e=i.getLineContent(t);if(o.shouldIncrease(e))return{indentation:io(e),action:Ru.Indent,line:t};if(o.shouldIndentNextLine(e)){let e=0;for(let s=t-1;s>0;s--)if(!o.shouldIndentNextLine(i.getLineContent(t))){e=s;break}return{indentation:io(i.getLineContent(e+1)),action:null,line:e+1}}if(o.shouldDecrease(e))return{indentation:io(e),action:null,line:t}}return{indentation:io(i.getLineContent(1)),action:null,line:1}}}function HC(t,i,e,s,n,o){if(t<4)return null;const r=o.getLanguageConfiguration(e);if(!r)return null;const h=o.getLanguageConfiguration(e).indentRulesSupport;if(!h)return null;const c=zC(t,i,s,void 0,o),a=i.getLineContent(s);if(c){const e=c.line;if(void 0!==e){let o=!0;for(let t=e;tt.getLineCount()?null:s.getIndentMetadata(t.getLineContent(i)):null}class UC{static indent(t,i,e){if(null===i||null===e)return[];const s=[];for(let i=0,n=e.length;i1){let s;for(s=e-1;s>=1&&!(eo(i.getLineContent(s))>=0);s--);if(s<1)return null;const o=i.getLineMaxColumn(s),r=_C(t.autoIndent,i,new Ms(s,o,s,o),t.languageConfigurationService);r&&(n=r.indentation+r.appendText)}return s&&(s===Ru.Indent&&(n=UC.shiftIndent(t,n)),s===Ru.Outdent&&(n=UC.unshiftIndent(t,n)),n=t.normalizeIndentation(n)),n||null}static _replaceJumpToNextIndent(t,i,e,s){let n="";const o=e.getStartPosition();if(t.insertSpaces){const e=t.visibleColumnFromColumn(i,o),s=t.indentSize,r=s-e%s;for(let t=0;tthis._compositionType(e,t,n,o,r,h)));return new bC(4,c,{shouldPushStackElementBefore:ZC(t,4),shouldPushStackElementAfter:!1})}static _compositionType(t,i,e,s,n,o){if(!i.isEmpty())return null;const r=i.getPosition(),h=Math.max(1,r.column-s),c=Math.min(t.getLineMaxColumn(r.lineNumber),r.column+n),a=new Ms(r.lineNumber,h,r.lineNumber,c);return t.getValueInRange(a)===e&&0===o?null:new DC(a,e,0,o)}static _typeCommand(t,i,e){return e?new SC(t,i,!0):new xC(t,i,!0)}static _enter(t,i,e,s){if(0===t.autoIndent)return UC._typeCommand(s,"\n",e);if(!i.tokenization.isCheapToTokenize(s.getStartPosition().lineNumber)||1===t.autoIndent){const n=io(i.getLineContent(s.startLineNumber)).substring(0,s.startColumn-1);return UC._typeCommand(s,"\n"+t.normalizeIndentation(n),e)}const n=_C(t.autoIndent,i,s,t.languageConfigurationService);if(n){if(n.indentAction===Ru.None)return UC._typeCommand(s,"\n"+t.normalizeIndentation(n.indentation+n.appendText),e);if(n.indentAction===Ru.Indent)return UC._typeCommand(s,"\n"+t.normalizeIndentation(n.indentation+n.appendText),e);if(n.indentAction===Ru.IndentOutdent){const i=t.normalizeIndentation(n.indentation),o=t.normalizeIndentation(n.indentation+n.appendText),r="\n"+o+"\n"+i;return e?new SC(s,r,!0):new DC(s,r,-1,o.length-i.length,!0)}if(n.indentAction===Ru.Outdent){const i=UC.unshiftIndent(t,n.indentation);return UC._typeCommand(s,"\n"+t.normalizeIndentation(i+n.appendText),e)}}const o=io(i.getLineContent(s.startLineNumber)).substring(0,s.startColumn-1);if(t.autoIndent>=4){const n=function(t,i,e,s,n){if(t<4)return null;i.tokenization.forceTokenization(e.startLineNumber);const o=i.tokenization.getLineTokens(e.startLineNumber),r=Nu(o,e.startColumn-1),h=r.getLineContent();let c,a,l=!1;r.firstCharOffset>0&&o.getLanguageId(0)!==r.languageId?(l=!0,c=h.substr(0,e.startColumn-1-r.firstCharOffset)):c=o.getLineContent().substring(0,e.startColumn-1),a=e.isEmpty()?h.substr(e.startColumn-1-r.firstCharOffset):of(i,e.endLineNumber,e.endColumn).getLineContent().substr(e.endColumn-1-r.firstCharOffset);const u=n.getLanguageConfiguration(r.languageId).indentRulesSupport;if(!u)return null;const d=c,f=io(c),p={tokenization:{getLineTokens:t=>i.tokenization.getLineTokens(t),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(t,e)=>i.getLanguageIdAtPosition(t,e)},getLineContent:t=>t===e.startLineNumber?d:i.getLineContent(t)},g=io(o.getLineContent()),m=zC(t,p,e.startLineNumber+1,void 0,n);if(!m){const t=l?g:f;return{beforeEnter:t,afterEnter:t}}let w=l?g:m.indentation;return m.action===Ru.Indent&&(w=s.shiftIndent(w)),u.shouldDecrease(a)&&(w=s.unshiftIndent(w)),{beforeEnter:l?g:f,afterEnter:w}}(t.autoIndent,i,s,{unshiftIndent:i=>UC.unshiftIndent(t,i),shiftIndent:i=>UC.shiftIndent(t,i),normalizeIndentation:i=>t.normalizeIndentation(i)},t.languageConfigurationService);if(n){let o=t.visibleColumnFromColumn(i,s.getEndPosition());const r=s.endColumn,h=to(i.getLineContent(s.endLineNumber));if(s=s.setEndPosition(s.endLineNumber,h>=0?Math.max(s.endColumn,h+1):i.getLineMaxColumn(s.endLineNumber)),e)return new SC(s,"\n"+t.normalizeIndentation(n.afterEnter),!0);{let i=0;return r<=h+1&&(t.insertSpaces||(o=Math.ceil(o/t.indentSize)),i=Math.min(o+1-t.normalizeIndentation(n.afterEnter).length-1,0)),new DC(s,"\n"+t.normalizeIndentation(n.afterEnter),0,i,!0)}}}return UC._typeCommand(s,"\n"+t.normalizeIndentation(o),e)}static _isAutoIndentType(t,i,e){if(t.autoIndent<4)return!1;for(let t=0,s=e.length;tUC.shiftIndent(t,i),unshiftIndent:i=>UC.unshiftIndent(t,i)},t.languageConfigurationService);if(null===o)return null;if(o!==t.normalizeIndentation(n)){const n=i.getLineFirstNonWhitespaceColumn(e.startLineNumber);return UC._typeCommand(new Ms(e.startLineNumber,1,e.endLineNumber,e.endColumn),0===n?t.normalizeIndentation(o)+s:t.normalizeIndentation(o)+i.getLineContent(e.startLineNumber).substring(n-1,e.startColumn-1)+s,!1)}return null}static _isAutoClosingOvertype(t,i,e,s,n){if("never"===t.autoClosingOvertype)return!1;if(!t.autoClosingPairs.autoClosingPairsCloseSingleChar.has(n))return!1;for(let o=0,r=e.length;o2?c.charCodeAt(h.column-2):0)&&a)return!1;if("auto"===t.autoClosingOvertype){let t=!1;for(let i=0,e=s.length;ii.startsWith(t.open))),r=n.some((t=>i.startsWith(t.close)));return!o&&r}static _findAutoClosingPairOpen(t,i,e,s){const n=t.autoClosingPairs.autoClosingPairsOpenByEnd.get(s);if(!n)return null;let o=null;for(const t of n)if(null===o||t.open.length>o.open.length){let n=!0;for(const o of e)if(i.getValueInRange(new Ms(o.lineNumber,o.column-t.open.length+1,o.lineNumber,o.column))+s!==t.open){n=!1;break}n&&(o=t)}return o}static _findContainedAutoClosingPair(t,i){if(i.open.length<=1)return null;const e=i.close.charAt(i.close.length-1),s=t.autoClosingPairs.autoClosingPairsCloseByEnd.get(e)||[];let n=null;for(const t of s)t.open!==i.open&&i.open.includes(t.open)&&i.close.endsWith(t.close)&&(!n||t.open.length>n.open.length)&&(n=t);return n}static _getAutoClosingPairClose(t,i,e,s,n){for(const t of e)if(!t.isEmpty())return null;const o=e.map((t=>{const i=t.getPosition();return n?{lineNumber:i.lineNumber,beforeColumn:i.column-s.length,afterColumn:i.column}:{lineNumber:i.lineNumber,beforeColumn:i.column,afterColumn:i.column}})),r=this._findAutoClosingPairOpen(t,i,o.map((t=>new As(t.lineNumber,t.beforeColumn))),s);if(!r)return null;let h,c;if(yC(s)?(h=t.autoClosingQuotes,c=t.shouldAutoCloseBefore.quote):t.blockCommentStartToken&&r.open.includes(t.blockCommentStartToken)?(h=t.autoClosingComments,c=t.shouldAutoCloseBefore.comment):(h=t.autoClosingBrackets,c=t.shouldAutoCloseBefore.bracket),"never"===h)return null;const a=this._findContainedAutoClosingPair(t,r),l=a?a.close:"";let u=!0;for(const e of o){const{lineNumber:n,beforeColumn:o,afterColumn:a}=e,d=i.getLineContent(n),f=d.substring(0,o-1),p=d.substring(a-1);if(p.startsWith(l)||(u=!1),p.length>0){const i=p.charAt(0);if(!UC._isBeforeClosingBrace(t,p)&&!c(i))return null}if(1===r.open.length&&("'"===s||'"'===s)&&"always"!==h){const i=If(t.wordSeparators);if(f.length>0){const t=f.charCodeAt(f.length-1);if(0===i.get(t))return null}}if(!i.tokenization.isCheapToTokenize(n))return null;i.tokenization.forceTokenization(n);const g=Nu(i.tokenization.getLineTokens(n),o-1);if(!r.shouldAutoClose(g,o-g.firstCharOffset))return null;const m=r.findNeutralCharacter();if(m){const t=i.tokenization.getTokenTypeIfInsertingCharacter(n,o,m);if(!r.isOK(t))return null}}return u?r.close.substring(0,r.close.length-l.length):r.close}static _runAutoClosingOpenCharType(t,i,e,s,n,o,r){const h=[];for(let t=0,i=s.length;tnew xC(new Ms(t.positionLineNumber,t.positionColumn,t.positionLineNumber,t.positionColumn+1),"",!1)));return new bC(4,t,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const a=this._getAutoClosingPairClose(i,e,n,h,!0);return null!==a?this._runAutoClosingOpenCharType(t,i,e,n,h,!0,a):null}static typeWithInterceptors(t,i,e,s,n,o,r){if(!t&&"\n"===r){const t=[];for(let i=0,o=n.length;i{const e=t.get(fr).getFocusedCodeEditor();return!(!e||!e.hasTextFocus())&&this._runEditorCommand(t,e,i)})),t.addImplementation(1e3,"generic-dom-input-textarea",(()=>{const t=pl();return!!(t&&["input","textarea"].indexOf(t.tagName.toLowerCase())>=0)&&(this.runDOMCommand(t),!0)})),t.addImplementation(0,"generic-dom",((t,i)=>{const e=t.get(fr).getActiveCodeEditor();return!!e&&(e.focus(),this._runEditorCommand(t,e,i))}))}_runEditorCommand(t,i,e){return this.runEditorCommand(t,i,e)||!0}}!function(t){class i extends eS{constructor(t){super(t),this._inSelectionMode=t.inSelectionMode}runCoreEditorCommand(t,i){i.position&&(t.model.pushStackElement(),t.setCursorStates(i.source,3,[OC.moveTo(t,t.getPrimaryCursorState(),this._inSelectionMode,i.position,i.viewPosition)])&&2!==i.revealType&&t.revealPrimaryCursor(i.source,!0,!0))}}t.MoveTo=hu(new i({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),t.MoveToSelect=hu(new i({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class e extends eS{runCoreEditorCommand(t,i){t.model.pushStackElement();const e=this._getColumnSelectResult(t,t.getPrimaryCursorState(),t.getCursorColumnSelectData(),i);null!==e&&(t.setCursorStates(i.source,3,e.viewStates.map((t=>gC.fromViewState(t)))),t.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:e.fromLineNumber,fromViewVisualColumn:e.fromVisualColumn,toViewLineNumber:e.toLineNumber,toViewVisualColumn:e.toVisualColumn}),e.reversed?t.revealTopMostCursor(i.source):t.revealBottomMostCursor(i.source))}}t.ColumnSelect=hu(new class extends e{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(t,i,e,s){if(void 0===s.position||void 0===s.viewPosition||void 0===s.mouseColumn)return null;const n=t.model.validatePosition(s.position),o=t.coordinatesConverter.validateViewPosition(new As(s.viewPosition.lineNumber,s.viewPosition.column),n);return kC.columnSelect(t.cursorConfig,t,s.doColumnSelect?e.fromViewLineNumber:o.lineNumber,s.doColumnSelect?e.fromViewVisualColumn:s.mouseColumn-1,o.lineNumber,s.mouseColumn-1)}}),t.CursorColumnSelectLeft=hu(new class extends e{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(t,i,e,s){return kC.columnSelectLeft(t.cursorConfig,t,e)}}),t.CursorColumnSelectRight=hu(new class extends e{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(t,i,e,s){return kC.columnSelectRight(t.cursorConfig,t,e)}});class s extends e{constructor(t){super(t),this._isPaged=t.isPaged}_getColumnSelectResult(t,i,e,s){return kC.columnSelectUp(t.cursorConfig,t,e,this._isPaged)}}t.CursorColumnSelectUp=hu(new s({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:3600,linux:{primary:0}}})),t.CursorColumnSelectPageUp=hu(new s({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:3595,linux:{primary:0}}}));class n extends e{constructor(t){super(t),this._isPaged=t.isPaged}_getColumnSelectResult(t,i,e,s){return kC.columnSelectDown(t.cursorConfig,t,e,this._isPaged)}}t.CursorColumnSelectDown=hu(new n({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:3602,linux:{primary:0}}})),t.CursorColumnSelectPageDown=hu(new n({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:3596,linux:{primary:0}}}));class o extends eS{constructor(){super({id:"cursorMove",precondition:void 0,metadata:IC.metadata})}runCoreEditorCommand(t,i){const e=IC.parse(i);e&&this._runCursorMove(t,i.source,e)}_runCursorMove(t,i,e){t.model.pushStackElement(),t.setCursorStates(i,3,o._move(t,t.getCursorStates(),e)),t.revealPrimaryCursor(i,!0)}static _move(t,i,e){const s=e.select,n=e.value;switch(e.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return OC.simpleMove(t,i,e.direction,s,n,e.unit);case 11:case 13:case 12:case 14:return OC.viewportMove(t,i,e.direction,s,n);default:return null}}}t.CursorMoveImpl=o,t.CursorMove=hu(new o);class r extends eS{constructor(t){super(t),this._staticArgs=t.args}runCoreEditorCommand(t,i){let e=this._staticArgs;-1===this._staticArgs.value&&(e={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:i.pageSize||t.cursorConfig.pageSize}),t.model.pushStackElement(),t.setCursorStates(i.source,3,OC.simpleMove(t,t.getCursorStates(),e.direction,e.select,e.value,e.unit)),t.revealPrimaryCursor(i.source,!0)}}t.CursorLeft=hu(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),t.CursorLeftSelect=hu(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:1039}})),t.CursorRight=hu(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),t.CursorRightSelect=hu(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:1041}})),t.CursorUp=hu(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),t.CursorUpSelect=hu(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),t.CursorPageUp=hu(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:11}})),t.CursorPageUpSelect=hu(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:1035}})),t.CursorDown=hu(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),t.CursorDownSelect=hu(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),t.CursorPageDown=hu(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:12}})),t.CursorPageDownSelect=hu(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:1036}})),t.CreateCursor=hu(new class extends eS{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(t,i){if(!i.position)return;let e;e=i.wholeLine?OC.line(t,t.getPrimaryCursorState(),!1,i.position,i.viewPosition):OC.moveTo(t,t.getPrimaryCursorState(),!1,i.position,i.viewPosition);const s=t.getCursorStates();if(s.length>1){const n=e.modelState?e.modelState.position:null,o=e.viewState?e.viewState.position:null;for(let e=0,r=s.length;eo&&(n=o);const r=new Ms(n,1,n,t.model.getLineMaxColumn(n));let h=0;if(e.at)switch(e.at){case tS.RawAtArgument.Top:h=3;break;case tS.RawAtArgument.Center:h=1;break;case tS.RawAtArgument.Bottom:h=4}const c=t.coordinatesConverter.convertModelRangeToViewRange(r);t.revealRange(i.source,!1,c,h,0)}}),t.SelectAll=new class extends sS{constructor(){super(mu)}runDOMCommand(t){Uo&&(t.focus(),t.select()),t.ownerDocument.execCommand("selectAll")}runEditorCommand(t,i,e){const s=i._getViewModel();s&&this.runCoreEditorCommand(s,e)}runCoreEditorCommand(t,i){t.model.pushStackElement(),t.setCursorStates("keyboard",3,[OC.selectAll(t,t.getPrimaryCursorState())])}},t.SetSelection=hu(new class extends eS{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(t,i){i.selection&&(t.model.pushStackElement(),t.setCursorStates(i.source,3,[gC.fromModelSelection(i.selection)]))}})}(iS||(iS={}));const nS=zr.and(YC.textInputFocus,YC.columnSelection);function oS(t,i){Ah.registerKeybindingRule({id:t,primary:i,when:nS,weight:1})}function rS(t){return t.register(),t}var hS,cS;oS(iS.CursorColumnSelectLeft.id,1039),oS(iS.CursorColumnSelectRight.id,1041),oS(iS.CursorColumnSelectUp.id,1040),oS(iS.CursorColumnSelectPageUp.id,1035),oS(iS.CursorColumnSelectDown.id,1042),oS(iS.CursorColumnSelectPageDown.id,1036),function(t){class i extends eu{runEditorCommand(t,i,e){const s=i._getViewModel();s&&this.runCoreEditingCommand(i,s,e||{})}}t.CoreEditingCommand=i,t.LineBreakInsert=hu(new class extends i{constructor(){super({id:"lineBreakInsert",precondition:YC.writable,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(t,i,e){t.pushUndoStop(),t.executeCommands(this.id,UC.lineBreakInsert(i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection))))}}),t.Outdent=hu(new class extends i{constructor(){super({id:"outdent",precondition:YC.writable,kbOpts:{weight:0,kbExpr:zr.and(YC.editorTextFocus,YC.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(t,i,e){t.pushUndoStop(),t.executeCommands(this.id,UC.outdent(i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)))),t.pushUndoStop()}}),t.Tab=hu(new class extends i{constructor(){super({id:"tab",precondition:YC.writable,kbOpts:{weight:0,kbExpr:zr.and(YC.editorTextFocus,YC.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(t,i,e){t.pushUndoStop(),t.executeCommands(this.id,UC.tab(i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)))),t.pushUndoStop()}}),t.DeleteLeft=hu(new class extends i{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(t,i,e){const[s,n]=LC.deleteLeft(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)),i.getCursorAutoClosedCharacters());s&&t.pushUndoStop(),t.executeCommands(this.id,n),i.setPrevEditOperationType(2)}}),t.DeleteRight=hu(new class extends i{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(t,i,e){const[s,n]=LC.deleteRight(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)));s&&t.pushUndoStop(),t.executeCommands(this.id,n),i.setPrevEditOperationType(3)}}),t.Undo=new class extends sS{constructor(){super(pu)}runDOMCommand(t){t.ownerDocument.execCommand("undo")}runEditorCommand(t,i,e){if(i.hasModel()&&!0!==i.getOption(90))return i.getModel().undo()}},t.Redo=new class extends sS{constructor(){super(gu)}runDOMCommand(t){t.ownerDocument.execCommand("redo")}runEditorCommand(t,i,e){if(i.hasModel()&&!0!==i.getOption(90))return i.getModel().redo()}}}(hS||(hS={}));class aS extends Xl{constructor(t,i,e){super({id:t,precondition:void 0,metadata:e}),this._handlerId=i}runCommand(t,i){const e=t.get(fr).getFocusedCodeEditor();e&&e.trigger("keyboard",this._handlerId,i)}}function lS(t,i){rS(new aS("default:"+t,t)),rS(new aS(t,t,i))}lS("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),lS("replacePreviousChar"),lS("compositionType"),lS("compositionStart"),lS("compositionEnd"),lS("paste"),lS("cut");class uS{constructor(t,i,e,s){this.configuration=t,this.viewModel=i,this.userInputEvents=e,this.commandDelegate=s}paste(t,i,e,s){this.commandDelegate.paste(t,i,e,s)}type(t){this.commandDelegate.type(t)}compositionType(t,i,e,s){this.commandDelegate.compositionType(t,i,e,s)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(t){iS.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:t})}_validateViewColumn(t){const i=this.viewModel.getLineMinColumn(t.lineNumber);return t.column=4?this._selectAll():3===t.mouseDownCount?this._hasMulticursorModifier(t)?t.inSelectionMode?this._lastCursorLineSelectDrag(t.position,t.revealType):this._lastCursorLineSelect(t.position,t.revealType):t.inSelectionMode?this._lineSelectDrag(t.position,t.revealType):this._lineSelect(t.position,t.revealType):2===t.mouseDownCount?t.onInjectedText||(this._hasMulticursorModifier(t)?this._lastCursorWordSelect(t.position,t.revealType):t.inSelectionMode?this._wordSelectDrag(t.position,t.revealType):this._wordSelect(t.position,t.revealType)):this._hasMulticursorModifier(t)?this._hasNonMulticursorModifier(t)||(t.shiftKey?this._columnSelect(t.position,t.mouseColumn,!0):t.inSelectionMode?this._lastCursorMoveToSelect(t.position,t.revealType):this._createCursor(t.position,!1)):t.inSelectionMode?t.altKey||s?this._columnSelect(t.position,t.mouseColumn,!0):this._moveToSelect(t.position,t.revealType):this.moveTo(t.position,t.revealType)}_usualArgs(t,i){return t=this._validateViewColumn(t),{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,revealType:i}}moveTo(t,i){iS.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_moveToSelect(t,i){iS.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_columnSelect(t,i,e){t=this._validateViewColumn(t),iS.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,mouseColumn:i,doColumnSelect:e})}_createCursor(t,i){t=this._validateViewColumn(t),iS.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,wholeLine:i})}_lastCursorMoveToSelect(t,i){iS.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_wordSelect(t,i){iS.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_wordSelectDrag(t,i){iS.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lastCursorWordSelect(t,i){iS.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lineSelect(t,i){iS.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lineSelectDrag(t,i){iS.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lastCursorLineSelect(t,i){iS.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lastCursorLineSelectDrag(t,i){iS.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_selectAll(){iS.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(t){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t)}emitKeyDown(t){this.userInputEvents.emitKeyDown(t)}emitKeyUp(t){this.userInputEvents.emitKeyUp(t)}emitContextMenu(t){this.userInputEvents.emitContextMenu(t)}emitMouseMove(t){this.userInputEvents.emitMouseMove(t)}emitMouseLeave(t){this.userInputEvents.emitMouseLeave(t)}emitMouseUp(t){this.userInputEvents.emitMouseUp(t)}emitMouseDown(t){this.userInputEvents.emitMouseDown(t)}emitMouseDrag(t){this.userInputEvents.emitMouseDrag(t)}emitMouseDrop(t){this.userInputEvents.emitMouseDrop(t)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(t){this.userInputEvents.emitMouseWheel(t)}}class dS{constructor(t){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=t}emitKeyDown(t){var i;null===(i=this.onKeyDown)||void 0===i||i.call(this,t)}emitKeyUp(t){var i;null===(i=this.onKeyUp)||void 0===i||i.call(this,t)}emitContextMenu(t){var i;null===(i=this.onContextMenu)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseMove(t){var i;null===(i=this.onMouseMove)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseLeave(t){var i;null===(i=this.onMouseLeave)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDown(t){var i;null===(i=this.onMouseDown)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseUp(t){var i;null===(i=this.onMouseUp)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDrag(t){var i;null===(i=this.onMouseDrag)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDrop(t){var i;null===(i=this.onMouseDrop)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDropCanceled(){var t;null===(t=this.onMouseDropCanceled)||void 0===t||t.call(this)}emitMouseWheel(t){var i;null===(i=this.onMouseWheel)||void 0===i||i.call(this,t)}_convertViewToModelMouseEvent(t){return t.target?{event:t.event,target:this._convertViewToModelMouseTarget(t.target)}:t}_convertViewToModelMouseTarget(t){return dS.convertViewToModelMouseTarget(t,this._coordinatesConverter)}static convertViewToModelMouseTarget(t,i){const e={...t};return e.position&&(e.position=i.convertViewPositionToModelPosition(e.position)),e.range&&(e.range=i.convertViewRangeToModelRange(e.range)),5!==e.type&&8!==e.type||(e.detail=this.convertViewToModelViewZoneData(e.detail,i)),e}static convertViewToModelViewZoneData(t,i){return{viewZoneId:t.viewZoneId,positionBefore:t.positionBefore?i.convertViewPositionToModelPosition(t.positionBefore):t.positionBefore,positionAfter:t.positionAfter?i.convertViewPositionToModelPosition(t.positionAfter):t.positionAfter,position:i.convertViewPositionToModelPosition(t.position),afterLineNumber:i.convertViewPositionToModelPosition(new As(t.afterLineNumber,1)).lineNumber}}}class fS{constructor(t){this._createLine=t,this._set(1,[])}flush(){this._set(1,[])}_set(t,i){this._lines=i,this._rendLineNumberStart=t}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(t){const i=t-this._rendLineNumberStart;if(i<0||i>=this._lines.length)throw new Ki("Illegal value for lineNumber");return this._lines[i]}onLinesDeleted(t,i){if(0===this.getCount())return null;const e=this.getStartLineNumber(),s=this.getEndLineNumber();if(is)return null;let n=0,o=0;for(let r=e;r<=s;r++)t<=r&&r<=i&&(0===o?(n=r-this._rendLineNumberStart,o=1):o++);if(t=s&&i<=n&&(this._lines[i-this._rendLineNumberStart].onContentChanged(),o=!0);return o}onLinesInserted(t,i){if(0===this.getCount())return null;const e=i-t+1,s=this.getStartLineNumber(),n=this.getEndLineNumber();if(t<=s)return this._rendLineNumberStart+=e,null;if(t>n)return null;if(e+t>n)return this._lines.splice(t-this._rendLineNumberStart,n-t+1);const o=[];for(let t=0;te)continue;const r=Math.max(i,o.fromLineNumber),h=Math.min(e,o.toLineNumber);for(let t=r;t<=h;t++)this._lines[t-this._rendLineNumberStart].onTokensChanged(),s=!0}return s}}class pS{constructor(t){this._host=t,this.domNode=this._createDomNode(),this._linesCollection=new fS((()=>this._host.createVisibleLine()))}_createDomNode(){const t=tr(document.createElement("div"));return t.setClassName("view-layer"),t.setPosition("absolute"),t.domNode.setAttribute("role","presentation"),t.domNode.setAttribute("aria-hidden","true"),t}onConfigurationChanged(t){return!!t.hasChanged(143)}onFlushed(t){return this._linesCollection.flush(),!0}onLinesChanged(t){return this._linesCollection.onLinesChanged(t.fromLineNumber,t.count)}onLinesDeleted(t){const i=this._linesCollection.onLinesDeleted(t.fromLineNumber,t.toLineNumber);if(i)for(let t=0,e=i.length;ti){const t=i,o=Math.min(e,n.rendLineNumberStart-1);t<=o&&(this._insertLinesBefore(n,t,o,s,i),n.linesLength+=o-t+1)}else if(n.rendLineNumberStart0&&(this._removeLinesBefore(n,t),n.linesLength-=t)}if(n.rendLineNumberStart=i,n.rendLineNumberStart+n.linesLength-1e){const t=Math.max(0,e-n.rendLineNumberStart+1),i=n.linesLength-1-t+1;i>0&&(this._removeLinesAfter(n,i),n.linesLength-=i)}return this._finishRendering(n,!1,s),n}_renderUntouchedLines(t,i,e,s,n){const o=t.rendLineNumberStart,r=t.lines;for(let t=i;t<=e;t++){const i=o+t;r[t].layoutLine(i,s[i-n])}}_insertLinesBefore(t,i,e,s,n){const o=[];let r=0;for(let t=i;t<=e;t++)o[r++]=this.host.createVisibleLine();t.lines=o.concat(t.lines)}_removeLinesBefore(t,i){for(let e=0;e=0;i--)s[i]&&(t.lines[i].setDomNode(o),o=o.previousSibling)}_finishRenderingInvalidLines(t,i,e){const s=document.createElement("div");gS._ttPolicy&&(i=gS._ttPolicy.createHTML(i)),s.innerHTML=i;for(let i=0;it}),gS._sb=new td(1e5);class mS extends Ty{constructor(t){super(t),this._visibleLines=new pS(this),this.domNode=this._visibleLines.domNode;const i=this._context.configuration.options.get(50);ir(this.domNode,i),this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let t=0,i=this._dynamicOverlays.length;tt.shouldRender()));for(let e=0,s=i.length;e'),s.appendString(n),s.appendString(""),!0)}layoutLine(t,i){this._domNode&&(this._domNode.setTop(i),this._domNode.setHeight(this._lineHeight))}}class vS extends mS{constructor(t){super(t);const i=this._context.configuration.options.get(143);this._contentWidth=i.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(t){const i=this._context.configuration.options.get(143);return this._contentWidth=i.contentWidth,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollWidthChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))}}class bS extends mS{constructor(t){super(t);const i=this._context.configuration.options,e=i.get(143);this._contentLeft=e.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),ir(this.domNode,i.get(50))}onConfigurationChanged(t){const i=this._context.configuration.options;ir(this.domNode,i.get(50));const e=i.get(143);return this._contentLeft=e.contentLeft,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollHeightChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t);const i=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(i),this.domNode.setWidth(this._contentLeft)}}class yS extends Ty{constructor(t,i){super(t),this._viewDomNode=i,this._widgets={},this.domNode=tr(document.createElement("div")),Ry.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=tr(document.createElement("div")),Ry.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].onConfigurationChanged(t);return!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLineMappingChanged(t){return this._updateAnchorsViewPositions(),!0}onLinesChanged(t){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(t){return this._updateAnchorsViewPositions(),!0}onLinesInserted(t){return this._updateAnchorsViewPositions(),!0}onScrollChanged(t){return!0}onZonesChanged(t){return!0}_updateAnchorsViewPositions(){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].updateAnchorViewPosition()}addWidget(t){const i=new kS(this._context,this._viewDomNode,t);this._widgets[i.id]=i,i.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(i.domNode):this.domNode.appendChild(i.domNode),this.setShouldRender()}setWidgetPosition(t,i,e,s,n){this._widgets[t.getId()].setPosition(i,e,s,n),this.setShouldRender()}removeWidget(t){const i=t.getId();if(this._widgets.hasOwnProperty(i)){const t=this._widgets[i];delete this._widgets[i];const e=t.domNode.domNode;e.parentNode.removeChild(e),e.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(t){return!!this._widgets.hasOwnProperty(t)&&this._widgets[t].suppressMouseDown}onBeforeRender(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].onBeforeRender(t)}prepareRender(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].prepareRender(t)}render(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].render(t)}}class kS{constructor(t,i,e){this._primaryAnchor=new xS(null,null),this._secondaryAnchor=new xS(null,null),this._context=t,this._viewDomNode=i,this._actual=e,this.domNode=tr(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const s=this._context.configuration.options,n=s.get(143);this._fixedOverflowWidgets=s.get(42),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,this._lineHeight=s.get(66),this._affinity=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setDisplay("none"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(t){const i=this._context.configuration.options;if(this._lineHeight=i.get(66),t.hasChanged(143)){const t=i.get(143);this._contentLeft=t.contentLeft,this._contentWidth=t.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(t,i,e){function s(t,i,e){if(!t)return new xS(null,null);const s=i.model.validatePosition(t);if(i.coordinatesConverter.modelPositionIsVisible(s)){const n=i.coordinatesConverter.convertModelPositionToViewPosition(s,null!=e?e:void 0);return new xS(t,n)}return new xS(t,null)}this._affinity=t,this._primaryAnchor=s(i,this._context.viewModel,this._affinity),this._secondaryAnchor=s(e,this._context.viewModel,this._affinity)}_getMaxWidth(){const t=this.domNode.domNode.ownerDocument,i=t.defaultView;return this.allowEditorOverflow?(null==i?void 0:i.innerWidth)||t.documentElement.offsetWidth||t.body.offsetWidth:this._contentWidth}setPosition(t,i,e,s){this._setPosition(s,t,i),this._preference=e,this.domNode.setDisplay(this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?"block":"none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(t,i,e,s){const n=t.top,o=t.top+t.height;let r=t.left;return r+i>s.scrollLeft+s.viewportWidth&&(r=s.scrollLeft+s.viewportWidth-i),r=e,aboveTop:n-e,fitsBelow:s.viewportHeight-o>=e,belowTop:o,left:r}}_layoutHorizontalSegmentInPage(t,i,e,s){var n;const o=Math.max(15,i.left-s),r=Math.min(i.left+i.width+s,t.width-15),h=this._viewDomNode.domNode.ownerDocument.defaultView;let c=i.left+e-(null!==(n=null==h?void 0:h.scrollX)&&void 0!==n?n:0);if(c+s>r){const t=c-(r-s);c-=t,e-=t}if(c=22,w=d+e<=f.height-22;return this._fixedOverflowWidgets?{fitsAbove:m,aboveTop:Math.max(u,22),fitsBelow:w,belowTop:d,left:g}:{fitsAbove:m,aboveTop:r,fitsBelow:w,belowTop:h,left:p}}_prepareRenderWidgetAtExactPositionOverflowing(t){return new CS(t.top,t.left+this._contentLeft)}_getAnchorsCoordinates(t){var i,e;return{primary:s(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:s((null===(i=this._secondaryAnchor.viewPosition)||void 0===i?void 0:i.lineNumber)===(null===(e=this._primaryAnchor.viewPosition)||void 0===e?void 0:e.lineNumber)?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function s(i,e,s){if(!i)return null;const n=t.visibleRangeForPosition(i);if(!n)return null;const o=1===i.column&&3===e?0:n.left,r=t.getVerticalOffsetForLineNumber(i.lineNumber)-t.scrollTop;return new SS(r,o,s)}}_reduceAnchorCoordinates(t,i,e){if(!i)return t;const s=this._context.configuration.options.get(50);let n=i.left;return n=nt.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))}prepareRender(t){this._renderData=this._prepareRenderWidget(t)}render(t){if(!this._renderData)return this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),void("function"==typeof this._actual.afterRender&&DS(this._actual.afterRender,this._actual,null));this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+t.scrollTop-t.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),"function"==typeof this._actual.afterRender&&DS(this._actual.afterRender,this._actual,this._renderData.position)}}class xS{constructor(t,i){this.modelPosition=t,this.viewPosition=i}}class CS{constructor(t,i){this.top=t,this.left=i,this._coordinateBrand=void 0}}class SS{constructor(t,i,e){this.top=t,this.left=i,this.height=e,this._anchorCoordinateBrand=void 0}}function DS(t,i,...e){try{return t.call(i,...e)}catch(t){return null}}class ES extends Yk{constructor(t){super(),this._context=t;const i=this._context.configuration.options,e=i.get(143);this._lineHeight=i.get(66),this._renderLineHighlight=i.get(95),this._renderLineHighlightOnlyWhenFocus=i.get(96),this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Ls(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let t=!1;const i=this._selections.map((t=>t.positionLineNumber));i.sort(((t,i)=>t-i)),l(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,t=!0);const e=this._selections.every((t=>t.isEmpty()));return this._selectionIsEmpty!==e&&(this._selectionIsEmpty=e,t=!0),t}onThemeChanged(t){return this._readFromSelections()}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(143);return this._lineHeight=i.get(66),this._renderLineHighlight=i.get(95),this._renderLineHighlightOnlyWhenFocus=i.get(96),this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,!0}onCursorStateChanged(t){return this._selections=t.selections,this._readFromSelections()}onFlushed(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollWidthChanged||t.scrollTopChanged}onZonesChanged(t){return!0}onFocusChanged(t){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=t.isFocused,!0)}prepareRender(t){if(!this._shouldRenderThis())return void(this._renderData=null);const i=this._renderOne(t),e=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,n=this._cursorLineNumbers.length;let o=0;const r=[];for(let t=e;t<=s;t++){const s=t-e;for(;o=this._renderData.length?"":this._renderData[e]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class AS extends ES{_renderOne(t){return`
`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class MS extends ES{_renderOne(t){return`
`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}nx(((t,i)=>{const e=t.getColor(rx);if(e&&(i.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${e}; }`),i.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${e}; border: none; }`)),!e||e.isTransparent()||t.defines(hx)){const e=t.getColor(hx);e&&(i.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${e}; }`),i.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${e}; }`),zy(t.type)&&(i.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"),i.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")))}}));class LS extends Yk{constructor(t){super(),this._context=t;const i=this._context.configuration.options;this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged||t.scrollWidthChanged}onZonesChanged(t){return!0}prepareRender(t){const i=t.getDecorationsInViewport();let e=[],s=0;for(let t=0,n=i.length;t{if(t.options.zIndexi.options.zIndex)return 1;const e=t.options.className,s=i.options.className;return es?1:Ms.compareRangesUsingStarts(t.range,i.range)}));const n=t.visibleRange.startLineNumber,o=t.visibleRange.endLineNumber,r=[];for(let t=n;t<=o;t++)r[t-n]="";this._renderWholeLineDecorations(t,e,r),this._renderNormalDecorations(t,e,r),this._renderResult=r}_renderWholeLineDecorations(t,i,e){const s=String(this._lineHeight),n=t.visibleRange.startLineNumber,o=t.visibleRange.endLineNumber;for(let t=0,r=i.length;t',c=Math.max(r.range.startLineNumber,n),a=Math.min(r.range.endLineNumber,o);for(let t=c;t<=a;t++)e[t-n]+=h}}_renderNormalDecorations(t,i,e){var s;const n=String(this._lineHeight),o=t.visibleRange.startLineNumber;let r=null,h=!1,c=null,a=!1;for(let l=0,u=i.length;l';h[a]+=l}}}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}class FS extends Ty{constructor(t,i,e,s){super(t);const n=this._context.configuration.options,o=n.get(102),r=n.get(74),h=n.get(40),c=n.get(105),a={listenOnDomNode:e.domNode,className:"editor-scrollable "+ix(t.theme.type),useShadows:!1,lazyRender:!0,vertical:o.vertical,horizontal:o.horizontal,verticalHasArrows:o.verticalHasArrows,horizontalHasArrows:o.horizontalHasArrows,verticalScrollbarSize:o.verticalScrollbarSize,verticalSliderSize:o.verticalSliderSize,horizontalScrollbarSize:o.horizontalScrollbarSize,horizontalSliderSize:o.horizontalSliderSize,handleMouseWheel:o.handleMouseWheel,alwaysConsumeMouseWheel:o.alwaysConsumeMouseWheel,arrowSize:o.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:h,scrollPredominantAxis:c,scrollByPage:o.scrollByPage};this.scrollbar=this._register(new Fk(i.domNode,a,this._context.viewLayout.getScrollable())),Ry.write(this.scrollbar.getDomNode(),5),this.scrollbarDomNode=tr(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const l=(t,i,e)=>{const s={};if(i){const i=t.scrollTop;i&&(s.scrollTop=this._context.viewLayout.getCurrentScrollTop()+i,t.scrollTop=0)}if(e){const i=t.scrollLeft;i&&(s.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+i,t.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(s,1)};this._register(Va(e.domNode,"scroll",(()=>l(e.domNode,!0,!0)))),this._register(Va(i.domNode,"scroll",(()=>l(i.domNode,!0,!1)))),this._register(Va(s.domNode,"scroll",(()=>l(s.domNode,!0,!1)))),this._register(Va(this.scrollbarDomNode.domNode,"scroll",(()=>l(this.scrollbarDomNode.domNode,!0,!1))))}dispose(){super.dispose()}_setLayout(){const t=this._context.configuration.options,i=t.get(143);this.scrollbarDomNode.setLeft(i.contentLeft);const e=t.get(72);this.scrollbarDomNode.setWidth("right"===e.side?i.contentWidth+i.minimap.minimapWidth:i.contentWidth),this.scrollbarDomNode.setHeight(i.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(t){this.scrollbar.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this.scrollbar.delegateScrollFromMouseWheelEvent(t)}onConfigurationChanged(t){if(t.hasChanged(102)||t.hasChanged(74)||t.hasChanged(40)){const t=this._context.configuration.options,i=t.get(102),e=t.get(74),s=t.get(40),n=t.get(105);this.scrollbar.updateOptions({vertical:i.vertical,horizontal:i.horizontal,verticalScrollbarSize:i.verticalScrollbarSize,horizontalScrollbarSize:i.horizontalScrollbarSize,scrollByPage:i.scrollByPage,handleMouseWheel:i.handleMouseWheel,mouseWheelScrollSensitivity:e,fastScrollSensitivity:s,scrollPredominantAxis:n})}return t.hasChanged(143)&&this._setLayout(),!0}onScrollChanged(t){return!0}onThemeChanged(t){return this.scrollbar.updateClassName("editor-scrollable "+ix(this._context.theme.type)),!0}prepareRender(t){}render(t){this.scrollbar.renderNow()}}class TS extends te{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function RS(t,i){let e=0,s=0;const n=t.length;for(;ss)throw new Ki("Illegal value for lineNumber");const n=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(n&&n.offSide);let r=-2,h=-1,c=-2,a=-1;const l=t=>{if(-1!==r&&(-2===r||r>t-1)){r=-1,h=-1;for(let i=t-2;i>=0;i--){const t=this._computeIndentLevel(i);if(t>=0){r=i,h=t;break}}}if(-2===c){c=-1,a=-1;for(let i=t;i=0){c=i,a=t;break}}}};let u=-2,d=-1,f=-2,p=-1;const g=t=>{if(-2===u){u=-1,d=-1;for(let i=t-2;i>=0;i--){const t=this._computeIndentLevel(i);if(t>=0){u=i,d=t;break}}}if(-1!==f&&(-2===f||f=0){f=i,p=t;break}}}};let m=0,w=!0,v=0,b=!0,y=0,k=0;for(let n=0;w||b;n++){const r=t-n,f=t+n;n>1&&(r<1||r1&&(f>s||f>e)&&(b=!1),n>5e4&&(w=!1,b=!1);let x=-1;if(w&&r>=1){const t=this._computeIndentLevel(r-1);t>=0?(c=r-1,a=t,x=Math.ceil(t/this.textModel.getOptions().indentSize)):(l(r),x=this._getIndentLevelForWhitespaceLine(o,h,a))}let C=-1;if(b&&f<=s){const t=this._computeIndentLevel(f-1);t>=0?(u=f-1,d=t,C=Math.ceil(t/this.textModel.getOptions().indentSize)):(g(f),C=this._getIndentLevelForWhitespaceLine(o,d,p))}if(0!==n){if(1===n){if(f<=s&&C>=0&&k+1===C){w=!1,m=f,v=f,y=C;continue}if(r>=1&&x>=0&&x-1===k){b=!1,m=r,v=r,y=x;continue}if(m=t,v=t,y=k,0===y)return{startLineNumber:m,endLineNumber:v,indent:y}}w&&(x>=y?m=r:w=!1),b&&(C>=y?v=f:b=!1)}else k=x}return{startLineNumber:m,endLineNumber:v,indent:y}}getLinesBracketGuides(t,i,e,s){var n;const o=[];for(let e=t;e<=i;e++)o.push([]);const r=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new Ms(t,1,i,this.textModel.getLineMaxColumn(i))).toArray();let h;e&&r.length>0&&(h=null===(n=rp((t<=e.lineNumber&&e.lineNumber<=i?r:this.textModel.bracketPairs.getBracketPairsInRange(Ms.fromPositions(e)).toArray()).filter((t=>Ms.strictContainsPosition(t.range,e))),(()=>!0)))||void 0===n?void 0:n.range);const c=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,a=new NS;for(const e of r){if(!e.closingBracketRange)continue;const n=h&&e.range.equalsRange(h);if(!n&&!s.includeInactive)continue;const r=a.getInlineClassName(e.nestingLevel,e.nestingLevelOfEqualBracketType,c)+(s.highlightActive&&n?" "+a.activeClassName:""),l=e.openingBracketRange.getStartPosition(),u=e.closingBracketRange.getStartPosition(),d=s.horizontalGuides===cS.Enabled||s.horizontalGuides===cS.EnabledForActive&&n;if(e.range.startLineNumber===e.range.endLineNumber){d&&o[e.range.startLineNumber-t].push(new OS(-1,e.openingBracketRange.getEndPosition().column,r,new IS(!1,u.column),-1,-1));continue}const f=this.getVisibleColumnFromPosition(u),p=this.getVisibleColumnFromPosition(e.openingBracketRange.getStartPosition()),g=Math.min(p,f,e.minVisibleColumnIndentation+1);let m=!1;to(this.textModel.getLineContent(e.closingBracketRange.startLineNumber))=t&&p>g&&o[l.lineNumber-t].push(new OS(g,-1,r,new IS(!1,l.column),-1,-1)),u.lineNumber<=i&&f>g&&o[u.lineNumber-t].push(new OS(g,-1,r,new IS(!m,u.column),-1,-1)))}for(const t of o)t.sort(((t,i)=>t.visibleColumn-i.visibleColumn));return o}getVisibleColumnFromPosition(t){return Xy.visibleColumnFromColumn(this.textModel.getLineContent(t.lineNumber),t.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(t,i){this.assertNotDisposed();const e=this.textModel.getLineCount();if(t<1||t>e)throw new Error("Illegal value for startLineNumber");if(i<1||i>e)throw new Error("Illegal value for endLineNumber");const s=this.textModel.getOptions(),n=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(n&&n.offSide),r=new Array(i-t+1);let h=-2,c=-1,a=-2,l=-1;for(let n=t;n<=i;n++){const i=n-t,u=this._computeIndentLevel(n-1);if(u>=0)h=n-1,c=u,r[i]=Math.ceil(u/s.indentSize);else{if(-2===h){h=-1,c=-1;for(let t=n-2;t>=0;t--){const i=this._computeIndentLevel(t);if(i>=0){h=t,c=i;break}}}if(-1!==a&&(-2===a||a=0){a=t,l=i;break}}}r[i]=this._getIndentLevelForWhitespaceLine(o,c,l)}}return r}_getIndentLevelForWhitespaceLine(t,i,e){const s=this.textModel.getOptions();return-1===i||-1===e?0:ih||this._maxIndentLeft>0&&e>this._maxIndentLeft)break;const o=i.horizontalLine?i.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=i.horizontalLine?(null!==(n=null===(s=t.visibleRangeForPosition(new As(a,i.horizontalLine.endColumn)))||void 0===s?void 0:s.left)&&void 0!==n?n:e+this._spaceWidth)-e:this._spaceWidth;f+=`
`}u[r]=f}this._renderResult=u}getGuidesByLine(t,i,e){const s=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(t,i,e,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?cS.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?cS.EnabledForActive:cS.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,n=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(t,i):null;let o=0,r=0,h=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&e){const s=this._context.viewModel.getActiveIndentGuide(e.lineNumber,t,i);o=s.startLineNumber,r=s.endLineNumber,h=s.indent}const{indentSize:c}=this._context.viewModel.model.getOptions(),a=[];for(let e=t;e<=i;e++){const i=new Array;a.push(i);const l=s?s[e-t]:[],u=new _(l),d=n?n[e-t]:0;for(let t=1;t<=d;t++){const s=(t-1)*c+1,n=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===l.length)&&o<=e&&e<=r&&t===h;i.push(...u.takeWhile((t=>t.visibleColumn!0))||[])}return a}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}function PS(t){if(!t||!t.isTransparent())return t}nx(((t,i)=>{const e=[{bracketColor:Nx,guideColor:Hx,guideColorActive:Zx},{bracketColor:Bx,guideColor:Vx,guideColorActive:Qx},{bracketColor:Px,guideColor:Ux,guideColorActive:Jx},{bracketColor:$x,guideColor:qx,guideColorActive:Yx},{bracketColor:Wx,guideColor:Kx,guideColorActive:Xx},{bracketColor:jx,guideColor:Gx,guideColorActive:tC}],s=new NS,n=[{indentColor:px,indentColorActive:yx},{indentColor:gx,indentColorActive:kx},{indentColor:mx,indentColorActive:xx},{indentColor:wx,indentColorActive:Cx},{indentColor:vx,indentColorActive:Sx},{indentColor:bx,indentColorActive:Dx}],o=e.map((i=>{var e,s;const n=t.getColor(i.bracketColor),o=t.getColor(i.guideColor),r=t.getColor(i.guideColorActive),h=PS(null!==(e=PS(o))&&void 0!==e?e:null==n?void 0:n.transparent(.3)),c=PS(null!==(s=PS(r))&&void 0!==s?s:n);if(h&&c)return{guideColor:h,guideColorActive:c}})).filter(V),r=n.map((i=>{const e=t.getColor(i.indentColor),s=t.getColor(i.indentColorActive),n=PS(e),o=PS(s);if(n&&o)return{indentColor:n,indentColorActive:o}})).filter(V);if(o.length>0){for(let t=0;t<30;t++){const e=o[t%o.length];i.addRule(`.monaco-editor .${s.getInlineClassNameOfLevel(t).replace(/ /g,".")} { --guide-color: ${e.guideColor}; --guide-color-active: ${e.guideColorActive}; }`)}i.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),i.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),i.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),i.addRule(`.monaco-editor .vertical.${s.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),i.addRule(`.monaco-editor .horizontal-top.${s.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),i.addRule(`.monaco-editor .horizontal-bottom.${s.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let t=0;t<30;t++){const e=r[t%r.length];i.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${t} { --indent-color: ${e.indentColor}; --indent-color-active: ${e.indentColorActive}; }`)}i.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),i.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}}));class $S{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const t=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=t.left,this._clientRectScale=t.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(t,i){this._domNode=t,this.endNode=i,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class WS{constructor(){this._currentVisibleRange=new Ms(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(t){this._currentVisibleRange=t}}class jS{constructor(t,i,e,s,n,o,r){this.minimalReveal=t,this.lineNumber=i,this.startColumn=e,this.endColumn=s,this.startScrollTop=n,this.stopScrollTop=o,this.scrollType=r,this.type="range",this.minLineNumber=i,this.maxLineNumber=i}}class zS{constructor(t,i,e,s,n){this.minimalReveal=t,this.selections=i,this.startScrollTop=e,this.stopScrollTop=s,this.scrollType=n,this.type="selections";let o=i[0].startLineNumber,r=i[0].endLineNumber;for(let t=1,e=i.length;t{this._updateLineWidthsSlow()}),200),this._asyncCheckMonospaceFontAssumptions=new pc((()=>{this._checkMonospaceFontAssumptions()}),2e3),this._lastRenderedData=new WS,this._horizontalRevealRequest=null,this._stickyScrollEnabled=s.get(114).enabled,this._maxNumberStickyLines=s.get(114).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new Ky(this._viewLineOptions)}onConfigurationChanged(t){this._visibleLines.onConfigurationChanged(t),t.hasChanged(144)&&(this._maxLineWidth=0);const i=this._context.configuration.options,e=i.get(50),s=i.get(144);return this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this._isViewportWrapping=s.isViewportWrapping,this._revealHorizontalRightPadding=i.get(99),this._cursorSurroundingLines=i.get(29),this._cursorSurroundingLinesStyle=i.get(30),this._canUseLayerHinting=!i.get(32),this._stickyScrollEnabled=i.get(114).enabled,this._maxNumberStickyLines=i.get(114).maxLineCount,ir(this.domNode,e),this._onOptionsMaybeChanged(),t.hasChanged(143)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const t=new qy(this._context.configuration,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const i=this._visibleLines.getStartLineNumber(),e=this._visibleLines.getEndLineNumber();for(let t=i;t<=e;t++)this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(t){const i=this._visibleLines.getStartLineNumber(),e=this._visibleLines.getEndLineNumber();let s=!1;for(let t=i;t<=e;t++)s=this._visibleLines.getVisibleLine(t).onSelectionChanged()||s;return s}onDecorationsChanged(t){{const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let e=t;e<=i;e++)this._visibleLines.getVisibleLine(e).onDecorationsChanged()}return!0}onFlushed(t){const i=this._visibleLines.onFlushed(t);return this._maxLineWidth=0,i}onLinesChanged(t){return this._visibleLines.onLinesChanged(t)}onLinesDeleted(t){return this._visibleLines.onLinesDeleted(t)}onLinesInserted(t){return this._visibleLines.onLinesInserted(t)}onRevealRangeRequest(t){const i=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),t.source,t.minimalReveal,t.range,t.selections,t.verticalType);if(-1===i)return!1;let e=this._context.viewLayout.validateScrollPosition({scrollTop:i});t.revealHorizontal?t.range&&t.range.startLineNumber!==t.range.endLineNumber?e={scrollTop:e.scrollTop,scrollLeft:0}:t.range?this._horizontalRevealRequest=new jS(t.minimalReveal,t.range.startLineNumber,t.range.startColumn,t.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),e.scrollTop,t.scrollType):t.selections&&t.selections.length>0&&(this._horizontalRevealRequest=new zS(t.minimalReveal,t.selections,this._context.viewLayout.getCurrentScrollTop(),e.scrollTop,t.scrollType)):this._horizontalRevealRequest=null;const s=Math.abs(this._context.viewLayout.getCurrentScrollTop()-e.scrollTop);return this._context.viewModel.viewLayout.setScrollPosition(e,s<=this._lineHeight?1:t.scrollType),!0}onScrollChanged(t){if(this._horizontalRevealRequest&&t.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&t.scrollTopChanged){const i=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),e=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(t.scrollTope)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(t.scrollWidth),this._visibleLines.onScrollChanged(t)||!0}onTokensChanged(t){return this._visibleLines.onTokensChanged(t)}onZonesChanged(t){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(t)}onThemeChanged(t){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(t,i){const e=this._getViewLineDomNode(t);if(null===e)return null;const s=this._getLineNumberFor(e);if(-1===s)return null;if(s<1||s>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(s))return new As(s,1);const n=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(so)return null;let r=this._visibleLines.getVisibleLine(s).getColumnOfNodeOffset(t,i);const h=this._context.viewModel.getLineMinColumn(s);return re)return-1;const s=new $S(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getVisibleLine(t).getWidth(s);return this._updateLineWidthsSlowIfDomDidLayout(s),n}linesVisibleRangesForRange(t,i){if(this.shouldRender())return null;const e=t.endLineNumber,s=Ms.intersectRanges(t,this._lastRenderedData.getCurrentVisibleRange());if(!s)return null;const n=[];let o=0;const r=new $S(this.domNode.domNode,this._textRangeRestingSpot);let h=0;i&&(h=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new As(s.startLineNumber,1)).lineNumber);const c=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();for(let t=s.startLineNumber;t<=s.endLineNumber;t++){if(ta)continue;const l=t===s.startLineNumber?s.startColumn:1,u=t!==s.endLineNumber,d=u?this._context.viewModel.getLineMaxColumn(t):s.endColumn,f=this._visibleLines.getVisibleLine(t).getVisibleRangesForRange(t,l,d,r);if(f){if(i&&tthis._visibleLines.getEndLineNumber())return null;const s=new $S(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getVisibleLine(t).getVisibleRangesForRange(t,i,e,s);return this._updateLineWidthsSlowIfDomDidLayout(s),n}visibleRangeForPosition(t){const i=this._visibleRangesForLineRange(t.lineNumber,t.column,t.column);return i?new Py(i.outsideRenderedLine,i.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(t){t.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(t){const i=this._visibleLines.getStartLineNumber(),e=this._visibleLines.getEndLineNumber();let s=1,n=!0;for(let o=i;o<=e;o++){const i=this._visibleLines.getVisibleLine(o);!t||i.getWidthIsFast()?s=Math.max(s,i.getWidth(null)):n=!1}return n&&1===i&&e===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(s),n}_checkMonospaceFontAssumptions(){let t=-1,i=-1;const e=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();for(let n=e;n<=s;n++){const e=this._visibleLines.getVisibleLine(n);if(e.needsMonospaceFontCheck()){const s=e.getWidth(null);s>i&&(i=s,t=n)}}if(-1!==t&&!this._visibleLines.getVisibleLine(t).monospaceAssumptionsAreValid())for(let t=e;t<=s;t++)this._visibleLines.getVisibleLine(t).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(t){if(this._visibleLines.renderLines(t),this._lastRenderedData.setCurrentVisibleRange(t.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const i=this._horizontalRevealRequest;if(t.startLineNumber<=i.minLineNumber&&i.maxLineNumber<=t.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const t=this._computeScrollLeftToReveal(i);t&&(this._isViewportWrapping||this._ensureMaxLineWidth(t.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:t.scrollLeft},i.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),St&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let e=t;e<=i;e++)if(this._visibleLines.getVisibleLine(e).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const i=this._context.viewLayout.getCurrentScrollTop()-t.bigNumbersDelta;this._linesContent.setTop(-i),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(t){const i=Math.ceil(t);this._maxLineWidth0){let t=n[0].startLineNumber,i=n[0].endLineNumber;for(let e=1,s=n.length;eh){if(!a)return-1;d=l}else if(5===o||6===o)if(6===o&&r<=l&&u<=c)d=r;else{const t=Math.max(5*this._lineHeight,.2*h);d=Math.max(u-h,l-t)}else d=1===o||2===o?2===o&&r<=l&&u<=c?r:Math.max(0,(l+u)/2-h/2):this._computeMinimumScrolling(r,c,l,u,3===o,4===o);return d}_computeScrollLeftToReveal(t){const i=this._context.viewLayout.getCurrentViewport(),e=this._context.configuration.options.get(143),s=i.left,n=s+i.width-e.verticalScrollbarWidth;let o=1073741824,r=0;if("range"===t.type){const i=this._visibleRangesForLineRange(t.lineNumber,t.startColumn,t.endColumn);if(!i)return null;for(const t of i.ranges)o=Math.min(o,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}else for(const i of t.selections){if(i.startLineNumber!==i.endLineNumber)return null;const t=this._visibleRangesForLineRange(i.startLineNumber,i.startColumn,i.endColumn);if(!t)return null;for(const i of t.ranges)o=Math.min(o,Math.round(i.left)),r=Math.max(r,Math.round(i.left+i.width))}return t.minimalReveal||(o=Math.max(0,o-HS.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===t.type&&r-o>i.width?null:{scrollLeft:this._computeMinimumScrolling(s,n,o,r),maxHorizontalOffset:r}}_computeMinimumScrolling(t,i,e,s,n,o){n=!!n,o=!!o;const r=(i|=0)-(t|=0);return(s|=0)-(e|=0)i?Math.max(0,s-r):t:e}}HS.HORIZONTAL_EXTRA_PX=30;class VS{constructor(t,i,e,s){this._decorationToRenderBrand=void 0,this.startLineNumber=+t,this.endLineNumber=+i,this.className=String(e),this.zIndex=null!=s?s:0}}class US{constructor(t,i){this.className=t,this.zIndex=i}}class qS{constructor(){this.decorations=[]}add(t){this.decorations.push(t)}getDecorations(){return this.decorations}}class KS extends Yk{_render(t,i,e){const s=[];for(let e=t;e<=i;e++)s[e-t]=new qS;if(0===e.length)return s;e.sort(((t,i)=>t.className===i.className?t.startLineNumber===i.startLineNumber?t.endLineNumber-i.endLineNumber:t.startLineNumber-i.startLineNumber:t.classNames)continue;const h=Math.max(o,e),c=Math.min(t.preference.lane,this._glyphMarginDecorationLaneCount);i.push(new QS(h,c,t.preference.zIndex,t))}}_collectSortedGlyphRenderRequests(t){const i=[];return this._collectDecorationBasedGlyphRenderRequest(t,i),this._collectWidgetBasedGlyphRenderRequest(t,i),i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.lane===i.lane?t.zIndex===i.zIndex?i.type===t.type?0===t.type&&0===i.type?t.className0;){const t=i.peek();if(!t)break;const s=i.takeWhile((i=>i.lineNumber===t.lineNumber&&i.lane===t.lane));if(!s||0===s.length)break;const n=s[0];if(0===n.type){const t=[];for(const i of s){if(i.zIndex!==n.zIndex||i.type!==n.type)break;0!==t.length&&t[t.length-1]===i.className||t.push(i.className)}e.push(n.accept(t.join(" ")))}else n.widget.renderInfo={lineNumber:n.lineNumber,lane:n.lane}}this._decorationGlyphsToRender=e}render(t){if(!this._glyphMargin){for(const t of Object.values(this._widgets))t.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const t=this._managedDomNodes.pop();null==t||t.domNode.remove()}return}const i=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const e of Object.values(this._widgets))if(e.renderInfo){const s=t.viewportData.relativeVerticalOffset[e.renderInfo.lineNumber-t.viewportData.startLineNumber],n=this._glyphMarginLeft+(e.renderInfo.lane-1)*this._lineHeight;e.domNode.setDisplay("block"),e.domNode.setTop(s),e.domNode.setLeft(n),e.domNode.setWidth(i),e.domNode.setHeight(this._lineHeight)}else e.domNode.setDisplay("none");for(let e=0;ethis._decorationGlyphsToRender.length;){const t=this._managedDomNodes.pop();null==t||t.domNode.remove()}}}class ZS{constructor(t,i,e,s){this.lineNumber=t,this.lane=i,this.zIndex=e,this.className=s,this.type=0}accept(t){return new JS(this.lineNumber,this.lane,t)}}class QS{constructor(t,i,e,s){this.lineNumber=t,this.lane=i,this.zIndex=e,this.widget=s,this.type=1}}class JS{constructor(t,i,e){this.lineNumber=t,this.lane=i,this.combinedClassName=e}}class YS extends KS{constructor(t){super(),this._context=t;const i=this._context.configuration.options.get(143);this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options.get(143);return this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_getDecorations(t){const i=t.getDecorationsInViewport(),e=[];let s=0;for(let t=0,n=i.length;t',o=[];for(let t=i;t<=e;t++){const e=t-i,r=s[e].getDecorations();let h="";for(const t of r)h+='
';n[e]=r}this._renderResult=n}render(t,i){return this._renderResult?this._renderResult[i-t]:""}}class tD{constructor(t,i,e,s){this._rgba8Brand=void 0,this.r=tD._clamp(t),this.g=tD._clamp(i),this.b=tD._clamp(e),this.a=tD._clamp(s)}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}static _clamp(t){return t<0?0:t>255?255:0|t}}tD.Empty=new tD(0,0,0,0);class iD extends te{static getInstance(){return this._INSTANCE||(this._INSTANCE=new iD),this._INSTANCE}constructor(){super(),this._onDidChange=new de,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(Zs.onDidChange((t=>{t.changedColorMap&&this._updateColorMap()})))}_updateColorMap(){const t=Zs.getColorMap();if(!t)return this._colors=[tD.Empty],void(this._backgroundIsLight=!0);this._colors=[tD.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(t){return(t<1||t>=this._colors.length)&&(t=2),this._colors[t]}backgroundIsLight(){return this._backgroundIsLight}}iD._INSTANCE=null;const eD=(()=>{const t=[];for(let i=32;i<=126;i++)t.push(i);return t.push(65533),t})();class sD{constructor(t,i){this.scale=i,this._minimapCharRendererBrand=void 0,this.charDataNormal=sD.soften(t,.8),this.charDataLight=sD.soften(t,50/60)}static soften(t,i){const e=new Uint8ClampedArray(t.length);for(let s=0,n=t.length;st.width||e+f>t.height)return void console.warn("bad render request outside image data");const p=a?this.charDataLight:this.charDataNormal,g=((t,i)=>(t-=32)<0||t>96?i<=2?(t+96)%96:95:t)(s,c),m=4*t.width,w=r.r,v=r.g,b=r.b,y=n.r-w,k=n.g-v,x=n.b-b,C=Math.max(o,h),S=t.data;let D=g*u*d,E=e*m+4*i;for(let t=0;tt.width||e+a>t.height)return void console.warn("bad render request outside image data");const l=4*t.width,u=n/255*.5,d=o.r,f=o.g,p=o.b,g=d+(s.r-d)*u,m=f+(s.g-f)*u,w=p+(s.b-p)*u,v=Math.max(n,r),b=t.data;let y=e*l+4*i;for(let t=0;t{const i=new Uint8ClampedArray(t.length/2);for(let e=0;e>1]=nD[t[e]]<<4|15&nD[t[e+1]];return i},rD={1:Gi((()=>oD("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792"))),2:Gi((()=>oD("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126")))};class hD{static create(t,i){if(this.lastCreated&&t===this.lastCreated.scale&&i===this.lastFontFamily)return this.lastCreated;let e;return e=rD[t]?new sD(rD[t](),t):hD.createFromSampleData(hD.createSampleData(i).data,t),this.lastFontFamily=i,this.lastCreated=e,e}static createSampleData(t){const i=document.createElement("canvas"),e=i.getContext("2d");i.style.height="16px",i.height=16,i.width=960,i.style.width="960px",e.fillStyle="#ffffff",e.font=`bold 16px ${t}`,e.textBaseline="middle";let s=0;for(const t of eD)e.fillText(String.fromCharCode(t),s,8),s+=10;return e.getImageData(0,0,960,16)}static createFromSampleData(t,i){if(61440!==t.length)throw new Error("Unexpected source in MinimapCharRenderer");const e=hD._downsample(t,i);return new sD(e,i)}static _downsampleChar(t,i,e,s,n){const o=1*n,r=2*n;let h=s,c=0;for(let s=0;s0){const t=255/h;for(let i=0;ihD.create(this.fontScale,h.fontFamily))),this.defaultBackgroundColor=e.getColor(2),this.backgroundColor=cD._getMinimapBackground(i,this.defaultBackgroundColor),this.foregroundAlpha=cD._getMinimapForegroundOpacity(i)}static _getMinimapBackground(t,i){const e=t.getColor(sy);return e?new tD(e.rgba.r,e.rgba.g,e.rgba.b,Math.round(255*e.rgba.a)):i}static _getMinimapForegroundOpacity(t){const i=t.getColor(ny);return i?tD._clamp(Math.round(255*i.rgba.a)):255}equals(t){return this.renderMinimap===t.renderMinimap&&this.size===t.size&&this.minimapHeightIsEditorHeight===t.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===t.scrollBeyondLastLine&&this.paddingTop===t.paddingTop&&this.paddingBottom===t.paddingBottom&&this.showSlider===t.showSlider&&this.autohide===t.autohide&&this.pixelRatio===t.pixelRatio&&this.typicalHalfwidthCharacterWidth===t.typicalHalfwidthCharacterWidth&&this.lineHeight===t.lineHeight&&this.minimapLeft===t.minimapLeft&&this.minimapWidth===t.minimapWidth&&this.minimapHeight===t.minimapHeight&&this.canvasInnerWidth===t.canvasInnerWidth&&this.canvasInnerHeight===t.canvasInnerHeight&&this.canvasOuterWidth===t.canvasOuterWidth&&this.canvasOuterHeight===t.canvasOuterHeight&&this.isSampling===t.isSampling&&this.editorHeight===t.editorHeight&&this.fontScale===t.fontScale&&this.minimapLineHeight===t.minimapLineHeight&&this.minimapCharWidth===t.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(t.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(t.backgroundColor)&&this.foregroundAlpha===t.foregroundAlpha}}class aD{constructor(t,i,e,s,n,o,r,h,c){this.scrollTop=t,this.scrollHeight=i,this.sliderNeeded=e,this._computedSliderRatio=s,this.sliderTop=n,this.sliderHeight=o,this.topPaddingLineCount=r,this.startLineNumber=h,this.endLineNumber=c}getDesiredScrollTopFromDelta(t){return Math.round(this.scrollTop+t/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(t){return Math.round((t-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(t){const i=Math.max(this.startLineNumber,t.startLineNumber),e=Math.min(this.endLineNumber,t.endLineNumber);return i>e?null:[i,e]}getYForLineNumber(t,i){return+(t-this.startLineNumber+this.topPaddingLineCount)*i}static create(t,i,e,s,n,o,r,h,c,a,l){const u=t.pixelRatio,d=t.minimapLineHeight,f=Math.floor(t.canvasInnerHeight/d),p=t.lineHeight;if(t.minimapHeightIsEditorHeight){let i=h*t.lineHeight+t.paddingTop+t.paddingBottom;t.scrollBeyondLastLine&&(i+=Math.max(0,n-t.lineHeight-t.paddingBottom));const e=Math.max(1,Math.floor(n*n/i)),s=Math.max(0,t.minimapHeight-e),o=s/(a-n),l=c*o,u=s>0,d=Math.floor(t.canvasInnerHeight/t.minimapLineHeight),f=Math.floor(t.paddingTop/t.lineHeight);return new aD(c,a,u,o,l,e,f,1,Math.min(r,d))}let g;g=o&&e!==r?Math.floor((e-i+1)*d/u):Math.floor(n/p*d/u);const m=Math.floor(t.paddingTop/p);let w,v=Math.floor(t.paddingBottom/p);t.scrollBeyondLastLine&&(v=Math.max(v,n/p-1)),w=v>0?(m+r+v-n/p-1)*d/u:Math.max(0,(m+r)*d/u-g),w=Math.min(t.minimapHeight-g,w);const b=w/(a-n),y=c*b;if(f>=m+r+v)return new aD(c,a,w>0,b,y,g,m,1,r);{let e,n;e=i>1?i+m:Math.max(1,c/p);let o=Math.max(1,Math.floor(e-y*u/d));oc&&(o=Math.min(o,l.startLineNumber),n=Math.max(n,l.topPaddingLineCount)),l.scrollTop=t.paddingTop?(i-o+n+w)*d/u:c/t.paddingTop*(n+w)*d/u,new aD(c,a,!0,b,v,g,n,o,h)}}}class lD{constructor(t){this.dy=t}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}lD.INVALID=new lD(-1);class uD{constructor(t,i,e){this.renderedLayout=t,this._imageData=i,this._renderedLines=new fS((()=>lD.INVALID)),this._renderedLines._set(t.startLineNumber,e)}linesEquals(t){if(!this.scrollEquals(t))return!1;const i=this._renderedLines._get().lines;for(let t=0,e=i.length;t1){for(let i=0,e=s-1;i0&&this.minimapLines[e-1]>=t;)e--;let s=this.modelLineToMinimapLine(i)-1;for(;s+1i)return null}return[e+1,s+1]}decorationLineRangeToMinimapLineRange(t,i){let e=this.modelLineToMinimapLine(t),s=this.modelLineToMinimapLine(i);return t!==i&&s===e&&(s===this.minimapLines.length?e>1&&e--:s++),[e,s]}onLinesDeleted(t){const i=t.toLineNumber-t.fromLineNumber+1;let e=this.minimapLines.length,s=0;for(let n=this.minimapLines.length-1;n>=0&&!(this.minimapLines[n]=0&&!(this.minimapLines[e]0,scrollWidth:t.scrollWidth,scrollHeight:t.scrollHeight,viewportStartLineNumber:i,viewportEndLineNumber:e,viewportStartLineNumberVerticalOffset:t.getVerticalOffsetForLineNumber(i),scrollTop:t.scrollTop,scrollLeft:t.scrollLeft,viewportWidth:t.viewportWidth,viewportHeight:t.viewportHeight};this._actual.render(s)}_recreateLineSampling(){this._minimapSelections=null;const t=Boolean(this._samplingState),[i,e]=fD.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=i,t&&this._samplingState)for(const t of e)switch(t.type){case"deleted":this._actual.onLinesDeleted(t.deleteFromLineNumber,t.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(t.insertFromLineNumber,t.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(t){return this._context.viewModel.getLineContent(this._samplingState?this._samplingState.minimapLines[t-1]:t)}getLineMaxColumn(t){return this._context.viewModel.getLineMaxColumn(this._samplingState?this._samplingState.minimapLines[t-1]:t)}getMinimapLinesRenderingData(t,i,e){if(this._samplingState){const s=[];for(let n=0,o=i-t+1;n{if(t.preventDefault(),0===this._model.options.renderMinimap)return;if(!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===t.button&&this._lastRenderData){const i=nl(this._slider.domNode);this._startSliderDragging(t,i.top+i.height/2,this._lastRenderData.renderedLayout)}return}let i=Math.floor(this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*t.offsetY/this._model.options.minimapLineHeight)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;i=Math.min(i,this._model.getLineCount()),this._model.revealLineNumber(i)})),this._sliderPointerMoveMonitor=new hw,this._sliderPointerDownListener=qa(this._slider.domNode,Ll.POINTER_DOWN,(t=>{t.preventDefault(),t.stopPropagation(),0===t.button&&this._lastRenderData&&this._startSliderDragging(t,t.pageY,this._lastRenderData.renderedLayout)})),this._gestureDisposable=rw.addTarget(this._domNode.domNode),this._sliderTouchStartListener=Va(this._domNode.domNode,ow.Start,(t=>{t.preventDefault(),t.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(t))}),{passive:!1}),this._sliderTouchMoveListener=Va(this._domNode.domNode,ow.Change,(t=>{t.preventDefault(),t.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(t)}),{passive:!1}),this._sliderTouchEndListener=qa(this._domNode.domNode,ow.End,(t=>{t.preventDefault(),t.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)}))}_startSliderDragging(t,i,e){if(!(t.target&&t.target instanceof Element))return;const s=t.pageX;this._slider.toggleClassName("active",!0);const n=(t,n)=>{const o=nl(this._domNode.domNode),r=Math.min(Math.abs(n-s),Math.abs(n-o.left),Math.abs(n-o.left-o.width));this._model.setScrollTop(xt&&r>140?e.scrollTop:e.getDesiredScrollTopFromDelta(t-i))};t.pageY!==i&&n(t.pageY,s),this._sliderPointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>n(t.pageY,t.pageX)),(()=>{this._slider.toggleClassName("active",!1)}))}scrollDueToTouchEvent(t){const i=this._domNode.domNode.getBoundingClientRect().top,e=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(t.pageY-i);this._model.setScrollTop(e)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const t=["minimap"];return t.push("always"===this._model.options.showSlider?"slider-always":"slider-mouseover"),this._model.options.autohide&&t.push("autohide"),t.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new dD(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(t,i){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(t,i)}onLinesDeleted(t,i){var e;return null===(e=this._lastRenderData)||void 0===e||e.onLinesDeleted(t,i),!0}onLinesInserted(t,i){var e;return null===(e=this._lastRenderData)||void 0===e||e.onLinesInserted(t,i),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(Xb),this._renderDecorations=!0,!0}onTokensChanged(t){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(t)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(t){if(0===this._model.options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);this._shadow.setClassName(t.scrollLeft+t.viewportWidth>=t.scrollWidth?"minimap-shadow-hidden":"minimap-shadow-visible");const i=aD.create(this._model.options,t.viewportStartLineNumber,t.viewportEndLineNumber,t.viewportStartLineNumberVerticalOffset,t.viewportHeight,t.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),t.scrollTop,t.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(i.sliderNeeded?"block":"none"),this._slider.setTop(i.sliderTop),this._slider.setHeight(i.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(i.sliderHeight),this.renderDecorations(i),this._lastRenderData=this.renderLines(i)}renderDecorations(t){if(this._renderDecorations){this._renderDecorations=!1;const i=this._model.getSelections();i.sort(Ms.compareRangesUsingStarts);const e=this._model.getMinimapDecorationsInViewport(t.startLineNumber,t.endLineNumber);e.sort(((t,i)=>(t.options.zIndex||0)-(i.options.zIndex||0)));const{canvasInnerWidth:s,canvasInnerHeight:n}=this._model.options,o=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,h=this._model.getOptions().tabSize,c=this._decorationsCanvas.domNode.getContext("2d");c.clearRect(0,0,s,n);const a=new mD(t.startLineNumber,t.endLineNumber,!1);this._renderSelectionLineHighlights(c,i,a,t,o),this._renderDecorationsLineHighlights(c,e,a,t,o);const l=new mD(t.startLineNumber,t.endLineNumber,null);this._renderSelectionsHighlights(c,i,l,t,o,h,r,s),this._renderDecorationsHighlights(c,e,l,t,o,h,r,s)}}_renderSelectionLineHighlights(t,i,e,s,n){if(!this._selectionColor||this._selectionColor.isTransparent())return;t.fillStyle=this._selectionColor.transparent(.5).toString();let o=0,r=0;for(const h of i){const i=s.intersectWithViewport(h);if(!i)continue;const[c,a]=i;for(let t=c;t<=a;t++)e.set(t,!0);const l=s.getYForLineNumber(c,n),u=s.getYForLineNumber(a,n);r>=l||(r>o&&t.fillRect(8,o,t.canvas.width,r-o),o=l),r=u}r>o&&t.fillRect(8,o,t.canvas.width,r-o)}_renderDecorationsLineHighlights(t,i,e,s,n){const o=new Map;for(let r=i.length-1;r>=0;r--){const h=i[r],c=h.options.minimap;if(!c||c.position!==Bf.Inline)continue;const a=s.intersectWithViewport(h.range);if(!a)continue;const[l,u]=a,d=c.getColor(this._theme.value);if(!d||d.isTransparent())continue;let f=o.get(d.toString());f||(f=d.transparent(.5).toString(),o.set(d.toString(),f)),t.fillStyle=f;for(let i=l;i<=u;i++){if(e.has(i))continue;e.set(i,!0);const o=s.getYForLineNumber(l,n);t.fillRect(8,o,t.canvas.width,n)}}}_renderSelectionsHighlights(t,i,e,s,n,o,r,h){if(this._selectionColor&&!this._selectionColor.isTransparent())for(const c of i){const i=s.intersectWithViewport(c);if(!i)continue;const[a,l]=i;for(let i=a;i<=l;i++)this.renderDecorationOnLine(t,e,c,this._selectionColor,s,i,n,n,o,r,h)}}_renderDecorationsHighlights(t,i,e,s,n,o,r,h){for(const c of i){const i=c.options.minimap;if(!i)continue;const a=s.intersectWithViewport(c.range);if(!a)continue;const[l,u]=a,d=i.getColor(this._theme.value);if(d&&!d.isTransparent())for(let a=l;a<=u;a++)switch(i.position){case Bf.Inline:this.renderDecorationOnLine(t,e,c.range,d,s,a,n,n,o,r,h);continue;case Bf.Gutter:{const i=s.getYForLineNumber(a,n);this.renderDecoration(t,d,2,i,2,n);continue}}}}renderDecorationOnLine(t,i,e,s,n,o,r,h,c,a,l){const u=n.getYForLineNumber(o,h);if(u+r<0||u>this._model.options.canvasInnerHeight)return;const{startLineNumber:d,endLineNumber:f}=e,p=d===o?e.startColumn:1,g=f===o?e.endColumn:this._model.getLineMaxColumn(o),m=this.getXOffsetForPosition(i,o,p,c,a,l),w=this.getXOffsetForPosition(i,o,g,c,a,l);this.renderDecoration(t,s,m,u,w-m,r)}getXOffsetForPosition(t,i,e,s,n,o){if(1===e)return 8;if((e-1)*n>=o)return o;let r=t.get(i);if(!r){const e=this._model.getLineContent(i);r=[8];let h=8;for(let t=1;t=o){r[t]=o;break}r[t]=c,h=c}t.set(i,r)}return e-1b?Math.floor((s-b)/2):0,k=u.a/255,x=new tD(Math.round((u.r-l.r)*k+l.r),Math.round((u.g-l.g)*k+l.g),Math.round((u.b-l.b)*k+l.b),255);let C=t.topPaddingLineCount*s;const S=[];for(let t=0,o=e-i+1;t=0&&sw)return;const r=g.charCodeAt(y);if(9===r){const t=u-(y+k)%u;k+=t-1,b+=t*o}else if(32===r)b+=o;else{const u=Lo(r)?2:1;for(let d=0;dw)return}}}}}class mD{constructor(t,i,e){this._startLineNumber=t,this._endLineNumber=i,this._defaultValue=e,this._values=[];for(let t=0,i=this._endLineNumber-this._startLineNumber+1;tthis._endLineNumber||(this._values[t-this._startLineNumber]=i)}get(t){return tthis._endLineNumber?this._defaultValue:this._values[t-this._startLineNumber]}}class wD extends Ty{constructor(t){super(t);const i=this._context.configuration.options.get(143);this._widgets={},this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,this._domNode=tr(document.createElement("div")),Ry.write(this._domNode,4),this._domNode.setClassName("overlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(t){const i=this._context.configuration.options.get(143);return this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,!0}addWidget(t){const i=tr(t.getDomNode());this._widgets[t.getId()]={widget:t,preference:null,domNode:i},i.setPosition("absolute"),i.setAttribute("widgetId",t.getId()),this._domNode.appendChild(i),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(t,i){const e=this._widgets[t.getId()];return e.preference===i?(this._updateMaxMinWidth(),!1):(e.preference=i,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(t){const i=t.getId();if(this._widgets.hasOwnProperty(i)){const t=this._widgets[i].domNode.domNode;delete this._widgets[i],t.parentNode.removeChild(t),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var t,i;let e=0;const s=Object.keys(this._widgets);for(let n=0,o=s.length;n=3){const i=Math.floor(s/3),e=Math.floor(s/3),n=s-i-e,o=t+i;return[[0,t,o,t,t+i+n,t,o,t],[0,i,n,i+n,e,i+n+e,n+e,i+n+e]]}if(2===e){const i=Math.floor(s/2),e=s-i;return[[0,t,t,t,t+i,t,t,t],[0,i,i,i,e,i+e,i+e,i+e]]}return[[0,t,t,t,t,t,t,t],[0,s,s,s,s,s,s,s]]}equals(t){return this.lineHeight===t.lineHeight&&this.pixelRatio===t.pixelRatio&&this.overviewRulerLanes===t.overviewRulerLanes&&this.renderBorder===t.renderBorder&&this.borderColor===t.borderColor&&this.hideCursor===t.hideCursor&&this.cursorColor===t.cursorColor&&this.themeType===t.themeType&&lg.equals(this.backgroundColor,t.backgroundColor)&&this.top===t.top&&this.right===t.right&&this.domWidth===t.domWidth&&this.domHeight===t.domHeight&&this.canvasWidth===t.canvasWidth&&this.canvasHeight===t.canvasHeight}}class bD extends Ty{constructor(t){super(t),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=tr(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=Zs.onDidChange((t=>{t.changedColorMap&&this._updateSettings(!0)})),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(t){const i=new vD(this._context.configuration,this._context.theme);return!(this._settings&&this._settings.equals(i)||(this._settings=i,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,t&&this._render(),0))}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(t){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(t){this._cursorPositions=[];for(let i=0,e=t.selections.length;it.lineNumber===i.lineNumber))||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=i,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const e=this._settings.canvasWidth,s=this._settings.canvasHeight,n=this._settings.lineHeight,o=this._context.viewLayout,r=s/this._context.viewLayout.getScrollHeight(),h=6*this._settings.pixelRatio|0,c=h/2|0,a=this._domNode.domNode.getContext("2d");t?t.isOpaque()?(a.fillStyle=lg.Format.CSS.formatHexA(t),a.fillRect(0,0,e,s)):(a.clearRect(0,0,e,s),a.fillStyle=lg.Format.CSS.formatHexA(t),a.fillRect(0,0,e,s)):a.clearRect(0,0,e,s);const u=this._settings.x,d=this._settings.w;for(const t of i){const i=t.data;a.fillStyle=t.color;let e=0,l=0,f=0;for(let t=0,p=i.length/3;ts&&(t=s-c),m=t-c,w=t+c}m>f+1||p!==e?(0!==t&&a.fillRect(u[e],l,d[e],f-l),e=p,l=m,f=w):w>f&&(f=w)}a.fillRect(u[e],l,d[e],f-l)}if(!this._settings.hideCursor&&this._settings.cursorColor){const t=2*this._settings.pixelRatio|0,i=t/2|0,e=this._settings.x[7],n=this._settings.w[7];a.fillStyle=this._settings.cursorColor;let h=-100,c=-100;for(let l=0,u=this._cursorPositions.length;ls&&(u=s-i);const d=u-i,f=d+t;d>c+1?(0!==l&&a.fillRect(e,h,n,c-h),h=d,c=f):f>c&&(c=f)}a.fillRect(e,h,n,c-h)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(a.beginPath(),a.lineWidth=1,a.strokeStyle=this._settings.borderColor,a.moveTo(0,0),a.lineTo(0,s),a.stroke(),a.moveTo(0,0),a.lineTo(e,0),a.stroke())}}class yD{constructor(t,i,e){this._colorZoneBrand=void 0,this.from=0|t,this.to=0|i,this.colorId=0|e}static compare(t,i){return t.colorId===i.colorId?t.from===i.from?t.to-i.to:t.from-i.from:t.colorId-i.colorId}}class kD{constructor(t,i,e,s){this._overviewRulerZoneBrand=void 0,this.startLineNumber=t,this.endLineNumber=i,this.heightInLines=e,this.color=s,this._colorZone=null}static compare(t,i){return t.color===i.color?t.startLineNumber===i.startLineNumber?t.heightInLines===i.heightInLines?t.endLineNumber-i.endLineNumber:t.heightInLines-i.heightInLines:t.startLineNumber-i.startLineNumber:t.colore&&(d=e-f);const p=h.color;let g=this._color2Id[p];g||(g=++this._lastAssignedId,this._color2Id[p]=g,this._id2Color[g]=p);const m=new yD(d-f,d+f,g);h.setColorZone(m),o.push(m)}return this._colorZonesInvalid=!1,o.sort(yD.compare),o}}class CD extends Fy{constructor(t,i){super(),this._context=t;const e=this._context.configuration.options;this._domNode=tr(document.createElement("canvas")),this._domNode.setClassName(i),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new xD((t=>this._context.viewLayout.getVerticalOffsetForLineNumber(t))),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(e.get(66)),this._zoneManager.setPixelRatio(e.get(141)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return t.hasChanged(66)&&(this._zoneManager.setLineHeight(i.get(66)),this._render()),t.hasChanged(141)&&(this._zoneManager.setPixelRatio(i.get(141)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(t){return this._render(),!0}onScrollChanged(t){return t.scrollHeightChanged&&(this._zoneManager.setOuterHeight(t.scrollHeight),this._render()),!0}onZonesChanged(t){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(t){this._domNode.setTop(t.top),this._domNode.setRight(t.right);let i=!1;i=this._zoneManager.setDOMWidth(t.width)||i,i=this._zoneManager.setDOMHeight(t.height)||i,i&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(t){this._zoneManager.setZones(t),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;const t=this._zoneManager.getCanvasWidth(),i=this._zoneManager.getCanvasHeight(),e=this._zoneManager.resolveColorZones(),s=this._zoneManager.getId2Color(),n=this._domNode.domNode.getContext("2d");return n.clearRect(0,0,t,i),e.length>0&&this._renderOneLane(n,e,s,t),!0}_renderOneLane(t,i,e,s){let n=0,o=0,r=0;for(const h of i){const i=h.colorId,c=h.from,a=h.to;i!==n?(t.fillRect(0,o,s,r-o),n=i,t.fillStyle=e[n],o=c,r=a):r>=c?r=Math.max(r,a):(t.fillRect(0,o,s,r-o),o=c,r=a)}t.fillRect(0,o,s,r-o)}}class SD extends Ty{constructor(t){super(t),this.domNode=tr(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const i=this._context.configuration.options;this._rulers=i.get(101),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return this._rulers=i.get(101),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(t){return t.scrollHeightChanged}prepareRender(t){}_ensureRulersCount(){const t=this._renderedRulers.length,i=this._rulers.length;if(t===i)return;if(t0;){const t=tr(document.createElement("div"));t.setClassName("view-ruler"),t.setWidth(s),this.domNode.appendChild(t),this._renderedRulers.push(t),n--}return}let e=t-i;for(;e>0;){const t=this._renderedRulers.pop();this.domNode.removeChild(t),e--}}render(t){this._ensureRulersCount();for(let i=0,e=this._rulers.length;i0;return this._shouldShow!==t&&(this._shouldShow=t,!0)}getDomNode(){return this._domNode}_updateWidth(){const t=this._context.configuration.options.get(143);this._width=0===t.minimap.renderMinimap||t.minimap.minimapWidth>0&&0===t.minimap.minimapLeft?t.width:t.width-t.verticalScrollbarWidth}onConfigurationChanged(t){const i=this._context.configuration.options.get(102);return this._useShadows=i.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(t){return this._scrollTop=t.scrollTop,this._updateShouldShow()}prepareRender(t){}render(t){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class ED{constructor(t){this.left=t.left,this.width=t.width,this.startStyle=null,this.endStyle=null}}class AD{constructor(t,i){this.lineNumber=t,this.ranges=i}}function MD(t){return new ED(t)}function LD(t){return new AD(t.lineNumber,t.ranges.map(MD))}class FD extends Yk{constructor(t){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=t;const i=this._context.configuration.options;this._lineHeight=i.get(66),this._roundedSelection=i.get(100),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return this._lineHeight=i.get(66),this._roundedSelection=i.get(100),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(t){return this._selections=t.selections.slice(0),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_visibleRangesHaveGaps(t){for(let i=0,e=t.length;i1)return!0;return!1}_enrichVisibleRangesWithStyle(t,i,e){const s=this._typicalHalfwidthCharacterWidth/4;let n=null,o=null;if(e&&e.length>0&&i.length>0){const s=i[0].lineNumber;if(s===t.startLineNumber)for(let t=0;!n&&t=0;t--)e[t].lineNumber===r&&(o=e[t].ranges[0]);n&&!n.startStyle&&(n=null),o&&!o.startStyle&&(o=null)}for(let t=0,e=i.length;t0){const e=i[t-1].ranges[0].left,n=i[t-1].ranges[0].left+i[t-1].ranges[0].width;TD(h-e)e&&(a.top=1),TD(c-n)'}_actualRenderOneSelection(t,i,e,s){if(0===s.length)return;const n=!!s[0].ranges[0].startStyle,o=this._lineHeight.toString(),r=(this._lineHeight-1).toString(),h=s[0].lineNumber,c=s[s.length-1].lineNumber;for(let a=0,l=s.length;a1,r)}this._previousFrameVisibleRangesWithStyle=n,this._renderResult=i.map((([t,i])=>t+i))}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}function TD(t){return t<0?-t:t}FD.SELECTION_CLASS_NAME="selected-text",FD.SELECTION_TOP_LEFT="top-left-radius",FD.SELECTION_BOTTOM_LEFT="bottom-left-radius",FD.SELECTION_TOP_RIGHT="top-right-radius",FD.SELECTION_BOTTOM_RIGHT="bottom-right-radius",FD.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",FD.ROUNDED_PIECE_WIDTH=10,nx(((t,i)=>{const e=t.getColor(Dv);e&&!e.isTransparent()&&i.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${e}; }`)}));class RD{constructor(t,i,e,s,n,o,r){this.top=t,this.left=i,this.paddingLeft=e,this.width=s,this.height=n,this.textContent=o,this.textContentClassName=r}}class OD{constructor(t){this._context=t;const i=this._context.configuration.options,e=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=tr(document.createElement("div")),this._domNode.setClassName(`cursor ${sC}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),ir(this._domNode,e),this._domNode.setDisplay("none"),this._position=new As(1,1),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(50);return this._cursorStyle=i.get(28),this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),ir(this._domNode,e),!0}onCursorPositionChanged(t,i){return this._domNode.domNode.style.transitionProperty=i?"none":"",this._position=t,!0}_getGraphemeAwarePosition(){const{lineNumber:t,column:i}=this._position,e=this._context.viewModel.getLineContent(t),[s,n]=function(t,i){i>0&&mo(t.charCodeAt(i))&&i--;const e=i+ko(t,i);return[e-xo(t,e),e]}(e,i-1);return[new As(t,s+1),e.substring(s,n)]}_prepareRender(t){let i="",e="";const[s,n]=this._getGraphemeAwarePosition();if(this._cursorStyle===gi.Line||this._cursorStyle===gi.LineThin){const o=t.visibleRangeForPosition(s);if(!o||o.outsideRenderedLine)return null;const r=Na(this._domNode.domNode);let h;this._cursorStyle===gi.Line?(h=zl(r,this._lineCursorWidth>0?this._lineCursorWidth:2),h>2&&(i=n,e=this._getTokenClassName(s))):h=zl(r,1);let c=o.left,a=0;h>=2&&c>=1&&(a=1,c-=a);const l=t.getVerticalOffsetForLineNumber(s.lineNumber)-t.bigNumbersDelta;return new RD(l,c,a,h,this._lineHeight,i,e)}const o=t.linesVisibleRangesForRange(new Ms(s.lineNumber,s.column,s.lineNumber,s.column+n.length),!1);if(!o||0===o.length)return null;const r=o[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;const h=r.ranges[0],c="\t"===n||h.width<1?this._typicalHalfwidthCharacterWidth:h.width;this._cursorStyle===gi.Block&&(i=n,e=this._getTokenClassName(s));let a=t.getVerticalOffsetForLineNumber(s.lineNumber)-t.bigNumbersDelta,l=this._lineHeight;return this._cursorStyle!==gi.Underline&&this._cursorStyle!==gi.UnderlineThin||(a+=this._lineHeight-2,l=2),new RD(a,h.left,0,c,l,i,e)}_getTokenClassName(t){const i=this._context.viewModel.getViewLineData(t.lineNumber),e=i.tokens.findTokenIndexAtOffset(t.column-1);return i.tokens.getClassName(e)}prepareRender(t){this._renderData=this._prepareRender(t)}render(t){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${sC} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class ID extends Ty{constructor(t){super(t);const i=this._context.configuration.options;this._readOnly=i.get(90),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new OD(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=tr(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new dc,this._cursorFlatBlinkInterval=new Ja,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(t){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(t){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(t){const i=this._context.configuration.options;this._readOnly=i.get(90),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(t);for(let i=0,e=this._secondaryCursors.length;ii.length){const t=this._secondaryCursors.length-i.length;for(let i=0;i{for(let e=0,s=t.ranges.length;e{this._isVisible?this._hide():this._show()}),ID.BLINK_INTERVAL,Na(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet((()=>{this._blinkingEnabled=!0,this._updateDomClassName()}),ID.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let t="cursors-layer";switch(this._selectionIsEmpty||(t+=" has-selection"),this._cursorStyle){case gi.Line:t+=" cursor-line-style";break;case gi.Block:t+=" cursor-block-style";break;case gi.Underline:t+=" cursor-underline-style";break;case gi.LineThin:t+=" cursor-line-thin-style";break;case gi.BlockOutline:t+=" cursor-block-outline-style";break;case gi.UnderlineThin:t+=" cursor-underline-thin-style";break;default:t+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:t+=" cursor-blink";break;case 2:t+=" cursor-smooth";break;case 3:t+=" cursor-phase";break;case 4:t+=" cursor-expand";break;default:t+=" cursor-solid"}else t+=" cursor-solid";return"on"!==this._cursorSmoothCaretAnimation&&"explicit"!==this._cursorSmoothCaretAnimation||(t+=" cursor-smooth-caret-animation"),t}_show(){this._primaryCursor.show();for(let t=0,i=this._secondaryCursors.length;t{const e=t.getColor(cx);if(e){let s=t.getColor(ax);s||(s=e.opposite()),i.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${e}; border-color: ${e}; color: ${s}; }`),zy(t.type)&&i.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${s}; border-right: 1px solid ${s}; }`)}}));const _D=()=>{throw new Error("Invalid change accessor")};class ND extends Ty{constructor(t){super(t);const i=this._context.configuration.options,e=i.get(143);this._lineHeight=i.get(66),this._contentWidth=e.contentWidth,this._contentLeft=e.contentLeft,this.domNode=tr(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=tr(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const t=this._context.viewLayout.getWhitespaces(),i=new Map;for(const e of t)i.set(e.id,e);let e=!1;return this._context.viewModel.changeWhitespace((t=>{const s=Object.keys(this._zones);for(let n=0,o=s.length;n{const s={addZone:t=>(i=!0,this._addZone(e,t)),removeZone:t=>{t&&(i=this._removeZone(e,t)||i)},layoutZone:t=>{t&&(i=this._layoutZone(e,t)||i)}};!function(t,i){try{return t(i)}catch(t){Bi(t)}}(t,s),s.addZone=_D,s.removeZone=_D,s.layoutZone=_D})),i}_addZone(t,i){const e=this._computeWhitespaceProps(i),s={whitespaceId:t.insertWhitespace(e.afterViewLineNumber,this._getZoneOrdinal(i),e.heightInPx,e.minWidthInPx),delegate:i,isInHiddenArea:e.isInHiddenArea,isVisible:!1,domNode:tr(i.domNode),marginDomNode:i.marginDomNode?tr(i.marginDomNode):null};return this._safeCallOnComputedHeight(s.delegate,e.heightInPx),s.domNode.setPosition("absolute"),s.domNode.domNode.style.width="100%",s.domNode.setDisplay("none"),s.domNode.setAttribute("monaco-view-zone",s.whitespaceId),this.domNode.appendChild(s.domNode),s.marginDomNode&&(s.marginDomNode.setPosition("absolute"),s.marginDomNode.domNode.style.width="100%",s.marginDomNode.setDisplay("none"),s.marginDomNode.setAttribute("monaco-view-zone",s.whitespaceId),this.marginDomNode.appendChild(s.marginDomNode)),this._zones[s.whitespaceId]=s,this.setShouldRender(),s.whitespaceId}_removeZone(t,i){if(this._zones.hasOwnProperty(i)){const e=this._zones[i];return delete this._zones[i],t.removeWhitespace(e.whitespaceId),e.domNode.removeAttribute("monaco-visible-view-zone"),e.domNode.removeAttribute("monaco-view-zone"),e.domNode.domNode.parentNode.removeChild(e.domNode.domNode),e.marginDomNode&&(e.marginDomNode.removeAttribute("monaco-visible-view-zone"),e.marginDomNode.removeAttribute("monaco-view-zone"),e.marginDomNode.domNode.parentNode.removeChild(e.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(t,i){if(this._zones.hasOwnProperty(i)){const e=this._zones[i],s=this._computeWhitespaceProps(e.delegate);return e.isInHiddenArea=s.isInHiddenArea,t.changeOneWhitespace(e.whitespaceId,s.afterViewLineNumber,s.heightInPx),this._safeCallOnComputedHeight(e.delegate,s.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(t){return!!this._zones.hasOwnProperty(t)&&Boolean(this._zones[t].delegate.suppressMouseDown)}_heightInPixels(t){return"number"==typeof t.heightInPx?t.heightInPx:"number"==typeof t.heightInLines?this._lineHeight*t.heightInLines:this._lineHeight}_minWidthInPixels(t){return"number"==typeof t.minWidthInPx?t.minWidthInPx:0}_safeCallOnComputedHeight(t,i){if("function"==typeof t.onComputedHeight)try{t.onComputedHeight(i)}catch(t){Bi(t)}}_safeCallOnDomNodeTop(t,i){if("function"==typeof t.onDomNodeTop)try{t.onDomNodeTop(i)}catch(t){Bi(t)}}prepareRender(t){}render(t){const i=t.viewportData.whitespaceViewportData,e={};let s=!1;for(const t of i)this._zones[t.id].isInHiddenArea||(e[t.id]=t,s=!0);const n=Object.keys(this._zones);for(let i=0,s=n.length;ii)continue;const t=e.startLineNumber===i?e.startColumn:n.minColumn,s=e.endLineNumber===i?e.endColumn:n.maxColumn;t=x.endOffset&&(k++,x=e&&e[k]),9!==n&&32!==n)continue;if(u&&!b&&s<=w)continue;if(l&&s>=y&&s<=w&&32===n){const t=s-1>=0?r.charCodeAt(s-1):0,i=s+1=0?r.charCodeAt(s-1):0;if(32===n&&32!==t&&9!==t)continue}if(e&&(!x||x.startOffset>s||x.endOffset<=s))continue;const a=t.visibleRangeForPosition(new As(i,s+1));a&&(o?(C=Math.max(C,a.left),v+=9===n?this._renderArrow(d,p,a.left):``):v+=9===n?`
${String.fromCharCode(m?65515:8594)}
`:`
${String.fromCharCode(g)}
`)}return o?(C=Math.round(C+p),``+v+""):v}_renderArrow(t,i,e){const s=t/2,n=e,o={x:0,y:i/7/2},r={x:.8*i,y:o.y},h={x:r.x-.2*r.x,y:r.y+.2*r.x},c={x:h.x+.1*r.x,y:h.y+.1*r.x},a={x:c.x+.35*r.x,y:c.y-.35*r.x};return``}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}class zD{constructor(t){const i=t.options,e=i.get(50),s=i.get(38);"off"===s?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===s?(this.renderWhitespace=i.get(98),this.renderWithSVG=!0):(this.renderWhitespace=i.get(98),this.renderWithSVG=!1),this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(66),this.stopRenderingLineAfter=i.get(116)}equals(t){return this.renderWhitespace===t.renderWhitespace&&this.renderWithSVG===t.renderWithSVG&&this.spaceWidth===t.spaceWidth&&this.middotWidth===t.middotWidth&&this.wsmiddotWidth===t.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===t.canUseHalfwidthRightwardsArrow&&this.lineHeight===t.lineHeight&&this.stopRenderingLineAfter===t.stopRenderingLineAfter}}let HD=class extends Fy{constructor(t,i,e,s,n,o,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Ls(1,1,1,1)],this._renderAnimationFrame=null;const h=new uS(i,s,n,t);this._context=new PD(i,e,s),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(aC,this._context,h,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=tr(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=tr(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=tr(document.createElement("div")),Ry.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new FS(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new HS(this._context,this._linesContent),this._viewZones=new ND(this._context),this._viewParts.push(this._viewZones);const c=new bD(this._context);this._viewParts.push(c);const a=new DD(this._context);this._viewParts.push(a);const l=new vS(this._context);this._viewParts.push(l),l.addDynamicOverlay(new AS(this._context)),l.addDynamicOverlay(new FD(this._context)),l.addDynamicOverlay(new BS(this._context)),l.addDynamicOverlay(new LS(this._context)),l.addDynamicOverlay(new jD(this._context));const u=new bS(this._context);this._viewParts.push(u),u.addDynamicOverlay(new MS(this._context)),u.addDynamicOverlay(new XS(this._context)),u.addDynamicOverlay(new YS(this._context)),u.addDynamicOverlay(new iC(this._context)),this._glyphMarginWidgets=new GS(this._context),this._viewParts.push(this._glyphMarginWidgets);const d=new eC(this._context);d.getDomNode().appendChild(this._viewZones.marginDomNode),d.getDomNode().appendChild(u.getDomNode()),d.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(d),this._contentWidgets=new yS(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new ID(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new wD(this._context),this._viewParts.push(this._overlayWidgets);const f=new SD(this._context);this._viewParts.push(f);const p=new WD(this._context);this._viewParts.push(p);const g=new pD(this._context);if(this._viewParts.push(g),c){const t=this._scrollbar.getOverviewRulerLayoutInfo();t.parent.insertBefore(c.getDomNode(),t.insertBefore)}this._linesContent.appendChild(l.getDomNode()),this._linesContent.appendChild(f.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(d.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(a.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(g.getDomNode()),this._overflowGuardContainer.appendChild(p.domNode),this.domNode.appendChild(this._overflowGuardContainer),o?o.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode):this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this._applyLayout(),this._pointerHandler=this._register(new Jk(this._context,h,this._createPointerHandlerHelper()))}_computeGlyphMarginLaneCount(){const t=this._context.viewModel.model;let i=[];i=i.concat(t.getAllMarginDecorations().map((t=>{var i,e;const s=null!==(e=null===(i=t.options.glyphMargin)||void 0===i?void 0:i.position)&&void 0!==e?e:Nf.Left;return{range:t.range,lane:s}}))),i=i.concat(this._glyphMarginWidgets.getWidgets().map((i=>({range:t.validateRange(i.preference.range),lane:i.preference.lane})))),i.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)));let e=null,s=null;for(const t of i)if(t.lane===Nf.Left&&(!e||Ms.compareRangesUsingEnds(e,t.range)<0)&&(e=t.range),t.lane===Nf.Right&&(!s||Ms.compareRangesUsingEnds(s,t.range)<0)&&(s=t.range),e&&s){if(e.endLineNumber{this.focus()},dispatchTextAreaEvent:t=>{this._textAreaHandler.textArea.domNode.dispatchEvent(t)},getLastRenderData:()=>{const t=this._viewCursors.getLastRenderData()||[],i=this._textAreaHandler.getLastRenderData();return new nk(t,i)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:t=>this._viewZones.shouldSuppressMouseDownOnViewZone(t),shouldSuppressMouseDownOnWidget:t=>this._contentWidgets.shouldSuppressMouseDownOnWidget(t),getPositionFromDOMInfo:(t,i)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(t,i)),visibleRangeForPosition:(t,i)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new As(t,i))),getLineWidth:t=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(t))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:t=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(t))}}_applyLayout(){const t=this._context.configuration.options.get(143);this.domNode.setWidth(t.width),this.domNode.setHeight(t.height),this._overflowGuardContainer.setWidth(t.width),this._overflowGuardContainer.setHeight(t.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){const t=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(140)+" "+ix(this._context.theme.type)+t}handleEvents(t){super.handleEvents(t),this._scheduleRender()}onConfigurationChanged(t){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(t){return this._selections=t.selections,!1}onDecorationsChanged(t){return t.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(t){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(t){return this._context.theme.update(t.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const t of this._viewParts)t.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new Ki;if(null===this._renderAnimationFrame){const t=this._createCoordinatedRendering();this._renderAnimationFrame=UD.INSTANCE.scheduleCoordinatedRendering({window:Na(this.domNode.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new Ki;try{return t.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new Ki;return t.renderText()},prepareRender:(i,e)=>{if(this._store.isDisposed)throw new Ki;return t.prepareRender(i,e)},render:(i,e)=>{if(this._store.isDisposed)throw new Ki;return t.render(i,e)}})}}_flushAccumulatedAndRenderNow(){const t=this._createCoordinatedRendering();VD((()=>t.prepareRenderText()));const i=VD((()=>t.renderText()));if(i){const[e,s]=i;VD((()=>t.prepareRender(e,s))),VD((()=>t.render(e,s)))}}_getViewPartsToRender(){const t=[];let i=0;for(const e of this._viewParts)e.shouldRender()&&(t[i++]=e);return t}_createCoordinatedRendering(){return{prepareRenderText:()=>{this._shouldRecomputeGlyphMarginLanes&&(this._shouldRecomputeGlyphMarginLanes=!1,this._context.configuration.setGlyphMarginDecorationLaneCount(this._computeGlyphMarginLaneCount())),Pk.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let t=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===t.length)return null;const i=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(i.startLineNumber,i.endLineNumber,i.centeredLineNumber);const e=new $D(this._selections,i,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(e),this._viewLines.shouldRender()&&(this._viewLines.renderText(e),this._viewLines.onDidRender(),t=this._getViewPartsToRender()),[t,new Iy(this._context.viewLayout,e,this._viewLines)]},prepareRender:(t,i)=>{for(const e of t)e.prepareRender(i)},render:(t,i)=>{for(const e of t)e.render(i),e.onDidRender()}}}delegateVerticalScrollbarPointerDown(t){this._scrollbar.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this._scrollbar.delegateScrollFromMouseWheelEvent(t)}restoreState(t){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:t.scrollTop,scrollLeft:t.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(t,i){const e=this._context.viewModel.model.validatePosition({lineNumber:t,column:i}),s=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(e);this._flushAccumulatedAndRenderNow();const n=this._viewLines.visibleRangeForPosition(new As(s.lineNumber,s.column));return n?n.left:-1}getTargetAtClientPoint(t,i){const e=this._pointerHandler.getTargetAtClientPoint(t,i);return e?dS.convertViewToModelMouseTarget(e,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(t){return new CD(this._context,t)}change(t){this._viewZones.changeViewZones(t),this._scheduleRender()}render(t,i){if(i){this._viewLines.forceShouldRender();for(const t of this._viewParts)t.forceShouldRender()}t?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(t){this._textAreaHandler.writeScreenReaderContent(t)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(t){this._textAreaHandler.setAriaOptions(t)}addContentWidget(t){this._contentWidgets.addWidget(t.widget),this.layoutContentWidget(t),this._scheduleRender()}layoutContentWidget(t){var i,e,s,n,o,r,h,c;this._contentWidgets.setWidgetPosition(t.widget,null!==(e=null===(i=t.position)||void 0===i?void 0:i.position)&&void 0!==e?e:null,null!==(n=null===(s=t.position)||void 0===s?void 0:s.secondaryPosition)&&void 0!==n?n:null,null!==(r=null===(o=t.position)||void 0===o?void 0:o.preference)&&void 0!==r?r:null,null!==(c=null===(h=t.position)||void 0===h?void 0:h.positionAffinity)&&void 0!==c?c:null),this._scheduleRender()}removeContentWidget(t){this._contentWidgets.removeWidget(t.widget),this._scheduleRender()}addOverlayWidget(t){this._overlayWidgets.addWidget(t.widget),this.layoutOverlayWidget(t),this._scheduleRender()}layoutOverlayWidget(t){this._overlayWidgets.setWidgetPosition(t.widget,t.position?t.position.preference:null)&&this._scheduleRender()}removeOverlayWidget(t){this._overlayWidgets.removeWidget(t.widget),this._scheduleRender()}addGlyphMarginWidget(t){this._glyphMarginWidgets.addWidget(t.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(t){this._glyphMarginWidgets.setWidgetPosition(t.widget,t.position)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(t){this._glyphMarginWidgets.removeWidget(t.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function VD(t){try{return t()}catch(t){return Bi(t),null}}HD=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(6,ur)],HD);class UD{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(t){return this._coordinatedRenderings.push(t),this._scheduleRender(t.window),{dispose:()=>{const i=this._coordinatedRenderings.indexOf(t);if(-1!==i&&(this._coordinatedRenderings.splice(i,1),0===this._coordinatedRenderings.length)){for(const[t,i]of this._animationFrameRunners)i.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(t){this._animationFrameRunners.has(t)||this._animationFrameRunners.set(t,Za(t,(()=>{this._animationFrameRunners.delete(t),this._onRenderScheduled()}),100))}_onRenderScheduled(){const t=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of t)VD((()=>i.prepareRenderText()));const i=[];for(let e=0,s=t.length;es.renderText()))}for(let e=0,s=t.length;es.prepareRender(o,r)))}for(let e=0,s=t.length;es.render(o,r)))}}}UD.INSTANCE=new UD;class qD{constructor(t,i,e,s,n,o,r){this.id=t,this.label=i,this.alias=e,this.metadata=s,this._precondition=n,this._run=o,this._contextKeyService=r}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(t){return this.isSupported()?this._run(t):Promise.resolve(void 0)}}function KD(t){let i=0,e=0,s=0,n=0;for(let o=0,r=t.length;o=tE&&(e-=t%tE),e}function nE(t,i){return t.reduce(((t,e)=>sE(t,i(e))),YD)}function oE(t,i){return t===i}function rE(t,i){const e=t,s=i;if(s-e<=0)return YD;const n=Math.floor(e/tE),o=Math.floor(s/tE),r=s-o*tE;return n===o?iE(0,r-(e-n*tE)):iE(o-n,r)}function hE(t,i){return t=i}function lE(t){return iE(t.lineNumber-1,t.column-1)}function uE(t,i){const e=t,s=Math.floor(e/tE),n=e-s*tE,o=i,r=Math.floor(o/tE);return new Ms(s+1,n+1,r+1,o-r*tE+1)}class dE{static fromModelContentChanges(t){const i=t.map((t=>{const i=Ms.lift(t.range);return new dE(lE(i.getStartPosition()),lE(i.getEndPosition()),function(t){const i=Xn(t);return iE(i.length-1,i[i.length-1].length)}(t.text))})).reverse();return i}constructor(t,i,e){this.startOffset=t,this.endOffset=i,this.newLength=e}toString(){return`[${eE(this.startOffset)}...${eE(this.endOffset)}) -> ${eE(this.newLength)}`}}class fE{constructor(t){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=t.map((t=>pE.from(t)))}getOffsetBeforeChange(t){return this.adjustNextEdit(t),this.translateCurToOld(t)}getDistanceToNextChange(t){this.adjustNextEdit(t);const i=this.edits[this.nextEditIdx],e=i?this.translateOldToCur(i.offsetObj):null;return null===e?null:rE(t,e)}translateOldToCur(t){return iE(t.lineCount+this.deltaOldToNewLineCount,t.lineCount===this.deltaLineIdxInOld?t.columnCount+this.deltaOldToNewColumnCount:t.columnCount)}translateCurToOld(t){const i=eE(t);return iE(i.lineCount-this.deltaOldToNewLineCount,i.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?i.columnCount-this.deltaOldToNewColumnCount:i.columnCount)}adjustNextEdit(t){for(;this.nextEditIdx>5;if(0===s){const t=1<t};class vE{constructor(){this.items=new Map}getKey(t){let i=this.items.get(t);return void 0===i&&(i=this.items.size,this.items.set(t,i)),i}}class bE{get length(){return this._length}constructor(t){this._length=t}}class yE extends bE{static create(t,i,e){let s=t.length;return i&&(s=sE(s,i.length)),e&&(s=sE(s,e.length)),new yE(s,t,i,e,i?i.missingOpeningBracketIds:mE.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(t){switch(t){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const t=[];return t.push(this.openingBracket),this.child&&t.push(this.child),this.closingBracket&&t.push(this.closingBracket),t}constructor(t,i,e,s,n){super(t),this.openingBracket=i,this.child=e,this.closingBracket=s,this.missingOpeningBracketIds=n}canBeReused(t){return null!==this.closingBracket&&!t.intersects(this.missingOpeningBracketIds)}deepClone(){return new yE(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(t,i){return this.child?this.child.computeMinIndentation(sE(t,this.openingBracket.length),i):Number.MAX_SAFE_INTEGER}}class kE extends bE{static create23(t,i,e,s=!1){let n=t.length,o=t.missingOpeningBracketIds;if(t.listHeight!==i.listHeight)throw new Error("Invalid list heights");if(n=sE(n,i.length),o=o.merge(i.missingOpeningBracketIds),e){if(t.listHeight!==e.listHeight)throw new Error("Invalid list heights");n=sE(n,e.length),o=o.merge(e.missingOpeningBracketIds)}return s?new CE(n,t.listHeight+1,t,i,e,o):new xE(n,t.listHeight+1,t,i,e,o)}static getEmpty(){return new DE(YD,0,[],mE.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(t,i,e){super(t),this.listHeight=i,this._missingOpeningBracketIds=e,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const t=this.childrenLength;if(0===t)return;const i=this.getChild(t-1),e=4===i.kind?i.toMutable():i;return i!==e&&this.setChild(t-1,e),e}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;const t=this.getChild(0),i=4===t.kind?t.toMutable():t;return t!==i&&this.setChild(0,i),i}canBeReused(t){if(t.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let i=this;for(;4===i.kind;){const t=i.childrenLength;if(0===t)throw new Ki;i=i.getChild(t-1)}return i.canBeReused(t)}handleChildrenChanged(){this.throwIfImmutable();const t=this.childrenLength;let i=this.getChild(0).length,e=this.getChild(0).missingOpeningBracketIds;for(let s=1;sthis.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const t=this.lineIdx,i=this.lineCharOffset;let e=0;for(;;){const s=this.lineTokens,n=s.getCount();let o=null;if(this.lineTokenOffset1e3)break}if(e>1500)break}const s=(o=i,h=this.lineCharOffset,(n=t)!==(r=this.lineIdx)?iE(r-n,h):iE(0,h-o));var n,o,r,h;return new TE(s,0,-1,mE.getEmpty(),new ME(s))}}class IE{constructor(t,i){this.text=t,this._offset=YD,this.idx=0;const e=i.getRegExpStr(),s=e?new RegExp(e+"|\n","gi"):null,n=[];let o,r=0,h=0,c=0,a=0;const l=[];for(let t=0;t<60;t++)l.push(new TE(iE(0,t),0,-1,mE.getEmpty(),new ME(iE(0,t))));const u=[];for(let t=0;t<60;t++)u.push(new TE(iE(1,t),0,-1,mE.getEmpty(),new ME(iE(1,t))));if(s)for(s.lastIndex=0;null!==(o=s.exec(t));){const t=o.index,e=o[0];if("\n"===e)r++,h=t+1;else{if(c!==t){let i;if(a===r){const e=t-c;if(efunction(t){let i=Gn(t);return/^[\w ]+/.test(t)&&(i=`\\b${i}`),/[\w ]+$/.test(t)&&(i=`${i}\\b`),i}(t))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const t=this.getRegExpStr();this._regExpGlobal=t?new RegExp(t,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(t){return this.map.get(t.toLowerCase())}findClosingTokenText(t){for(const[i,e]of this.map)if(2===e.kind&&e.bracketIds.intersects(t))return i}get isEmpty(){return 0===this.map.size}}class NE{constructor(t,i){this.denseKeyProvider=t,this.getLanguageConfiguration=i,this.languageIdToBracketTokens=new Map}didLanguageChange(t){return this.languageIdToBracketTokens.has(t)}getSingleLanguageBracketTokens(t){let i=this.languageIdToBracketTokens.get(t);return i||(i=_E.createFromLanguage(this.getLanguageConfiguration(t),this.denseKeyProvider),this.languageIdToBracketTokens.set(t,i)),i}}function BE(t,i=!1){if(0===t.length)return null;if(1===t.length)return t[0];let e=t.length;for(;e>3;){const s=e>>1;for(let n=0;n=3?t[2]:null,i)}function PE(t,i){return Math.abs(t.listHeight-i.listHeight)}function $E(t,i){return t.listHeight===i.listHeight?kE.create23(t,i,null,!1):t.listHeight>i.listHeight?function(t,i){let e=t=t.toMutable();const s=[];let n;for(;;){if(i.listHeight===e.listHeight){n=i;break}if(4!==e.kind)throw new Error("unexpected");s.push(e),e=e.makeLastElementMutable()}for(let t=s.length-1;t>=0;t--){const i=s[t];n?i.childrenLength>=3?n=kE.create23(i.unappendChild(),n,null,!1):(i.appendChildOfSameHeight(n),n=void 0):i.handleChildrenChanged()}return n?kE.create23(t,n,null,!1):t}(t,i):function(t,i){let e=t=t.toMutable();const s=[];for(;i.listHeight!==e.listHeight;){if(4!==e.kind)throw new Error("unexpected");s.push(e),e=e.makeFirstElementMutable()}let n=i;for(let t=s.length-1;t>=0;t--){const i=s[t];n?i.childrenLength>=3?n=kE.create23(n,i.unprependChild(),null,!1):(i.prependChildOfSameHeight(n),n=void 0):i.handleChildrenChanged()}return n?kE.create23(n,t,null,!1):t}(i,t)}class WE{constructor(t){this.lastOffset=YD,this.nextNodes=[t],this.offsets=[YD],this.idxs=[]}readLongestNodeAt(t,i){if(hE(t,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=t;;){const e=zE(this.nextNodes);if(!e)return;const s=zE(this.offsets);if(hE(t,s))return;if(hE(s,t))if(sE(s,e.length)<=t)this.nextNodeAfterCurrent();else{const t=jE(e);-1!==t?(this.nextNodes.push(e.getChild(t)),this.offsets.push(s),this.idxs.push(t)):this.nextNodeAfterCurrent()}else{if(i(e))return this.nextNodeAfterCurrent(),e;{const t=jE(e);if(-1===t)return void this.nextNodeAfterCurrent();this.nextNodes.push(e.getChild(t)),this.offsets.push(s),this.idxs.push(t)}}}}nextNodeAfterCurrent(){for(;;){const t=zE(this.offsets),i=zE(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const e=zE(this.nextNodes),s=jE(e,this.idxs[this.idxs.length-1]);if(-1!==s){this.nextNodes.push(e.getChild(s)),this.offsets.push(sE(t,i.length)),this.idxs[this.idxs.length-1]=s;break}this.idxs.pop()}}}function jE(t,i=-1){for(;;){if(++i>=t.childrenLength)return-1;if(t.getChild(i))return i}}function zE(t){return t.length>0?t[t.length-1]:void 0}function HE(t,i,e,s){return new VE(t,i,e,s).parseDocument()}class VE{constructor(t,i,e,s){if(this.tokenizer=t,this.createImmutableLists=s,this._itemsConstructed=0,this._itemsFromCache=0,e&&s)throw new Error("Not supported");this.oldNodeReader=e?new WE(e):void 0,this.positionMapper=new fE(i)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let t=this.parseList(mE.getEmpty(),0);return t||(t=kE.getEmpty()),t}parseList(t,i){const e=[];for(;;){let s=this.tryReadChildFromCache(t);if(!s){const e=this.tokenizer.peek();if(!e||2===e.kind&&e.bracketIds.intersects(t))break;s=this.parseChild(t,i+1)}4===s.kind&&0===s.childrenLength||e.push(s)}const s=this.oldNodeReader?function(t){if(0===t.length)return null;if(1===t.length)return t[0];let i=0;function e(){if(i>=t.length)return null;const e=i,s=t[e].listHeight;for(i++;i=2?BE(0===e&&i===t.length?t:t.slice(e,i),!1):t[e]}let s=e(),n=e();if(!n)return s;for(let t=e();t;t=e())PE(s,n)<=PE(n,t)?(s=$E(s,n),n=t):n=$E(n,t);return $E(s,n)}(e):BE(e,this.createImmutableLists);return s}tryReadChildFromCache(t){if(this.oldNodeReader){const i=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===i||!XD(i)){const e=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(e=>!(null!==i&&!hE(e.length,i))&&e.canBeReused(t)));if(e)return this._itemsFromCache++,this.tokenizer.skip(e.length),e}}}parseChild(t,i){this._itemsConstructed++;const e=this.tokenizer.read();switch(e.kind){case 2:return new FE(e.bracketIds,e.length);case 0:return e.astNode;case 1:{if(i>300)return new ME(e.length);const s=t.merge(e.bracketIds),n=this.parseList(s,i+1),o=this.tokenizer.peek();return o&&2===o.kind&&(o.bracketId===e.bracketId||o.bracketIds.intersects(e.bracketIds))?(this.tokenizer.read(),yE.create(e.astNode,n,o.astNode)):yE.create(e.astNode,n,null)}default:throw new Error("unexpected")}}}function UE(t,i){if(0===t.length)return i;if(0===i.length)return t;const e=new _(KE(t)),s=KE(i);s.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let n=e.dequeue();function o(t){if(void 0===t){const t=e.takeWhile((()=>!0))||[];return n&&t.unshift(n),t}const i=[];for(;n&&!XD(t);){const[s,o]=n.splitAt(t);i.push(s),t=rE(s.lengthAfter,t),n=null!=o?o:e.dequeue()}return XD(t)||i.push(new qE(!1,t,t)),i}const r=[];function h(t,i,e){if(r.length>0&&oE(r[r.length-1].endOffset,t)){const t=r[r.length-1];r[r.length-1]=new dE(t.startOffset,i,sE(t.newLength,e))}else r.push({startOffset:t,endOffset:i,newLength:e})}let c=YD;for(const t of s){const i=o(t.lengthBefore);if(t.modified){const e=sE(c,nE(i,(t=>t.lengthBefore)));h(c,e,t.lengthAfter),c=e}else for(const t of i){const i=c;c=sE(c,t.lengthBefore),t.modified&&h(i,c,t.lengthAfter)}}return r}class qE{constructor(t,i,e){this.modified=t,this.lengthBefore=i,this.lengthAfter=e}splitAt(t){const i=rE(t,this.lengthAfter);return oE(i,YD)?[this,void 0]:this.modified?[new qE(this.modified,this.lengthBefore,t),new qE(this.modified,YD,i)]:[new qE(this.modified,t,t),new qE(this.modified,i,i)]}toString(){return`${this.modified?"M":"U"}:${eE(this.lengthBefore)} -> ${eE(this.lengthAfter)}`}}function KE(t){const i=[];let e=YD;for(const s of t){const t=rE(e,s.startOffset);XD(t)||i.push(new qE(!1,t,t));const n=rE(s.startOffset,s.endOffset);i.push(new qE(!0,n,s.newLength)),e=s.endOffset}return i}class GE extends te{didLanguageChange(t){return this.brackets.didLanguageChange(t)}constructor(t,i){if(super(),this.textModel=t,this.getLanguageConfiguration=i,this.didChangeEmitter=new de,this.denseKeyProvider=new vE,this.brackets=new NE(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],t.tokenization.hasTokens)2===t.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const t=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),i=new IE(this.textModel.getValue(),t);this.initialAstWithoutTokens=HE(i,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const t=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,t||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:t}){const i=t.map((t=>new dE(iE(t.fromLineNumber-1,0),iE(t.toLineNumber,0),iE(t.toLineNumber-t.fromLineNumber+1,0))));this.handleEdits(i,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(t){const i=dE.fromModelContentChanges(t.changes);this.handleEdits(i,!1)}handleEdits(t,i){const e=UE(this.queuedTextEdits,t);this.queuedTextEdits=e,this.initialAstWithoutTokens&&!i&&(this.queuedTextEditsForInitialAstWithoutTokens=UE(this.queuedTextEditsForInitialAstWithoutTokens,t))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(t,i,e){const s=i;return HE(new RE(this.textModel,this.brackets),t,s,e)}getBracketsInRange(t,i){this.flushQueue();const e=iE(t.startLineNumber-1,t.startColumn-1),s=iE(t.endLineNumber-1,t.endColumn-1);return new N((t=>{const n=this.initialAstWithoutTokens||this.astWithTokens;JE(n,YD,n.length,e,s,t,0,0,new Map,i)}))}getBracketPairsInRange(t,i){this.flushQueue();const e=lE(t.getStartPosition()),s=lE(t.getEndPosition());return new N((t=>{const n=this.initialAstWithoutTokens||this.astWithTokens,o=new YE(t,i,this.textModel);XE(n,YD,n.length,e,s,o,0,new Map)}))}getFirstBracketAfter(t){this.flushQueue();const i=this.initialAstWithoutTokens||this.astWithTokens;return QE(i,YD,i.length,lE(t))}getFirstBracketBefore(t){this.flushQueue();const i=this.initialAstWithoutTokens||this.astWithTokens;return ZE(i,YD,i.length,lE(t))}}function ZE(t,i,e,s){if(4===t.kind||2===t.kind){const n=[];for(const s of t.children)e=sE(i,s.length),n.push({nodeOffsetStart:i,nodeOffsetEnd:e}),i=e;for(let i=n.length-1;i>=0;i--){const{nodeOffsetStart:e,nodeOffsetEnd:o}=n[i];if(hE(e,s)){const n=ZE(t.children[i],e,o,s);if(n)return n}}return null}if(3===t.kind)return null;if(1===t.kind){const s=uE(i,e);return{bracketInfo:t.bracketInfo,range:s}}return null}function QE(t,i,e,s){if(4===t.kind||2===t.kind){for(const n of t.children){if(hE(s,e=sE(i,n.length))){const t=QE(n,i,e,s);if(t)return t}i=e}return null}if(3===t.kind)return null;if(1===t.kind){const s=uE(i,e);return{bracketInfo:t.bracketInfo,range:s}}return null}function JE(t,i,e,s,n,o,r,h,c,a,l=!1){if(r>200)return!0;t:for(;;)switch(t.kind){case 4:{const h=t.childrenLength;for(let l=0;l200)return!0;let a=!0;if(2===t.kind){let l=0;if(h){let i=h.get(t.openingBracket.text);void 0===i&&(i=0),l=i,i++,h.set(t.openingBracket.text,i)}const u=sE(i,t.openingBracket.length);let d=-1;if(o.includeMinIndentation&&(d=t.computeMinIndentation(i,o.textModel)),a=o.push(new QD(uE(i,e),uE(i,u),t.closingBracket?uE(sE(u,(null===(c=t.child)||void 0===c?void 0:c.length)||YD),e):void 0,r,l,t,d)),i=u,a&&t.child){const c=t.child;if(e=sE(i,c.length),cE(i,n)&&aE(e,s)&&(a=XE(c,i,e,s,n,o,r+1,h),!a))return!1}null==h||h.set(t.openingBracket.text,l)}else{let e=i;for(const i of t.children){const t=e;if(e=sE(e,i.length),cE(t,n)&&cE(s,e)&&(a=XE(i,t,e,s,n,o,r,h),!a))return!1}}return a}class tA extends te{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(t,i){super(),this.textModel=t,this.languageConfigurationService=i,this.bracketPairsTree=this._register(new ie),this.onDidChangeEmitter=new de,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange((t=>{var i;t.languageId&&!(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.didLanguageChange(t.languageId))||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())})))}handleDidChangeOptions(t){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(t){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(t){var i;null===(i=this.bracketPairsTree.value)||void 0===i||i.object.handleContentChanged(t)}handleDidChangeBackgroundTokenizationState(){var t;null===(t=this.bracketPairsTree.value)||void 0===t||t.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(t){var i;null===(i=this.bracketPairsTree.value)||void 0===i||i.object.handleDidChangeTokens(t)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new Xi;this.bracketPairsTree.value=(t=e.add(new GE(this.textModel,(t=>this.languageConfigurationService.getLanguageConfiguration(t)))),i=e,{object:t,dispose:()=>null==i?void 0:i.dispose()}),e.add(this.bracketPairsTree.value.object.onDidChange((t=>this.onDidChangeEmitter.fire(t)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var t,i}getBracketPairsInRange(t){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getBracketPairsInRange(t,!1))||N.empty}getBracketPairsInRangeWithMinIndentation(t){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getBracketPairsInRange(t,!0))||N.empty}getBracketsInRange(t,i=!1){var e;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(e=this.bracketPairsTree.value)||void 0===e?void 0:e.object.getBracketsInRange(t,i))||N.empty}findMatchingBracketUp(t,i,e){const s=this.textModel.validatePosition(i),n=this.textModel.getLanguageIdAtPosition(s.lineNumber,s.column);if(this.canBuildAST){const e=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew.getClosingBracketInfo(t);if(!e)return null;const s=this.getBracketPairsInRange(Ms.fromPositions(i,i)).findLast((t=>e.closes(t.openingBracketInfo)));return s?s.openingBracketRange:null}{const i=t.toLowerCase(),o=this.languageConfigurationService.getLanguageConfiguration(n).brackets;if(!o)return null;const r=o.textIsBracket[i];return r?sA(this._findMatchingBracketUp(r,s,iA(e))):null}}matchBracket(t,i){if(this.canBuildAST){const i=this.getBracketPairsInRange(Ms.fromPositions(t,t)).filter((i=>void 0!==i.closingBracketRange&&(i.openingBracketRange.containsPosition(t)||i.closingBracketRange.containsPosition(t)))).findLastMaxBy(T((i=>i.openingBracketRange.containsPosition(t)?i.openingBracketRange:i.closingBracketRange),Ms.compareRangesUsingStarts));return i?[i.openingBracketRange,i.closingBracketRange]:null}{const e=iA(i);return this._matchBracket(this.textModel.validatePosition(t),e)}}_establishBracketSearchOffsets(t,i,e,s){const n=i.getCount(),o=i.getLanguageId(s);let r=Math.max(0,t.column-1-e.maxBracketLength);for(let t=s-1;t>=0;t--){const e=i.getEndOffset(t);if(e<=r)break;if(Pu(i.getStandardTokenType(t))||i.getLanguageId(t)!==o){r=e;break}}let h=Math.min(i.getLineContent().length,t.column-1+e.maxBracketLength);for(let t=s+1;t=h)break;if(Pu(i.getStandardTokenType(t))||i.getLanguageId(t)!==o){h=e;break}}return{searchStartOffset:r,searchEndOffset:h}}_matchBracket(t,i){const e=t.lineNumber,s=this.textModel.tokenization.getLineTokens(e),n=this.textModel.getLineContent(e),o=s.findTokenIndexAtOffset(t.column-1);if(o<0)return null;const r=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId(o)).brackets;if(r&&!Pu(s.getStandardTokenType(o))){let{searchStartOffset:h,searchEndOffset:c}=this._establishBracketSearchOffsets(t,s,r,o),a=null;for(;;){const s=ad.findNextBracketInRange(r.forwardRegex,e,n,h,c);if(!s)break;if(s.startColumn<=t.column&&t.column<=s.endColumn){const t=n.substring(s.startColumn-1,s.endColumn-1).toLowerCase(),e=this._matchFoundBracket(s,r.textIsBracket[t],r.textIsOpenBracket[t],i);if(e){if(e instanceof eA)return null;a=e}}h=s.endColumn-1}if(a)return a}if(o>0&&s.getStartOffset(o)===t.column-1){const r=o-1,h=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId(r)).brackets;if(h&&!Pu(s.getStandardTokenType(r))){const{searchStartOffset:o,searchEndOffset:c}=this._establishBracketSearchOffsets(t,s,h,r),a=ad.findPrevBracketInRange(h.reversedRegex,e,n,o,c);if(a&&a.startColumn<=t.column&&t.column<=a.endColumn){const t=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),e=this._matchFoundBracket(a,h.textIsBracket[t],h.textIsOpenBracket[t],i);if(e)return e instanceof eA?null:e}}}return null}_matchFoundBracket(t,i,e,s){if(!i)return null;const n=e?this._findMatchingBracketDown(i,t.getEndPosition(),s):this._findMatchingBracketUp(i,t.getStartPosition(),s);return n?n instanceof eA?n:[t,n]:null}_findMatchingBracketUp(t,i,e){const s=t.languageId,n=t.reversedRegex;let o=-1,r=0;const h=(i,s,h,c)=>{for(;;){if(e&&++r%100==0&&!e())return eA.INSTANCE;const a=ad.findPrevBracketInRange(n,i,s,h,c);if(!a)break;const l=s.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(t.isOpen(l)?o++:t.isClose(l)&&o--,0===o)return a;c=a.startColumn-1}return null};for(let t=i.lineNumber;t>=1;t--){const e=this.textModel.tokenization.getLineTokens(t),n=e.getCount(),o=this.textModel.getLineContent(t);let r=n-1,c=o.length,a=o.length;t===i.lineNumber&&(r=e.findTokenIndexAtOffset(i.column-1),c=i.column-1,a=i.column-1);let l=!0;for(;r>=0;r--){const i=e.getLanguageId(r)===s&&!Pu(e.getStandardTokenType(r));if(i)l?c=e.getStartOffset(r):(c=e.getStartOffset(r),a=e.getEndOffset(r));else if(l&&c!==a){const i=h(t,o,c,a);if(i)return i}l=i}if(l&&c!==a){const i=h(t,o,c,a);if(i)return i}}return null}_findMatchingBracketDown(t,i,e){const s=t.languageId,n=t.forwardRegex;let o=1,r=0;const h=(i,s,h,c)=>{for(;;){if(e&&++r%100==0&&!e())return eA.INSTANCE;const a=ad.findNextBracketInRange(n,i,s,h,c);if(!a)break;const l=s.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(t.isOpen(l)?o++:t.isClose(l)&&o--,0===o)return a;h=a.endColumn-1}return null},c=this.textModel.getLineCount();for(let t=i.lineNumber;t<=c;t++){const e=this.textModel.tokenization.getLineTokens(t),n=e.getCount(),o=this.textModel.getLineContent(t);let r=0,c=0,a=0;t===i.lineNumber&&(r=e.findTokenIndexAtOffset(i.column-1),c=i.column-1,a=i.column-1);let l=!0;for(;r=1;t--){const i=this.textModel.tokenization.getLineTokens(t),r=i.getCount(),h=this.textModel.getLineContent(t);let c=r-1,a=h.length,l=h.length;if(t===e.lineNumber){c=i.findTokenIndexAtOffset(e.column-1),a=e.column-1,l=e.column-1;const t=i.getLanguageId(c);s!==t&&(s=t,n=this.languageConfigurationService.getLanguageConfiguration(s).brackets,o=this.languageConfigurationService.getLanguageConfiguration(s).bracketsNew)}let u=!0;for(;c>=0;c--){const e=i.getLanguageId(c);if(s!==e){if(n&&o&&u&&a!==l){const i=ad.findPrevBracketInRange(n.reversedRegex,t,h,a,l);if(i)return this._toFoundBracket(o,i);u=!1}s=e,n=this.languageConfigurationService.getLanguageConfiguration(s).brackets,o=this.languageConfigurationService.getLanguageConfiguration(s).bracketsNew}const r=!!n&&!Pu(i.getStandardTokenType(c));if(r)u?a=i.getStartOffset(c):(a=i.getStartOffset(c),l=i.getEndOffset(c));else if(o&&n&&u&&a!==l){const i=ad.findPrevBracketInRange(n.reversedRegex,t,h,a,l);if(i)return this._toFoundBracket(o,i)}u=r}if(o&&n&&u&&a!==l){const i=ad.findPrevBracketInRange(n.reversedRegex,t,h,a,l);if(i)return this._toFoundBracket(o,i)}}return null}findNextBracket(t){var i;const e=this.textModel.validatePosition(t);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getFirstBracketAfter(e))||null;const s=this.textModel.getLineCount();let n=null,o=null,r=null;for(let t=e.lineNumber;t<=s;t++){const i=this.textModel.tokenization.getLineTokens(t),s=i.getCount(),h=this.textModel.getLineContent(t);let c=0,a=0,l=0;if(t===e.lineNumber){c=i.findTokenIndexAtOffset(e.column-1),a=e.column-1,l=e.column-1;const t=i.getLanguageId(c);n!==t&&(n=t,o=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let u=!0;for(;cvoid 0!==i.closingBracketRange&&i.range.strictContainsRange(t)));return i?[i.openingBracketRange,i.closingBracketRange]:null}const s=iA(i),n=this.textModel.getLineCount(),o=new Map;let r=[];const h=(t,i)=>{if(!o.has(t)){const e=[];for(let t=0,s=i?i.brackets.length:0;t{for(;;){if(s&&++c%100==0&&!s())return eA.INSTANCE;const h=ad.findNextBracketInRange(t.forwardRegex,i,e,n,o);if(!h)break;const a=e.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),l=t.textIsBracket[a];if(l&&(l.isOpen(a)?r[l.index]++:l.isClose(a)&&r[l.index]--,-1===r[l.index]))return this._matchFoundBracket(h,l,!1,s);n=h.endColumn-1}return null};let l=null,u=null;for(let t=e.lineNumber;t<=n;t++){const i=this.textModel.tokenization.getLineTokens(t),s=i.getCount(),n=this.textModel.getLineContent(t);let o=0,r=0,c=0;if(t===e.lineNumber){o=i.findTokenIndexAtOffset(e.column-1),r=e.column-1,c=e.column-1;const t=i.getLanguageId(o);l!==t&&(l=t,u=this.languageConfigurationService.getLanguageConfiguration(l).brackets,h(l,u))}let d=!0;for(;o!0;{const i=Date.now();return()=>Date.now()-i<=t}}class eA{constructor(){this._searchCanceledBrand=void 0}}function sA(t){return t instanceof eA?null:t}eA.INSTANCE=new eA;class nA extends te{constructor(t){super(),this.textModel=t,this.colorProvider=new oA,this.onDidChangeEmitter=new de,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=t.getOptions().bracketPairColorizationOptions,this._register(t.bracketPairs.onDidChange((()=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(t){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(t,i,e,s){return s||void 0===i?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(t,!0).map((t=>({id:`bracket${t.range.toString()}-${t.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(t,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:t.range}))).toArray():[]}getAllDecorations(t,i){return void 0===t?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new Ms(1,1,this.textModel.getLineCount(),1),t,i):[]}}class oA{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(t,i){return t.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(i?t.nestingLevelOfEqualBracketType:t.nestingLevel)}getInlineClassNameOfLevel(t){return"bracket-highlighting-"+t%30}}function rA(t){return t.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}nx(((t,i)=>{const e=[Nx,Bx,Px,$x,Wx,jx],s=new oA;i.addRule(`.monaco-editor .${s.unexpectedClosingBracketClassName} { color: ${t.getColor(zx)}; }`);const n=e.map((i=>t.getColor(i))).filter((t=>!!t)).filter((t=>!t.isTransparent()));for(let t=0;t<30;t++){const e=n[t%n.length];i.addRule(`.monaco-editor .${s.getInlineClassNameOfLevel(t)} { color: ${e}; }`)}}));class hA{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(t,i,e,s){this.oldPosition=t,this.oldText=i,this.newPosition=e,this.newText=s}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${rA(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${rA(this.oldText)}")`:`(replace@${this.oldPosition} "${rA(this.oldText)}" with "${rA(this.newText)}")`}static _writeStringSize(t){return 4+2*t.length}static _writeString(t,i,e){const s=i.length;Zu(t,s,e),e+=4;for(let n=0;n0&&(65279===s[0]||65534===s[0])?function(t,i,e){const s=[];let n=0;for(let o=0;ot.length)return!1;if(e){if(!uo(t,i))return!1;if(i.length===t.length)return!0;let e=i.length;return i.charAt(i.length-1)===s&&e--,t.charAt(e)===s}return i.charAt(i.length-1)!==s&&(i+=s),0===t.indexOf(i)}function fA(t){return t>=65&&t<=90||t>=97&&t<=122}function pA(t){return xs(t,!0)}class gA{constructor(t){this._ignorePathCasing=t}compare(t,i,e=!1){return t===i?0:so(this.getComparisonKey(t,e),this.getComparisonKey(i,e))}isEqual(t,i,e=!1){return t===i||!(!t||!i)&&this.getComparisonKey(t,e)===this.getComparisonKey(i,e)}getComparisonKey(t,i=!1){return t.with({path:this._ignorePathCasing(t)?t.path.toLowerCase():void 0,fragment:i?null:void 0}).toString()}isEqualOrParent(t,i,e=!1){if(t.scheme===i.scheme){if(t.scheme===ka.file)return dA(pA(t),pA(i),this._ignorePathCasing(t))&&t.query===i.query&&(e||t.fragment===i.fragment);if(EA(t.authority,i.authority))return dA(t.path,i.path,this._ignorePathCasing(t),"/")&&t.query===i.query&&(e||t.fragment===i.fragment)}return!1}joinPath(t,...i){return ms.joinPath(t,...i)}basenameOrAuthority(t){return bA(t)||t.authority}basename(t){return es.basename(t.path)}extname(t){return es.extname(t.path)}dirname(t){if(0===t.path.length)return t;let i;return t.scheme===ka.file?i=ms.file(rs(pA(t))).path:(i=es.dirname(t.path),t.authority&&i.length&&47!==i.charCodeAt(0)&&(console.error(`dirname("${t.toString})) resulted in a relative path`),i="/")),t.with({path:i})}normalizePath(t){if(!t.path.length)return t;let i;return i=t.scheme===ka.file?ms.file(ss(pA(t))).path:es.normalize(t.path),t.with({path:i})}relativePath(t,i){if(t.scheme!==i.scheme||!EA(t.authority,i.authority))return;if(t.scheme===ka.file){const e=os(pA(t),pA(i));return xt?lA(e):e}let e=t.path||"/";const s=i.path||"/";if(this._ignorePathCasing(t)){let t=0;for(const i=Math.min(e.length,s.length);tuA(e).length&&e[e.length-1]===i}{const i=t.path;return i.length>1&&47===i.charCodeAt(i.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(t.fsPath)}}removeTrailingPathSeparator(t,i=as){return AA(t,i)?t.with({path:t.path.substr(0,t.path.length-1)}):t}addTrailingPathSeparator(t,i=as){let e=!1;if(t.scheme===ka.file){const s=pA(t);e=void 0!==s&&s.length===uA(s).length&&s[s.length-1]===i}else{i="/";const s=t.path;e=1===s.length&&47===s.charCodeAt(s.length-1)}return e||AA(t,i)?t:t.with({path:t.path+"/"})}}const mA=new gA((()=>!1));new gA((t=>t.scheme!==ka.file||!St)),new gA((()=>!0));const wA=mA.isEqual.bind(mA);mA.isEqualOrParent.bind(mA),mA.getComparisonKey.bind(mA);const vA=mA.basenameOrAuthority.bind(mA),bA=mA.basename.bind(mA),yA=mA.extname.bind(mA),kA=mA.dirname.bind(mA),xA=mA.joinPath.bind(mA),CA=mA.normalizePath.bind(mA),SA=mA.relativePath.bind(mA),DA=mA.resolvePath.bind(mA);mA.isAbsolutePath.bind(mA);const EA=mA.isEqualAuthority.bind(mA),AA=mA.hasTrailingPathSeparator.bind(mA);var MA;function LA(t){return t.toString()}mA.removeTrailingPathSeparator.bind(mA),mA.addTrailingPathSeparator.bind(mA),function(t){t.META_DATA_LABEL="label",t.META_DATA_DESCRIPTION="description",t.META_DATA_SIZE="size",t.META_DATA_MIME="mime",t.parseMetaData=function(i){const e=new Map;i.path.substring(i.path.indexOf(";")+1,i.path.lastIndexOf(";")).split(";").forEach((t=>{const[i,s]=t.split(":");i&&s&&e.set(i,s)}));const s=i.path.substring(0,i.path.indexOf(";"));return s&&e.set(t.META_DATA_MIME,s),e}}(MA||(MA={}));class FA{static create(t,i){const e=t.getAlternativeVersionId(),s=OA(t);return new FA(e,e,s,s,i,i,[])}constructor(t,i,e,s,n,o,r){this.beforeVersionId=t,this.afterVersionId=i,this.beforeEOL=e,this.afterEOL=s,this.beforeCursorState=n,this.afterCursorState=o,this.changes=r}append(t,i,e,s,n){var o,r;i.length>0&&(this.changes=(r=i,null===(o=this.changes)||0===o.length?r:new cA(o,r).compress())),this.afterEOL=e,this.afterVersionId=s,this.afterCursorState=n}static _writeSelectionsSize(t){return 4+16*(t?t.length:0)}static _writeSelections(t,i,e){if(Zu(t,i?i.length:0,e),e+=4,i)for(const s of i)Zu(t,s.selectionStartLineNumber,e),Zu(t,s.selectionStartColumn,e+=4),Zu(t,s.positionLineNumber,e+=4),Zu(t,s.positionColumn,e+=4),e+=4;return e}static _readSelections(t,i,e){const s=Gu(t,i);i+=4;for(let n=0;nt.toString())).join(", ")}matchesResource(t){return(ms.isUri(this.model)?this.model:this.model.uri).toString()===t.toString()}setModel(t){this.model=t}canAppend(t){return this.model===t&&this._data instanceof FA}append(t,i,e,s,n){this._data instanceof FA&&this._data.append(t,i,e,s,n)}close(){this._data instanceof FA&&(this._data=this._data.serialize())}open(){this._data instanceof FA||(this._data=FA.deserialize(this._data))}undo(){if(ms.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof FA&&(this._data=this._data.serialize());const t=FA.deserialize(this._data);this.model._applyUndo(t.changes,t.beforeEOL,t.beforeVersionId,t.beforeCursorState)}redo(){if(ms.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof FA&&(this._data=this._data.serialize());const t=FA.deserialize(this._data);this.model._applyRedo(t.changes,t.afterEOL,t.afterVersionId,t.afterCursorState)}heapSize(){return this._data instanceof FA&&(this._data=this._data.serialize()),this._data.byteLength+168}}class RA{get resources(){return this._editStackElementsArr.map((t=>t.resource))}constructor(t,i,e){this.label=t,this.code=i,this.type=1,this._isOpen=!0,this._editStackElementsArr=e.slice(0),this._editStackElementsMap=new Map;for(const t of this._editStackElementsArr){const i=LA(t.resource);this._editStackElementsMap.set(i,t)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(t){const i=LA(t);return this._editStackElementsMap.has(i)}setModel(t){const i=LA(ms.isUri(t)?t:t.uri);this._editStackElementsMap.has(i)&&this._editStackElementsMap.get(i).setModel(t)}canAppend(t){if(!this._isOpen)return!1;const i=LA(t.uri);return!!this._editStackElementsMap.has(i)&&this._editStackElementsMap.get(i).canAppend(t)}append(t,i,e,s,n){const o=LA(t.uri);this._editStackElementsMap.get(o).append(t,i,e,s,n)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const t of this._editStackElementsArr)t.undo()}redo(){for(const t of this._editStackElementsArr)t.redo()}heapSize(t){const i=LA(t);return this._editStackElementsMap.has(i)?this._editStackElementsMap.get(i).heapSize():0}split(){return this._editStackElementsArr}toString(){const t=[];for(const i of this._editStackElementsArr)t.push(`${bA(i.resource)}: ${i}`);return`{${t.join(", ")}}`}}function OA(t){return"\n"===t.getEOL()?0:1}function IA(t){return!!t&&(t instanceof TA||t instanceof RA)}class _A{constructor(t,i){this._model=t,this._undoRedoService=i}pushStackElement(){const t=this._undoRedoService.getLastElement(this._model.uri);IA(t)&&t.close()}popStackElement(){const t=this._undoRedoService.getLastElement(this._model.uri);IA(t)&&t.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(t,i){const e=this._undoRedoService.getLastElement(this._model.uri);if(IA(e)&&e.canAppend(this._model))return e;const s=new TA(ot(0,"Typing"),"undoredo.textBufferEdit",this._model,t);return this._undoRedoService.pushElement(s,i),s}pushEOL(t){const i=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(t),i.append(this._model,[],OA(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(t,i,e,s){const n=this._getOrCreateEditStackElement(t,s),o=this._model.applyEdits(i,!0),r=_A._computeCursorState(e,o),h=o.map(((t,i)=>({index:i,textChange:t.textChange})));return h.sort(((t,i)=>t.textChange.oldPosition===i.textChange.oldPosition?t.index-i.index:t.textChange.oldPosition-i.textChange.oldPosition)),n.append(this._model,h.map((t=>t.textChange)),OA(this._model),this._model.getAlternativeVersionId(),r),r}static _computeCursorState(t,i){try{return t?t(i):null}catch(t){return Bi(t),null}}}class NA{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function BA(t,i,e,s,n){let o;for(n.spacesDiff=0,n.looksLikeAlignment=!1,o=0;o0&&h>0)return;if(c>0&&a>0)return;const l=Math.abs(h-a),u=Math.abs(r-c);if(0===l)return n.spacesDiff=u,void(u>0&&0<=c-1&&c-10?n++:g>1&&o++,BA(r,h,u,p,l),l.looksLikeAlignment&&(!e||i!==l.spacesDiff))continue;const w=l.spacesDiff;w<=8&&a[w]++,r=u,h=p}let u=e;n!==o&&(u=n{const e=a[i];e>t&&(t=e,d=i)})),4===d&&a[4]>0&&a[2]>0&&a[2]>=a[4]/2&&(d=2)}return{insertSpaces:u,tabSize:d}}function $A(t){return(1&t.metadata)>>>0}function WA(t,i){t.metadata=254&t.metadata|i}function jA(t){return(2&t.metadata)>>>1==1}function zA(t,i){t.metadata=253&t.metadata|(i?1:0)<<1}function HA(t){return(4&t.metadata)>>>2==1}function VA(t,i){t.metadata=251&t.metadata|(i?1:0)<<2}function UA(t){return(64&t.metadata)>>>6==1}function qA(t,i){t.metadata=191&t.metadata|(i?1:0)<<6}function KA(t,i){t.metadata=231&t.metadata|i<<3}function GA(t,i){t.metadata=223&t.metadata|(i?1:0)<<5}class ZA{constructor(t,i,e){this.metadata=0,this.parent=this,this.left=this,this.right=this,WA(this,1),this.start=i,this.end=e,this.delta=0,this.maxEnd=e,this.id=t,this.ownerId=0,this.options=null,VA(this,!1),qA(this,!1),KA(this,1),GA(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=i,this.cachedAbsoluteEnd=e,this.range=null,zA(this,!1)}reset(t,i,e,s){this.start=i,this.end=e,this.maxEnd=e,this.cachedVersionId=t,this.cachedAbsoluteStart=i,this.cachedAbsoluteEnd=e,this.range=s}setOptions(t){this.options=t;const i=this.options.className;VA(this,"squiggly-error"===i||"squiggly-warning"===i||"squiggly-info"===i),qA(this,null!==this.options.glyphMarginClassName),KA(this,this.options.stickiness),GA(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(t,i,e){this.cachedVersionId!==e&&(this.range=null),this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i}detach(){this.parent=null,this.left=null,this.right=null}}const QA=new ZA(null,0,0);QA.parent=QA,QA.left=QA,QA.right=QA,WA(QA,0);class JA{constructor(){this.root=QA,this.requestNormalizeDelta=!1}intervalSearch(t,i,e,s,n,o){return this.root===QA?[]:function(t,i,e,s,n,o,r){let h=t.root,c=0,a=0,l=0,u=0;const d=[];let f=0;for(;h!==QA;)if(jA(h))zA(h.left,!1),zA(h.right,!1),h===h.parent.right&&(c-=h.parent.delta),h=h.parent;else{if(!jA(h.left)){if(a=c+h.maxEnd,ae)zA(h,!0);else{if(u=c+h.end,u>=i){h.setCachedOffsets(l,u,o);let t=!0;s&&h.ownerId&&h.ownerId!==s&&(t=!1),n&&HA(h)&&(t=!1),r&&!UA(h)&&(t=!1),t&&(d[f++]=h)}zA(h,!0),h.right===QA||jA(h.right)||(c+=h.delta,h=h.right)}}return zA(t.root,!1),d}(this,t,i,e,s,n,o)}search(t,i,e,s){return this.root===QA?[]:function(t,i,e,s,n){let o=t.root,r=0,h=0,c=0;const a=[];let l=0;for(;o!==QA;){if(jA(o)){zA(o.left,!1),zA(o.right,!1),o===o.parent.right&&(r-=o.parent.delta),o=o.parent;continue}if(o.left!==QA&&!jA(o.left)){o=o.left;continue}h=r+o.start,c=r+o.end,o.setCachedOffsets(h,c,s);let t=!0;i&&o.ownerId&&o.ownerId!==i&&(t=!1),e&&HA(o)&&(t=!1),n&&!UA(o)&&(t=!1),t&&(a[l++]=o),zA(o,!0),o.right===QA||jA(o.right)||(r+=o.delta,o=o.right)}return zA(t.root,!1),a}(this,t,i,e,s)}collectNodesFromOwner(t){return function(t,i){let e=t.root;const s=[];let n=0;for(;e!==QA;)jA(e)?(zA(e.left,!1),zA(e.right,!1),e=e.parent):e.left===QA||jA(e.left)?(e.ownerId===i&&(s[n++]=e),zA(e,!0),e.right===QA||jA(e.right)||(e=e.right)):e=e.left;return zA(t.root,!1),s}(this,t)}collectNodesPostOrder(){return function(t){let i=t.root;const e=[];let s=0;for(;i!==QA;)jA(i)?(zA(i.left,!1),zA(i.right,!1),i=i.parent):i.left===QA||jA(i.left)?i.right===QA||jA(i.right)?(e[s++]=i,zA(i,!0)):i=i.right:i=i.left;return zA(t.root,!1),e}(this)}insert(t){tM(this,t),this._normalizeDeltaIfNecessary()}delete(t){iM(this,t),this._normalizeDeltaIfNecessary()}resolveNode(t,i){const e=t;let s=0;for(;t!==this.root;)t===t.parent.right&&(s+=t.parent.delta),t=t.parent;e.setCachedOffsets(e.start+s,e.end+s,i)}acceptReplace(t,i,e,s){const n=function(t,i,e){let s=t.root,n=0,o=0,r=0,h=0;const c=[];let a=0;for(;s!==QA;)if(jA(s))zA(s.left,!1),zA(s.right,!1),s===s.parent.right&&(n-=s.parent.delta),s=s.parent;else{if(!jA(s.left)){if(o=n+s.maxEnd,oe?zA(s,!0):(h=n+s.end,h>=i&&(s.setCachedOffsets(r,h,0),c[a++]=s),zA(s,!0),s.right===QA||jA(s.right)||(n+=s.delta,s=s.right))}return zA(t.root,!1),c}(this,t,t+i);for(let t=0,i=n.length;te?(n.start+=c,n.end+=c,n.delta+=c,(n.delta<-1073741824||n.delta>1073741824)&&(t.requestNormalizeDelta=!0),zA(n,!0)):(zA(n,!0),n.right===QA||jA(n.right)||(o+=n.delta,n=n.right))}zA(t.root,!1)}(this,t,t+i,e),this._normalizeDeltaIfNecessary();for(let o=0,r=n.length;oe)&&1!==s&&(2===s||i)}function XA(t,i,e,s,n){const o=function(t){return(24&t.metadata)>>>3}(t),r=0===o||2===o,h=1===o||2===o,c=e-i,a=s,l=Math.min(c,a),u=t.start;let d=!1;const f=t.end;let p=!1;i<=u&&f<=e&&function(t){return(32&t.metadata)>>>5==1}(t)&&(t.start=i,d=!0,t.end=i,p=!0);{const t=n?1:c>0?2:0;!d&&YA(u,r,i,t)&&(d=!0),!p&&YA(f,h,i,t)&&(p=!0)}if(l>0&&!n){const t=c>a?2:0;!d&&YA(u,r,i+l,t)&&(d=!0),!p&&YA(f,h,i+l,t)&&(p=!0)}{const s=n?1:0;!d&&YA(u,r,e,s)&&(t.start=i+a,d=!0),!p&&YA(f,h,e,s)&&(t.end=i+a,p=!0)}const g=a-c;d||(t.start=Math.max(0,u+g)),p||(t.end=Math.max(0,f+g)),t.start>t.end&&(t.end=t.start)}function tM(t,i){if(t.root===QA)return i.parent=QA,i.left=QA,i.right=QA,WA(i,0),t.root=i,t.root;!function(t,i){let e=0,s=t.root;const n=i.start,o=i.end;for(;;)if(h=o,a=s.end+e,((r=n)===(c=s.start+e)?h-a:r-c)<0){if(s.left===QA){i.start-=e,i.end-=e,i.maxEnd-=e,s.left=i;break}s=s.left}else{if(s.right===QA){i.start-=e+s.delta,i.end-=e+s.delta,i.maxEnd-=e+s.delta,s.right=i;break}e+=s.delta,s=s.right}var r,h,c,a;i.parent=s,i.left=QA,i.right=QA,WA(i,1)}(t,i),hM(i.parent);let e=i;for(;e!==t.root&&1===$A(e.parent);)if(e.parent===e.parent.parent.left){const i=e.parent.parent.right;1===$A(i)?(WA(e.parent,0),WA(i,0),WA(e.parent.parent,1),e=e.parent.parent):(e===e.parent.right&&(e=e.parent,sM(t,e)),WA(e.parent,0),WA(e.parent.parent,1),nM(t,e.parent.parent))}else{const i=e.parent.parent.left;1===$A(i)?(WA(e.parent,0),WA(i,0),WA(e.parent.parent,1),e=e.parent.parent):(e===e.parent.left&&(e=e.parent,nM(t,e)),WA(e.parent,0),WA(e.parent.parent,1),sM(t,e.parent.parent))}return WA(t.root,0),i}function iM(t,i){let e,s;if(i.left===QA?(e=i.right,s=i,e.delta+=i.delta,(e.delta<-1073741824||e.delta>1073741824)&&(t.requestNormalizeDelta=!0),e.start+=i.delta,e.end+=i.delta):i.right===QA?(e=i.left,s=i):(s=function(t){for(;t.left!==QA;)t=t.left;return t}(i.right),e=s.right,e.start+=s.delta,e.end+=s.delta,e.delta+=s.delta,(e.delta<-1073741824||e.delta>1073741824)&&(t.requestNormalizeDelta=!0),s.start+=i.delta,s.end+=i.delta,s.delta=i.delta,(s.delta<-1073741824||s.delta>1073741824)&&(t.requestNormalizeDelta=!0)),s===t.root)return t.root=e,WA(e,0),i.detach(),eM(),rM(e),void(t.root.parent=QA);const n=1===$A(s);if(s===s.parent.left?s.parent.left=e:s.parent.right=e,s===i?e.parent=s.parent:(e.parent=s.parent===i?s:s.parent,s.left=i.left,s.right=i.right,s.parent=i.parent,WA(s,$A(i)),i===t.root?t.root=s:i===i.parent.left?i.parent.left=s:i.parent.right=s,s.left!==QA&&(s.left.parent=s),s.right!==QA&&(s.right.parent=s)),i.detach(),n)return hM(e.parent),s!==i&&(hM(s),hM(s.parent)),void eM();let o;for(hM(e),hM(e.parent),s!==i&&(hM(s),hM(s.parent));e!==t.root&&0===$A(e);)e===e.parent.left?(o=e.parent.right,1===$A(o)&&(WA(o,0),WA(e.parent,1),sM(t,e.parent),o=e.parent.right),0===$A(o.left)&&0===$A(o.right)?(WA(o,1),e=e.parent):(0===$A(o.right)&&(WA(o.left,0),WA(o,1),nM(t,o),o=e.parent.right),WA(o,$A(e.parent)),WA(e.parent,0),WA(o.right,0),sM(t,e.parent),e=t.root)):(o=e.parent.left,1===$A(o)&&(WA(o,0),WA(e.parent,1),nM(t,e.parent),o=e.parent.left),0===$A(o.left)&&0===$A(o.right)?(WA(o,1),e=e.parent):(0===$A(o.left)&&(WA(o.right,0),WA(o,1),sM(t,o),o=e.parent.left),WA(o,$A(e.parent)),WA(e.parent,0),WA(o.left,0),nM(t,e.parent),e=t.root));WA(e,0),eM()}function eM(){QA.parent=QA,QA.delta=0,QA.start=0,QA.end=0}function sM(t,i){const e=i.right;e.delta+=i.delta,(e.delta<-1073741824||e.delta>1073741824)&&(t.requestNormalizeDelta=!0),e.start+=i.delta,e.end+=i.delta,i.right=e.left,e.left!==QA&&(e.left.parent=i),e.parent=i.parent,i.parent===QA?t.root=e:i===i.parent.left?i.parent.left=e:i.parent.right=e,e.left=i,i.parent=e,rM(i),rM(e)}function nM(t,i){const e=i.left;i.delta-=e.delta,(i.delta<-1073741824||i.delta>1073741824)&&(t.requestNormalizeDelta=!0),i.start-=e.delta,i.end-=e.delta,i.left=e.right,e.right!==QA&&(e.right.parent=i),e.parent=i.parent,i.parent===QA?t.root=e:i===i.parent.right?i.parent.right=e:i.parent.left=e,e.right=i,i.parent=e,rM(i),rM(e)}function oM(t){let i=t.end;if(t.left!==QA){const e=t.left.maxEnd;e>i&&(i=e)}if(t.right!==QA){const e=t.right.maxEnd+t.delta;e>i&&(i=e)}return i}function rM(t){t.maxEnd=oM(t)}function hM(t){for(;t!==QA;){const i=oM(t);if(t.maxEnd===i)return;t.maxEnd=i,t=t.parent}}class cM{constructor(t,i){this.piece=t,this.color=i,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==aM)return lM(this.right);let t=this;for(;t.parent!==aM&&t.parent.left!==t;)t=t.parent;return t.parent===aM?aM:t.parent}prev(){if(this.left!==aM)return uM(this.left);let t=this;for(;t.parent!==aM&&t.parent.right!==t;)t=t.parent;return t.parent===aM?aM:t.parent}detach(){this.parent=null,this.left=null,this.right=null}}const aM=new cM(null,0);function lM(t){for(;t.left!==aM;)t=t.left;return t}function uM(t){for(;t.right!==aM;)t=t.right;return t}function dM(t){return t===aM?0:t.size_left+t.piece.length+dM(t.right)}function fM(t){return t===aM?0:t.lf_left+t.piece.lineFeedCnt+fM(t.right)}function pM(){aM.parent=aM}function gM(t,i){const e=i.right;e.size_left+=i.size_left+(i.piece?i.piece.length:0),e.lf_left+=i.lf_left+(i.piece?i.piece.lineFeedCnt:0),i.right=e.left,e.left!==aM&&(e.left.parent=i),e.parent=i.parent,i.parent===aM?t.root=e:i.parent.left===i?i.parent.left=e:i.parent.right=e,e.left=i,i.parent=e}function mM(t,i){const e=i.left;i.left=e.right,e.right!==aM&&(e.right.parent=i),e.parent=i.parent,i.size_left-=e.size_left+(e.piece?e.piece.length:0),i.lf_left-=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),i.parent===aM?t.root=e:i===i.parent.right?i.parent.right=e:i.parent.left=e,e.right=i,i.parent=e}function wM(t,i){let e,s;if(i.left===aM?(s=i,e=s.right):i.right===aM?(s=i,e=s.left):(s=lM(i.right),e=s.right),s===t.root)return t.root=e,e.color=0,i.detach(),pM(),void(t.root.parent=aM);const n=1===s.color;if(s===s.parent.left?s.parent.left=e:s.parent.right=e,s===i?(e.parent=s.parent,yM(t,e)):(e.parent=s.parent===i?s:s.parent,yM(t,e),s.left=i.left,s.right=i.right,s.parent=i.parent,s.color=i.color,i===t.root?t.root=s:i===i.parent.left?i.parent.left=s:i.parent.right=s,s.left!==aM&&(s.left.parent=s),s.right!==aM&&(s.right.parent=s),s.size_left=i.size_left,s.lf_left=i.lf_left,yM(t,s)),i.detach(),e.parent.left===e){const i=dM(e),s=fM(e);if(i!==e.parent.size_left||s!==e.parent.lf_left){const n=i-e.parent.size_left,o=s-e.parent.lf_left;e.parent.size_left=i,e.parent.lf_left=s,bM(t,e.parent,n,o)}}if(yM(t,e.parent),n)return void pM();let o;for(;e!==t.root&&0===e.color;)e===e.parent.left?(o=e.parent.right,1===o.color&&(o.color=0,e.parent.color=1,gM(t,e.parent),o=e.parent.right),0===o.left.color&&0===o.right.color?(o.color=1,e=e.parent):(0===o.right.color&&(o.left.color=0,o.color=1,mM(t,o),o=e.parent.right),o.color=e.parent.color,e.parent.color=0,o.right.color=0,gM(t,e.parent),e=t.root)):(o=e.parent.left,1===o.color&&(o.color=0,e.parent.color=1,mM(t,e.parent),o=e.parent.left),0===o.left.color&&0===o.right.color?(o.color=1,e=e.parent):(0===o.left.color&&(o.right.color=0,o.color=1,gM(t,o),o=e.parent.left),o.color=e.parent.color,e.parent.color=0,o.left.color=0,mM(t,e.parent),e=t.root));e.color=0,pM()}function vM(t,i){for(yM(t,i);i!==t.root&&1===i.parent.color;)if(i.parent===i.parent.parent.left){const e=i.parent.parent.right;1===e.color?(i.parent.color=0,e.color=0,i.parent.parent.color=1,i=i.parent.parent):(i===i.parent.right&&gM(t,i=i.parent),i.parent.color=0,i.parent.parent.color=1,mM(t,i.parent.parent))}else{const e=i.parent.parent.left;1===e.color?(i.parent.color=0,e.color=0,i.parent.parent.color=1,i=i.parent.parent):(i===i.parent.left&&mM(t,i=i.parent),i.parent.color=0,i.parent.parent.color=1,gM(t,i.parent.parent))}t.root.color=0}function bM(t,i,e,s){for(;i!==t.root&&i!==aM;)i.parent.left===i&&(i.parent.size_left+=e,i.parent.lf_left+=s),i=i.parent}function yM(t,i){let e=0,s=0;if(i!==t.root){for(;i!==t.root&&i===i.parent.right;)i=i.parent;if(i!==t.root)for(e=dM((i=i.parent).left)-i.size_left,s=fM(i.left)-i.lf_left,i.size_left+=e,i.lf_left+=s;i!==t.root&&(0!==e||0!==s);)i.parent.left===i&&(i.parent.size_left+=e,i.parent.lf_left+=s),i=i.parent}}aM.parent=aM,aM.left=aM,aM.right=aM,aM.color=0;const kM=65535;function xM(t){let i;return i=t[t.length-1]<65536?new Uint16Array(t.length):new Uint32Array(t.length),i.set(t,0),i}class CM{constructor(t,i,e,s,n){this.lineStarts=t,this.cr=i,this.lf=e,this.crlf=s,this.isBasicASCII=n}}function SM(t,i=!0){const e=[0];let s=1;for(let i=0,n=t.length;i(t!==aM&&this._pieces.push(t.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class MM{constructor(t){this._limit=t,this._cache=[]}get(t){for(let i=this._cache.length-1;i>=0;i--){const e=this._cache[i];if(e.nodeStartOffset<=t&&e.nodeStartOffset+e.node.piece.length>=t)return e}return null}get2(t){for(let i=this._cache.length-1;i>=0;i--){const e=this._cache[i];if(e.nodeStartLineNumber&&e.nodeStartLineNumber=t)return e}return null}set(t){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(t)}validate(t){let i=!1;const e=this._cache;for(let s=0;s=t)&&(e[s]=null,i=!0)}if(i){const t=[];for(const i of e)null!==i&&t.push(i);this._cache=t}}}class LM{constructor(t,i,e){this.create(t,i,e)}create(t,i,e){this._buffers=[new EM("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=aM,this._lineCnt=1,this._length=0,this._EOL=i,this._EOLLength=i.length,this._EOLNormalized=e;let s=null;for(let i=0,e=t.length;i0){t[i].lineStarts||(t[i].lineStarts=SM(t[i].buffer));const e=new DM(i+1,{line:0,column:0},{line:t[i].lineStarts.length-1,column:t[i].buffer.length-t[i].lineStarts[t[i].lineStarts.length-1]},t[i].lineStarts.length-1,t[i].buffer.length);this._buffers.push(t[i]),s=this.rbInsertRight(s,e)}this._searchCache=new MM(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(t){const i=65535-Math.floor(21845),e=2*i;let s="",n=0;const o=[];if(this.iterate(this.root,(r=>{const h=this.getNodeContent(r),c=h.length;if(n<=i||n+c0){const i=s.replace(/\r\n|\r|\n/g,t);o.push(new EM(i,SM(i)))}this.create(o,t,!0)}getEOL(){return this._EOL}setEOL(t){this._EOL=t,this._EOLLength=this._EOL.length,this.normalizeEOL(t)}createSnapshot(t){return new AM(this,t)}getOffsetAt(t,i){let e=0,s=this.root;for(;s!==aM;)if(s.left!==aM&&s.lf_left+1>=t)s=s.left;else{if(s.lf_left+s.piece.lineFeedCnt+1>=t)return e+=s.size_left,e+(this.getAccumulatedValue(s,t-s.lf_left-2)+i-1);t-=s.lf_left+s.piece.lineFeedCnt,e+=s.size_left+s.piece.length,s=s.right}return e}getPositionAt(t){t=Math.floor(t),t=Math.max(0,t);let i=this.root,e=0;const s=t;for(;i!==aM;)if(0!==i.size_left&&i.size_left>=t)i=i.left;else{if(i.size_left+i.piece.length>=t){const n=this.getIndexOf(i,t-i.size_left);if(e+=i.lf_left+n.index,0===n.index){const t=this.getOffsetAt(e+1,1);return new As(e+1,s-t+1)}return new As(e+1,n.remainder+1)}if(t-=i.size_left+i.piece.length,e+=i.lf_left+i.piece.lineFeedCnt,i.right===aM){const i=this.getOffsetAt(e+1,1);return new As(e+1,s-t-i+1)}i=i.right}return new As(1,1)}getValueInRange(t,i){if(t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn)return"";const e=this.nodeAt2(t.startLineNumber,t.startColumn),s=this.nodeAt2(t.endLineNumber,t.endColumn),n=this.getValueInRange2(e,s);return i?i===this._EOL&&this._EOLNormalized&&i===this.getEOL()&&this._EOLNormalized?n:n.replace(/\r\n|\r|\n/g,i):n}getValueInRange2(t,i){if(t.node===i.node){const e=t.node,s=this._buffers[e.piece.bufferIndex].buffer,n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return s.substring(n+t.remainder,n+i.remainder)}let e=t.node;const s=this._buffers[e.piece.bufferIndex].buffer,n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);let o=s.substring(n+t.remainder,n+e.piece.length);for(e=e.next();e!==aM;){const t=this._buffers[e.piece.bufferIndex].buffer,s=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);if(e===i.node){o+=t.substring(s,s+i.remainder);break}o+=t.substr(s,e.piece.length),e=e.next()}return o}getLinesContent(){const t=[];let i=0,e="",s=!1;return this.iterate(this.root,(n=>{if(n===aM)return!0;const o=n.piece;let r=o.length;if(0===r)return!0;const h=this._buffers[o.bufferIndex].buffer,c=this._buffers[o.bufferIndex].lineStarts,a=o.start.line,l=o.end.line;let u=c[a]+o.start.column;if(s&&(10===h.charCodeAt(u)&&(u++,r--),t[i++]=e,e="",s=!1,0===r))return!0;if(a===l)return this._EOLNormalized||13!==h.charCodeAt(u+r-1)?e+=h.substr(u,r):(s=!0,e+=h.substr(u,r-1)),!0;e+=this._EOLNormalized?h.substring(u,Math.max(u,c[a+1]-this._EOLLength)):h.substring(u,c[a+1]).replace(/(\r\n|\r|\n)$/,""),t[i++]=e;for(let s=a+1;st+f,i.reset(0)):(w=u.buffer,v=t=>t,i.reset(f));do{if(g=i.next(w),g){if(v(g.index)>=p)return a;this.positionInBuffer(t,v(g.index)-d,m);const i=this.getLineFeedCnt(t.piece.bufferIndex,n,m),o=m.line===n.line?m.column-n.column+s:m.column+1;if(l[a++]=Gf(new Ms(e+i,o,e+i,o+g[0].length),g,h),v(g.index)+g[0].length>=p)return a;if(a>=c)return a}}while(g);return a}findMatchesLineByLine(t,i,e,s){const n=[];let o=0;const r=new Yf(i.wordSeparators,i.regex);let h=this.nodeAt2(t.startLineNumber,t.startColumn);if(null===h)return[];const c=this.nodeAt2(t.endLineNumber,t.endColumn);if(null===c)return[];let a=this.positionInBuffer(h.node,h.remainder);const l=this.positionInBuffer(c.node,c.remainder);if(h.node===c.node)return this.findMatchesInNode(h.node,r,t.startLineNumber,t.startColumn,a,l,i,e,s,o,n),n;let u=t.startLineNumber,d=h.node;for(;d!==c.node;){const c=this.getLineFeedCnt(d.piece.bufferIndex,a,d.piece.end);if(c>=1){const h=this._buffers[d.piece.bufferIndex].lineStarts,l=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start);if(o=this.findMatchesInNode(d,r,u,u===t.startLineNumber?t.startColumn:1,a,this.positionInBuffer(d,h[a.line+c]-l),i,e,s,o,n),o>=s)return n;u+=c}const l=u===t.startLineNumber?t.startColumn-1:0;if(u===t.endLineNumber){const h=this.getLineContent(u).substring(l,t.endColumn-1);return o=this._findMatchesInLine(i,r,h,t.endLineNumber,l,o,n,e,s),n}if(o=this._findMatchesInLine(i,r,this.getLineContent(u).substr(l),u,l,o,n,e,s),o>=s)return n;u++,h=this.nodeAt2(u,1),d=h.node,a=this.positionInBuffer(h.node,h.remainder)}if(u===t.endLineNumber){const h=u===t.startLineNumber?t.startColumn-1:0,c=this.getLineContent(u).substring(h,t.endColumn-1);return o=this._findMatchesInLine(i,r,c,t.endLineNumber,h,o,n,e,s),n}return o=this.findMatchesInNode(c.node,r,u,u===t.startLineNumber?t.startColumn:1,a,l,i,e,s,o,n),n}_findMatchesInLine(t,i,e,s,n,o,r,h,c){const a=t.wordSeparators;if(!h&&t.simpleSearch){const i=t.simpleSearch,h=i.length,l=e.length;let u=-h;for(;-1!==(u=e.indexOf(i,u+h));)if((!a||Jf(a,e,l,u,h))&&(r[o++]=new zf(new Ms(s,u+1+n,s,u+1+h+n),null),o>=c))return o;return o}let l;i.reset(0);do{if(l=i.next(e),l&&(r[o++]=Gf(new Ms(s,l.index+1+n,s,l.index+1+l[0].length+n),l,h),o>=c))return o}while(l);return o}insert(t,i,e=!1){if(this._EOLNormalized=this._EOLNormalized&&e,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==aM){const{node:e,remainder:s,nodeStartOffset:n}=this.nodeAt(t),o=e.piece,r=o.bufferIndex,h=this.positionInBuffer(e,s);if(0===e.piece.bufferIndex&&o.end.line===this._lastChangeBufferPos.line&&o.end.column===this._lastChangeBufferPos.column&&n+o.length===t&&i.lengtht){const t=[];let n=new DM(o.bufferIndex,h,o.end,this.getLineFeedCnt(o.bufferIndex,h,o.end),this.offsetInBuffer(r,o.end)-this.offsetInBuffer(r,h));if(this.shouldCheckCRLF()&&this.endWithCR(i)&&10===this.nodeCharCodeAt(e,s)){const t={line:n.start.line+1,column:0};n=new DM(n.bufferIndex,t,n.end,this.getLineFeedCnt(n.bufferIndex,t,n.end),n.length-1),i+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(i))if(13===this.nodeCharCodeAt(e,s-1)){const n=this.positionInBuffer(e,s-1);this.deleteNodeTail(e,n),i="\r"+i,0===e.piece.length&&t.push(e)}else this.deleteNodeTail(e,h);else this.deleteNodeTail(e,h);const c=this.createNewPieces(i);n.length>0&&this.rbInsertRight(e,n);let a=e;for(let t=0;t=0;t--)n=this.rbInsertLeft(n,s[t]);this.validateCRLFWithPrevNode(n),this.deleteNodes(e)}insertContentToNodeRight(t,i){this.adjustCarriageReturnFromNext(t,i)&&(t+="\n");const e=this.createNewPieces(t),s=this.rbInsertRight(i,e[0]);let n=s;for(let t=1;t=a))break;r=c+1}return e?(e.line=c,e.column=o-l,null):{line:c,column:o-l}}getLineFeedCnt(t,i,e){if(0===e.column)return e.line-i.line;const s=this._buffers[t].lineStarts;if(e.line===s.length-1)return e.line-i.line;const n=s[e.line]+e.column;return s[e.line+1]>n+1?e.line-i.line:13===this._buffers[t].buffer.charCodeAt(n-1)?e.line-i.line+1:e.line-i.line}offsetInBuffer(t,i){return this._buffers[t].lineStarts[i.line]+i.column}deleteNodes(t){for(let i=0;ikM){const i=[];for(;t.length>kM;){const e=t.charCodeAt(65534);let s;13===e||e>=55296&&e<=56319?(s=t.substring(0,65534),t=t.substring(65534)):(s=t.substring(0,kM),t=t.substring(kM));const n=SM(s);i.push(new DM(this._buffers.length,{line:0,column:0},{line:n.length-1,column:s.length-n[n.length-1]},n.length-1,s.length)),this._buffers.push(new EM(s,n))}const e=SM(t);return i.push(new DM(this._buffers.length,{line:0,column:0},{line:e.length-1,column:t.length-e[e.length-1]},e.length-1,t.length)),this._buffers.push(new EM(t,e)),i}let i=this._buffers[0].buffer.length;const e=SM(t,!1);let s=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===i&&0!==i&&this.startWithLF(t)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},s=this._lastChangeBufferPos;for(let t=0;t=t-1)e=e.left;else{if(e.lf_left+e.piece.lineFeedCnt>t-1){const s=this.getAccumulatedValue(e,t-e.lf_left-2),r=this.getAccumulatedValue(e,t-e.lf_left-1),h=this._buffers[e.piece.bufferIndex].buffer,c=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return n+=e.size_left,this._searchCache.set({node:e,nodeStartOffset:n,nodeStartLineNumber:o-(t-1-e.lf_left)}),h.substring(c+s,c+r-i)}if(e.lf_left+e.piece.lineFeedCnt===t-1){const i=this.getAccumulatedValue(e,t-e.lf_left-2),n=this._buffers[e.piece.bufferIndex].buffer,o=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);s=n.substring(o+i,o+e.piece.length);break}t-=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right}}for(e=e.next();e!==aM;){const t=this._buffers[e.piece.bufferIndex].buffer;if(e.piece.lineFeedCnt>0){const n=this.getAccumulatedValue(e,0),o=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return s+=t.substring(o,o+n-i),s}{const i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);s+=t.substr(i,e.piece.length)}e=e.next()}return s}computeBufferMetadata(){let t=this.root,i=1,e=0;for(;t!==aM;)i+=t.lf_left+t.piece.lineFeedCnt,e+=t.size_left+t.piece.length,t=t.right;this._lineCnt=i,this._length=e,this._searchCache.validate(this._length)}getIndexOf(t,i){const e=t.piece,s=this.positionInBuffer(t,i),n=s.line-e.start.line;if(this.offsetInBuffer(e.bufferIndex,e.end)-this.offsetInBuffer(e.bufferIndex,e.start)===i){const i=this.getLineFeedCnt(t.piece.bufferIndex,e.start,s);if(i!==n)return{index:i,remainder:0}}return{index:n,remainder:s.column}}getAccumulatedValue(t,i){if(i<0)return 0;const e=t.piece,s=this._buffers[e.bufferIndex].lineStarts,n=e.start.line+i+1;return n>e.end.line?s[e.end.line]+e.end.column-s[e.start.line]-e.start.column:s[n]-s[e.start.line]-e.start.column}deleteNodeTail(t,i){const e=t.piece,s=e.lineFeedCnt,n=this.offsetInBuffer(e.bufferIndex,e.end),o=i,r=this.offsetInBuffer(e.bufferIndex,o),h=this.getLineFeedCnt(e.bufferIndex,e.start,o),c=h-s,a=r-n;t.piece=new DM(e.bufferIndex,e.start,o,h,e.length+a),bM(this,t,a,c)}deleteNodeHead(t,i){const e=t.piece,s=e.lineFeedCnt,n=this.offsetInBuffer(e.bufferIndex,e.start),o=i,r=this.getLineFeedCnt(e.bufferIndex,o,e.end),h=r-s,c=n-this.offsetInBuffer(e.bufferIndex,o);t.piece=new DM(e.bufferIndex,o,e.end,r,e.length+c),bM(this,t,c,h)}shrinkNode(t,i,e){const s=t.piece,n=s.start,o=s.end,r=s.length,h=s.lineFeedCnt,c=i,a=this.getLineFeedCnt(s.bufferIndex,s.start,c),l=this.offsetInBuffer(s.bufferIndex,i)-this.offsetInBuffer(s.bufferIndex,n);t.piece=new DM(s.bufferIndex,s.start,c,a,l),bM(this,t,l-r,a-h);const u=new DM(s.bufferIndex,e,o,this.getLineFeedCnt(s.bufferIndex,e,o),this.offsetInBuffer(s.bufferIndex,o)-this.offsetInBuffer(s.bufferIndex,e)),d=this.rbInsertRight(t,u);this.validateCRLFWithPrevNode(d)}appendToNode(t,i){this.adjustCarriageReturnFromNext(i,t)&&(i+="\n");const e=this.shouldCheckCRLF()&&this.startWithLF(i)&&this.endWithCR(t),s=this._buffers[0].buffer.length;this._buffers[0].buffer+=i;const n=SM(i,!1);for(let t=0;tt)i=i.left;else{if(i.size_left+i.piece.length>=t){s+=i.size_left;const e={node:i,remainder:t-i.size_left,nodeStartOffset:s};return this._searchCache.set(e),e}t-=i.size_left+i.piece.length,s+=i.size_left+i.piece.length,i=i.right}return null}nodeAt2(t,i){let e=this.root,s=0;for(;e!==aM;)if(e.left!==aM&&e.lf_left>=t-1)e=e.left;else{if(e.lf_left+e.piece.lineFeedCnt>t-1){const n=this.getAccumulatedValue(e,t-e.lf_left-2),o=this.getAccumulatedValue(e,t-e.lf_left-1);return s+=e.size_left,{node:e,remainder:Math.min(n+i-1,o),nodeStartOffset:s}}if(e.lf_left+e.piece.lineFeedCnt===t-1){const n=this.getAccumulatedValue(e,t-e.lf_left-2);if(n+i-1<=e.piece.length)return{node:e,remainder:n+i-1,nodeStartOffset:s};i-=e.piece.length-n;break}t-=e.lf_left+e.piece.lineFeedCnt,s+=e.size_left+e.piece.length,e=e.right}for(e=e.next();e!==aM;){if(e.piece.lineFeedCnt>0){const t=this.getAccumulatedValue(e,0),s=this.offsetOfNode(e);return{node:e,remainder:Math.min(i-1,t),nodeStartOffset:s}}if(e.piece.length>=i-1)return{node:e,remainder:i-1,nodeStartOffset:this.offsetOfNode(e)};i-=e.piece.length,e=e.next()}return null}nodeCharCodeAt(t,i){if(t.piece.lineFeedCnt<1)return-1;const e=this._buffers[t.piece.bufferIndex],s=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start)+i;return e.buffer.charCodeAt(s)}offsetOfNode(t){if(!t)return 0;let i=t.size_left;for(;t!==this.root;)t.parent.right===t&&(i+=t.parent.size_left+t.parent.piece.length),t=t.parent;return i}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(t){if("string"==typeof t)return 10===t.charCodeAt(0);if(t===aM||0===t.piece.lineFeedCnt)return!1;const i=t.piece,e=this._buffers[i.bufferIndex].lineStarts,s=i.start.line,n=e[s]+i.start.column;return s!==e.length-1&&(!(e[s+1]>n+1)&&10===this._buffers[i.bufferIndex].buffer.charCodeAt(n))}endWithCR(t){return"string"==typeof t?13===t.charCodeAt(t.length-1):t!==aM&&0!==t.piece.lineFeedCnt&&13===this.nodeCharCodeAt(t,t.piece.length-1)}validateCRLFWithPrevNode(t){if(this.shouldCheckCRLF()&&this.startWithLF(t)){const i=t.prev();this.endWithCR(i)&&this.fixCRLF(i,t)}}validateCRLFWithNextNode(t){if(this.shouldCheckCRLF()&&this.endWithCR(t)){const i=t.next();this.startWithLF(i)&&this.fixCRLF(t,i)}}fixCRLF(t,i){const e=[],s=this._buffers[t.piece.bufferIndex].lineStarts;let n;n=0===t.piece.end.column?{line:t.piece.end.line-1,column:s[t.piece.end.line]-s[t.piece.end.line-1]-1}:{line:t.piece.end.line,column:t.piece.end.column-1},t.piece=new DM(t.piece.bufferIndex,t.piece.start,n,t.piece.lineFeedCnt-1,t.piece.length-1),bM(this,t,-1,-1),0===t.piece.length&&e.push(t);const o={line:i.piece.start.line+1,column:0},r=i.piece.length-1,h=this.getLineFeedCnt(i.piece.bufferIndex,o,i.piece.end);i.piece=new DM(i.piece.bufferIndex,o,i.piece.end,h,r),bM(this,i,-1,-1),0===i.piece.length&&e.push(i);const c=this.createNewPieces("\r\n");this.rbInsertRight(t,c[0]);for(let t=0;tt.sortIndex-i.sortIndex))}this._mightContainRTL=s,this._mightContainUnusualLineTerminators=n,this._mightContainNonBasicASCII=o;const d=this._doApplyEdits(h);let f=null;if(i&&l.length>0){l.sort(((t,i)=>i.lineNumber-t.lineNumber)),f=[];for(let t=0,i=l.length;t0&&l[t-1].lineNumber===i)continue;const e=l[t].oldContent,s=this.getLineContent(i);0!==s.length&&s!==e&&-1===to(s)&&f.push(i)}}return this._onDidChangeContent.fire(),new Uf(u,d,f)}_reduceOperations(t){return t.length<1e3?t:[this._toSingleEditOperation(t)]}_toSingleEditOperation(t){let i=!1;const e=t[0].range,s=t[t.length-1].range,n=new Ms(e.startLineNumber,e.startColumn,s.endLineNumber,s.endColumn);let o=e.startLineNumber,r=e.startColumn;const h=[];for(let e=0,s=t.length;e0&&h.push(s.text),o=n.endLineNumber,r=n.endColumn}const c=h.join(""),[a,l,u]=KD(c);return{sortIndex:0,identifier:t[0].identifier,range:n,rangeOffset:this.getOffsetAt(n.startLineNumber,n.startColumn),rangeLength:this.getValueLengthInRange(n,0),text:c,eolCount:a,firstLineLength:l,lastLineLength:u,forceMoveMarkers:i,isAutoWhitespaceEdit:!1}}_doApplyEdits(t){t.sort(FM._sortOpsDescending);const i=[];for(let e=0;e0){const t=r.eolCount+1;a=1===t?new Ms(h,c,h,c+r.firstLineLength):new Ms(h,c,h+t-1,r.lastLineLength+1)}else a=new Ms(h,c,h,c);e=a.endLineNumber,s=a.endColumn,i.push(a),n=r}return i}static _sortOpsAscending(t,i){const e=Ms.compareRangesUsingEnds(t.range,i.range);return 0===e?t.sortIndex-i.sortIndex:e}static _sortOpsDescending(t,i){const e=Ms.compareRangesUsingEnds(t.range,i.range);return 0===e?i.sortIndex-t.sortIndex:-e}}class TM{constructor(t,i,e,s,n,o,r,h,c){this._chunks=t,this._bom=i,this._cr=e,this._lf=s,this._crlf=n,this._containsRTL=o,this._containsUnusualLineTerminators=r,this._isBasicASCII=h,this._normalizeEOL=c}_getEOL(t){const i=this._cr+this._lf+this._crlf;return 0===i?1===t?"\n":"\r\n":this._cr+this._crlf>i/2?"\r\n":"\n"}create(t){const i=this._getEOL(t),e=this._chunks;if(this._normalizeEOL&&("\r\n"===i&&(this._cr>0||this._lf>0)||"\n"===i&&(this._cr>0||this._crlf>0)))for(let t=0,s=e.length;t=55296&&i<=56319?(this._acceptChunk1(t.substr(0,t.length-1),!1),this._hasPreviousChar=!0,this._previousChar=i):(this._acceptChunk1(t,!1),this._hasPreviousChar=!1,this._previousChar=i)}_acceptChunk1(t,i){(i||0!==t.length)&&this._acceptChunk2(this._hasPreviousChar?String.fromCharCode(this._previousChar)+t:t)}_acceptChunk2(t){const i=function(t,i){t.length=0,t[0]=0;let e=1,s=0,n=0,o=0,r=!0;for(let h=0,c=i.length;h126)&&(r=!1)}const h=new CM(xM(t),s,n,o,r);return t.length=0,h}(this._tmpLineStarts,t);this.chunks.push(new EM(t,i.lineStarts)),this.cr+=i.cr,this.lf+=i.lf,this.crlf+=i.crlf,i.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=So(t)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=Mo(t)))}finish(t=!0){return this._finish(),new TM(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,t)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const t=this.chunks[this.chunks.length-1];t.buffer+=String.fromCharCode(this._previousChar);const i=SM(t.buffer);t.lineStarts=i,13===this._previousChar&&this.cr++}}}class OM{constructor(t){this._default=t,this._store=[]}get(t){return t=this._store.length;)this._store[this._store.length]=this._default;this._store[t]=i}replace(t,i,e){if(t>=this._store.length)return;if(0===i)return void this.insert(t,e);if(0===e)return void this.delete(t,i);const s=this._store.slice(0,t),n=this._store.slice(t+i),o=function(t,i){const e=[];for(let s=0;s=this._store.length||this._store.splice(t,i)}insert(t,i){if(0===i||t>=this._store.length)return;const e=[];for(let t=0;t0){const e=this._tokens[this._tokens.length-1];if(e.endLineNumber+1===t)return void e.appendLineTokens(i)}this._tokens.push(new IM(t,[i]))}finalize(){return this._tokens}}class NM{constructor(t,i){this.tokenizationSupport=i,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new PM(t)}getStartState(t){return this.store.getStartState(t,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class BM extends NM{constructor(t,i,e,s){super(t,i),this._textModel=e,this._languageIdCodec=s}updateTokensUntilLine(t,i){const e=this._textModel.getLanguageId();for(;;){const s=this.getFirstInvalidLine();if(!s||s.lineNumber>i)break;const n=this._textModel.getLineContent(s.lineNumber),o=jM(this._languageIdCodec,e,this.tokenizationSupport,n,!0,s.startState);t.add(s.lineNumber,o.tokens),this.store.setEndState(s.lineNumber,o.endState)}}getTokenTypeIfInsertingCharacter(t,i){const e=this.getStartState(t.lineNumber);if(!e)return 0;const s=this._textModel.getLanguageId(),n=this._textModel.getLineContent(t.lineNumber),o=n.substring(0,t.column-1)+i+n.substring(t.column-1),r=jM(this._languageIdCodec,s,this.tokenizationSupport,o,!0,e),h=new Pg(r.tokens,o,this._languageIdCodec);if(0===h.getCount())return 0;const c=h.findTokenIndexAtOffset(t.column-1);return h.getStandardTokenType(c)}tokenizeLineWithEdit(t,i,e){const s=t.lineNumber,n=t.column,o=this.getStartState(s);if(!o)return null;const r=this._textModel.getLineContent(s),h=r.substring(0,n-1)+e+r.substring(n-1+i),c=this._textModel.getLanguageIdAtPosition(s,0),a=jM(this._languageIdCodec,c,this.tokenizationSupport,h,!0,o);return new Pg(a.tokens,h,this._languageIdCodec)}isCheapToTokenize(t){const i=this.store.getFirstInvalidEndStateLineNumberOrMax();return t1&&n>=1;n--){const t=this._textModel.getLineFirstNonWhitespaceColumn(n);if(0!==t&&t0&&e>0&&(e--,i--),this._lineEndStates.replace(t.startLineNumber,e,i)}}class WM{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(t){const i=this._ranges.findIndex((i=>i.contains(t)));if(-1!==i){const e=this._ranges[i];e.start===t?e.endExclusive===t+1?this._ranges.splice(i,1):this._ranges[i]=new np(t+1,e.endExclusive):e.endExclusive===t+1?this._ranges[i]=new np(e.start,t):this._ranges.splice(i,1,new np(e.start,t),new np(t+1,e.endExclusive))}}addRange(t){np.addRange(t,this._ranges)}addRangeAndResize(t,i){let e=0;for(;!(e>=this._ranges.length||t.start<=this._ranges[e].endExclusive);)e++;let s=e;for(;!(s>=this._ranges.length||t.endExclusivet.toString())).join(" + ")}}function jM(t,i,e,s,n,o){let r=null;if(e)try{r=e.tokenizeEncoded(s,n,o.clone())}catch(t){Bi(t)}return r||(r=Ng(t.encodeLanguageId(i),o)),Pg.convertToEndOffset(r.tokens,s.length),r}class zM{constructor(t,i){this._tokenizerWithStateStore=t,this._backgroundTokenStore=i,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,gc((t=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(t)})))}_backgroundTokenizeWithDeadline(t){const i=Date.now()+t.timeRemaining(),e=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(i)>=t)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(i.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(t){var i;const e=null===(i=this._tokenizerWithStateStore)||void 0===i?void 0:i.getFirstInvalidLine();return e?(this._tokenizerWithStateStore.updateTokensUntilLine(t,e.lineNumber),e.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(t,i){this._tokenizerWithStateStore.store.invalidateEndStateRange(new fp(t,i))}}const HM=new Uint32Array(0).buffer;class VM{static deleteBeginning(t,i){return null===t||t===HM?t:VM.delete(t,0,i)}static deleteEnding(t,i){if(null===t||t===HM)return t;const e=UM(t);return VM.delete(t,i,e[e.length-2])}static delete(t,i,e){if(null===t||t===HM||i===e)return t;const s=UM(t),n=s.length>>>1;if(0===i&&s[s.length-2]===e)return HM;const o=Pg.findIndexInTokensArray(s,i),r=o>0?s[o-1<<1]:0;if(ec&&(s[h++]=i,s[h++]=s[1+(t<<1)],c=i)}if(h===s.length)return t;const l=new Uint32Array(h);return l.set(s.subarray(0,h),0),l.buffer}static append(t,i){if(i===HM)return t;if(t===HM)return i;if(null===t)return t;if(null===i)return null;const e=UM(t),s=UM(i),n=s.length>>>1,o=new Uint32Array(e.length+s.length);o.set(e,0);let r=e.length;const h=e[e.length-2];for(let t=0;t>>1;let o=Pg.findIndexInTokensArray(s,i);o>0&&s[o-1<<1]===i&&o--;for(let t=o;t0}getTokens(t,i,e){let s=null;if(i1&&(i=Bg.getLanguageId(s[1])!==t),!i)return HM}if(!s||0===s.length){const e=new Uint32Array(2);return e[0]=i,e[1]=KM(t),e.buffer}return s[s.length-2]=i,0===s.byteOffset&&s.byteLength===s.buffer.byteLength?s.buffer:s}_ensureLine(t){for(;t>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(t,i){0!==i&&(t+i>this._len&&(i=this._len-t),this._lineTokens.splice(t,i),this._len-=i)}_insertLines(t,i){if(0===i)return;const e=[];for(let t=0;t=this._len)return;if(t.startLineNumber===t.endLineNumber){if(t.startColumn===t.endColumn)return;return void(this._lineTokens[i]=VM.delete(this._lineTokens[i],t.startColumn-1,t.endColumn-1))}this._lineTokens[i]=VM.deleteEnding(this._lineTokens[i],t.startColumn-1);const e=t.endLineNumber-1;let s=null;e=this._len||(0!==i?(this._lineTokens[s]=VM.deleteEnding(this._lineTokens[s],t.column-1),this._lineTokens[s]=VM.insert(this._lineTokens[s],t.column-1,e),this._insertLines(t.lineNumber,i)):this._lineTokens[s]=VM.insert(this._lineTokens[s],t.column-1,e))}setMultilineTokens(t,i){if(0===t.length)return{changes:[]};const e=[];for(let s=0,n=t.length;s>>0}class GM{constructor(t){this._pieces=[],this._isComplete=!1,this._languageIdCodec=t}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(t,i){this._pieces=t||[],this._isComplete=i}setPartial(t,i){let e=t;if(i.length>0){const s=i[0].getRange(),n=i[i.length-1].getRange();if(!s||!n)return t;e=t.plusRange(s).plusRange(n)}let s=null;for(let t=0,i=this._pieces.length;te.endLineNumber){s=s||{index:t};break}if(n.removeTokens(e),n.isEmpty()){this._pieces.splice(t,1),t--,i--;continue}if(n.endLineNumbere.endLineNumber){s=s||{index:t};continue}const[o,r]=n.split(e);o.isEmpty()?s=s||{index:t}:r.isEmpty()||(this._pieces.splice(t,1,o,r),t++,i++,s=s||{index:t})}return s=s||{index:this._pieces.length},i.length>0&&(this._pieces=C(this._pieces,s.index,i)),e}isComplete(){return this._isComplete}addSparseTokens(t,i){if(0===i.getLineContent().length)return i;const e=this._pieces;if(0===e.length)return i;const s=e[GM._findFirstPieceWithLine(e,t)].getLineTokens(t);if(!s)return i;const n=i.getCount(),o=s.getCount();let r=0;const h=[];let c=0,a=0;const l=(t,i)=>{t!==a&&(a=t,h[c++]=t,h[c++]=i)};for(let t=0;t>>0,a=~c>>>0;for(;ri)){for(;n>e&&t[n-1].startLineNumber<=i&&i<=t[n-1].endLineNumber;)n--;return n}s=n-1}}return e}acceptEdit(t,i,e,s,n){for(const o of this._pieces)o.acceptEdit(t,i,e,s,n)}}class ZM extends TS{constructor(t,i,e,s,n,o){super(),this._languageService=t,this._languageConfigurationService=i,this._textModel=e,this._bracketPairsTextModelPart=s,this._languageId=n,this._attachedViews=o,this._semanticTokens=new GM(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new de),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new de),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new de),this.onDidChangeTokens=this._onDidChangeTokens.event,this.grammarTokens=this._register(new QM(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews)),this._register(this._languageConfigurationService.onDidChange((t=>{t.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(this.grammarTokens.onDidChangeTokens((t=>{this._emitModelTokensChangedEvent(t)}))),this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState((()=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})))}handleDidChangeContent(t){if(t.isFlush)this._semanticTokens.flush();else if(!t.isEolChange)for(const i of t.changes){const[t,e,s]=KD(i.text);this._semanticTokens.acceptEdit(i.range,t,e,s,i.text.length>0?i.text.charCodeAt(0):0)}this.grammarTokens.handleDidChangeContent(t)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(t){this.validateLineNumber(t);const i=this.grammarTokens.getLineTokens(t);return this._semanticTokens.addSparseTokens(t,i)}_emitModelTokensChangedEvent(t){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(t),this._onDidChangeTokens.fire(t))}validateLineNumber(t){if(t<1||t>this._textModel.getLineCount())throw new Ki("Illegal value for lineNumber")}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(t){this.validateLineNumber(t),this.grammarTokens.forceTokenization(t)}isCheapToTokenize(t){return this.validateLineNumber(t),this.grammarTokens.isCheapToTokenize(t)}tokenizeIfCheap(t){this.validateLineNumber(t),this.grammarTokens.tokenizeIfCheap(t)}getTokenTypeIfInsertingCharacter(t,i,e){return this.grammarTokens.getTokenTypeIfInsertingCharacter(t,i,e)}tokenizeLineWithEdit(t,i,e){return this.grammarTokens.tokenizeLineWithEdit(t,i,e)}setSemanticTokens(t,i){this._semanticTokens.set(t,i),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==t,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(t,i){if(this.hasCompleteSemanticTokens())return;const e=this._textModel.validateRange(this._semanticTokens.setPartial(t,i));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:e.startLineNumber,toLineNumber:e.endLineNumber}]})}getWordAtPosition(t){this.assertNotDisposed();const i=this._textModel.validatePosition(t),e=this._textModel.getLineContent(i.lineNumber),s=this.getLineTokens(i.lineNumber),n=s.findTokenIndexAtOffset(i.column-1),[o,r]=ZM._findLanguageBoundaries(s,n),h=Qt(i.column,this.getLanguageConfiguration(s.getLanguageId(n)).getWordDefinition(),e.substring(o,r),o);if(h&&h.startColumn<=t.column&&t.column<=h.endColumn)return h;if(n>0&&o===i.column-1){const[o,r]=ZM._findLanguageBoundaries(s,n-1),h=Qt(i.column,this.getLanguageConfiguration(s.getLanguageId(n-1)).getWordDefinition(),e.substring(o,r),o);if(h&&h.startColumn<=t.column&&t.column<=h.endColumn)return h}return null}getLanguageConfiguration(t){return this._languageConfigurationService.getLanguageConfiguration(t)}static _findLanguageBoundaries(t,i){const e=t.getLanguageId(i);let s=0;for(let n=i;n>=0&&t.getLanguageId(n)===e;n--)s=t.getStartOffset(n);let n=t.getLineContent().length;for(let s=i,o=t.getCount();s{const i=this.getLanguageId();-1!==t.changedLanguages.indexOf(i)&&this.resetTokenization()}))),this.resetTokenization(),this._register(s.onDidChangeVisibleRanges((({view:t,state:i})=>{if(i){let e=this._attachedViewStates.get(t);e||(e=new JM((()=>this.refreshRanges(e.lineRanges))),this._attachedViewStates.set(t,e)),e.handleStateChange(i)}else this._attachedViewStates.deleteAndDispose(t)})))}resetTokenization(t=!0){var i;this._tokens.flush(),null===(i=this._debugBackgroundTokens)||void 0===i||i.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new PM(this._textModel.getLineCount())),t&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[e,s]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const t=Zs.get(this.getLanguageId());if(!t)return[null,null];let i;try{i=t.getInitialState()}catch(t){return Bi(t),[null,null]}return[t,i]})();if(this._tokenizer=e&&s?new BM(this._textModel.getLineCount(),e,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const t={setTokens:t=>{this.setTokens(t)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(t,i)=>{var e;if(!this._tokenizer)return;const s=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==s&&t>=s&&(null===(e=this._tokenizer)||void 0===e||e.store.setEndState(t,i))}};e&&e.createBackgroundTokenizer&&!e.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=e.createBackgroundTokenizer(this._textModel,t)),this._backgroundTokenizer.value||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new zM(this._tokenizer,t),this._defaultBackgroundTokenizer.handleChanges()),(null==e?void 0:e.backgroundTokenizerShouldOnlyVerifyTokens)&&e.createBackgroundTokenizer?(this._debugBackgroundTokens=new qM(this._languageIdCodec),this._debugBackgroundStates=new PM(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=e.createBackgroundTokenizer(this._textModel,{setTokens:t=>{var i;null===(i=this._debugBackgroundTokens)||void 0===i||i.setMultilineTokens(t,this._textModel)},backgroundTokenizationFinished(){},setEndState:(t,i)=>{var e;null===(e=this._debugBackgroundStates)||void 0===e||e.setEndState(t,i)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var t;null===(t=this._defaultBackgroundTokenizer)||void 0===t||t.handleChanges()}handleDidChangeContent(t){var i,e,s;if(t.isFlush)this.resetTokenization(!1);else if(!t.isEolChange){for(const e of t.changes){const[t,s]=KD(e.text);this._tokens.acceptEdit(e.range,t,s),null===(i=this._debugBackgroundTokens)||void 0===i||i.acceptEdit(e.range,t,s)}null===(e=this._debugBackgroundStates)||void 0===e||e.acceptChanges(t.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(t.changes),null===(s=this._defaultBackgroundTokenizer)||void 0===s||s.handleChanges()}}setTokens(t){const{changes:i}=this._tokens.setMultilineTokens(t,this._textModel);return i.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:i}),{changes:i}}refreshAllVisibleLineTokens(){const t=fp.joinMany([...this._attachedViewStates].map((([t,i])=>i.lineRanges)));this.refreshRanges(t)}refreshRanges(t){for(const i of t)this.refreshRange(i.startLineNumber,i.endLineNumberExclusive-1)}refreshRange(t,i){var e,s;if(!this._tokenizer)return;t=Math.max(1,Math.min(this._textModel.getLineCount(),t)),i=Math.min(this._textModel.getLineCount(),i);const n=new _M,{heuristicTokens:o}=this._tokenizer.tokenizeHeuristically(n,t,i),r=this.setTokens(n.finalize());if(o)for(const t of r.changes)null===(e=this._backgroundTokenizer.value)||void 0===e||e.requestTokens(t.fromLineNumber,t.toLineNumber+1);null===(s=this._defaultBackgroundTokenizer)||void 0===s||s.checkFinished()}forceTokenization(t){var i,e;const s=new _M;null===(i=this._tokenizer)||void 0===i||i.updateTokensUntilLine(s,t),this.setTokens(s.finalize()),null===(e=this._defaultBackgroundTokenizer)||void 0===e||e.checkFinished()}isCheapToTokenize(t){return!this._tokenizer||this._tokenizer.isCheapToTokenize(t)}tokenizeIfCheap(t){this.isCheapToTokenize(t)&&this.forceTokenization(t)}getLineTokens(t){var i;const e=this._textModel.getLineContent(t),s=this._tokens.getTokens(this._textModel.getLanguageId(),t-1,e);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>t&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>t){const n=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),t-1,e);!s.equals(n)&&(null===(i=this._debugBackgroundTokenizer.value)||void 0===i?void 0:i.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(t)}return s}getTokenTypeIfInsertingCharacter(t,i,e){if(!this._tokenizer)return 0;const s=this._textModel.validatePosition(new As(t,i));return this.forceTokenization(s.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(s,e)}tokenizeLineWithEdit(t,i,e){if(!this._tokenizer)return null;const s=this._textModel.validatePosition(t);return this.forceTokenization(s.lineNumber),this._tokenizer.tokenizeLineWithEdit(s,i,e)}get hasTokens(){return this._tokens.hasTokens}}class JM extends te{get lineRanges(){return this._lineRanges}constructor(t){super(),this._refreshTokens=t,this.runner=this._register(new pc((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){l(this._computedLineRanges,this._lineRanges,((t,i)=>t.equals(i)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(t){this._lineRanges=t.visibleLineRanges,t.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class YM{constructor(){this.changeType=1}}class XM{static applyInjectedText(t,i){if(!i||0===i.length)return t;let e="",s=0;for(const n of i)e+=t.substring(s,n.column-1),s=n.column-1,e+=n.options.content;return e+=t.substring(s),e}static fromDecorations(t){const i=[];for(const e of t)e.options.before&&e.options.before.content.length>0&&i.push(new XM(e.ownerId,e.range.startLineNumber,e.range.startColumn,e.options.before,0)),e.options.after&&e.options.after.content.length>0&&i.push(new XM(e.ownerId,e.range.endLineNumber,e.range.endColumn,e.options.after,1));return i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.column===i.column?t.order-i.order:t.column-i.column:t.lineNumber-i.lineNumber)),i}constructor(t,i,e,s,n){this.ownerId=t,this.lineNumber=i,this.column=e,this.options=s,this.order=n}}class tL{constructor(t,i,e){this.changeType=2,this.lineNumber=t,this.detail=i,this.injectedText=e}}class iL{constructor(t,i){this.changeType=3,this.fromLineNumber=t,this.toLineNumber=i}}class eL{constructor(t,i,e,s){this.changeType=4,this.injectedTexts=s,this.fromLineNumber=t,this.toLineNumber=i,this.detail=e}}class sL{constructor(){this.changeType=5}}class nL{constructor(t,i,e,s){this.changes=t,this.versionId=i,this.isUndoing=e,this.isRedoing=s,this.resultingSelection=null}containsEvent(t){for(let i=0,e=this.changes.length;i0&&(t[i++]=s,e+=s.length),e>=65536)return t.join("")}}}const mL=()=>{throw new Error("Invalid change accessor")};let wL=uL=class extends te{static resolveOptions(t,i){if(i.detectIndentation){const e=PA(t,i.tabSize,i.insertSpaces);return new jf({tabSize:e.tabSize,indentSize:"tabSize",insertSpaces:e.insertSpaces,trimAutoWhitespace:i.trimAutoWhitespace,defaultEOL:i.defaultEOL,bracketPairColorizationOptions:i.bracketPairColorizationOptions})}return new jf(i)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(t){return this._eventEmitter.slowEvent((i=>t(i.contentChangedEvent)))}onDidChangeContentOrInjectedText(t){return Ji(this._eventEmitter.fastEvent((i=>t(i))),this._onDidChangeInjectedText.event((i=>t(i))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(t,i,e,s=null,n,o,r){super(),this._undoRedoService=n,this._languageService=o,this._languageConfigurationService=r,this._onWillDispose=this._register(new de),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new FL((t=>this.handleBeforeFireDecorationsChangedEvent(t)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new de),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new de),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new de),this._eventEmitter=this._register(new TL),this._languageSelectionListener=this._register(new ie),this._deltaDecorationCallCnt=0,this._attachedViews=new RL,pL++,this.id="$model"+pL,this.isForSimpleWidget=e.isForSimpleWidget,this._associatedResource=null==s?ms.parse("inmemory://model/"+pL):s,this._attachedEditorCount=0;const{textBuffer:h,disposable:c}=fL(t,e.defaultEOL);this._buffer=h,this._bufferDisposable=c,this._options=uL.resolveOptions(this._buffer,e);const a="string"==typeof i?i:i.languageId;"string"!=typeof i&&(this._languageSelectionListener.value=i.onDidChange((()=>this._setLanguage(i.languageId)))),this._bracketPairs=this._register(new tA(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new _S(this,this._languageConfigurationService)),this._decorationProvider=this._register(new nA(this)),this._tokenizationTextModelPart=new ZM(this._languageService,this._languageConfigurationService,this,this._bracketPairs,a,this._attachedViews);const l=this._buffer.getLineCount(),u=this._buffer.getValueLengthInRange(new Ms(1,1,l,this._buffer.getLineLength(l)+1),0);e.largeFileOptimizations?(this._isTooLargeForTokenization=u>uL.LARGE_FILE_SIZE_THRESHOLD||l>uL.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=u>uL.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=u>uL._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=Oo(pL),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new yL,this._commandManager=new _A(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(a)}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const t=new FM([],"","\n",!1,!1,!0,!0);t.dispose(),this._buffer=t,this._bufferDisposable=te.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(t,i){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(i),this._bracketPairs.handleDidChangeContent(i),this._eventEmitter.fire(new rL(t,i)))}setValue(t){if(this._assertNotDisposed(),null==t)throw Hi();const{textBuffer:i,disposable:e}=fL(t,this._options.defaultEOL);this._setValueFromTextBuffer(i,e)}_createContentChanged2(t,i,e,s,n,o,r,h){return{changes:[{range:t,rangeOffset:i,rangeLength:e,text:s}],eol:this._buffer.getEOL(),isEolChange:h,versionId:this.getVersionId(),isUndoing:n,isRedoing:o,isFlush:r}}_setValueFromTextBuffer(t,i){this._assertNotDisposed();const e=this.getFullModelRange(),s=this.getValueLengthInRange(e),n=this.getLineCount(),o=this.getLineMaxColumn(n);this._buffer=t,this._bufferDisposable.dispose(),this._bufferDisposable=i,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new yL,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new nL([new YM],this._versionId,!1,!1),this._createContentChanged2(new Ms(1,1,n,o),0,s,this.getValue(),!1,!1,!0,!1))}setEOL(t){this._assertNotDisposed();const i=1===t?"\r\n":"\n";if(this._buffer.getEOL()===i)return;const e=this.getFullModelRange(),s=this.getValueLengthInRange(e),n=this.getLineCount(),o=this.getLineMaxColumn(n);this._onBeforeEOLChange(),this._buffer.setEOL(i),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new nL([new sL],this._versionId,!1,!1),this._createContentChanged2(new Ms(1,1,n,o),0,s,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const t=this.getVersionId(),i=this._decorationsTree.collectNodesPostOrder();for(let e=0,s=i.length;e0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let t=0,i=0;const e=this._buffer.getLineCount();for(let s=1;s<=e;s++){const e=this._buffer.getLineLength(s);e>=1e4?i+=e:t+=e}return i>t}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(t){this._assertNotDisposed();const i=new jf({tabSize:void 0!==t.tabSize?t.tabSize:this._options.tabSize,indentSize:void 0!==t.indentSize?t.indentSize:this._options.originalIndentSize,insertSpaces:void 0!==t.insertSpaces?t.insertSpaces:this._options.insertSpaces,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:void 0!==t.trimAutoWhitespace?t.trimAutoWhitespace:this._options.trimAutoWhitespace,bracketPairColorizationOptions:void 0!==t.bracketColorizationOptions?t.bracketColorizationOptions:this._options.bracketPairColorizationOptions});if(this._options.equals(i))return;const e=this._options.createChangeEvent(i);this._options=i,this._bracketPairs.handleDidChangeOptions(e),this._decorationProvider.handleDidChangeOptions(e),this._onDidChangeOptions.fire(e)}detectIndentation(t,i){this._assertNotDisposed();const e=PA(this._buffer,i,t);this.updateOptions({insertSpaces:e.insertSpaces,tabSize:e.tabSize,indentSize:e.tabSize})}normalizeIndentation(t){return this._assertNotDisposed(),lC(t,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(t=null){const i=this.findMatches(Ao.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(t,i.map((t=>({range:t.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(t){this._assertNotDisposed();const i=this._validatePosition(t.lineNumber,t.column,0);return this._buffer.getOffsetAt(i.lineNumber,i.column)}getPositionAt(t){this._assertNotDisposed();const i=Math.min(this._buffer.getLength(),Math.max(0,t));return this._buffer.getPositionAt(i)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(t){this._versionId=t}_overwriteAlternativeVersionId(t){this._alternativeVersionId=t}_overwriteInitialUndoRedoSnapshot(t){this._initialUndoRedoSnapshot=t}getValue(t,i=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Ki("Operation would exceed heap memory limits");const e=this.getFullModelRange(),s=this.getValueInRange(e,t);return i?this._buffer.getBOM()+s:s}createSnapshot(t=!1){return new gL(this._buffer.createSnapshot(t))}getValueLength(t,i=!1){this._assertNotDisposed();const e=this.getFullModelRange(),s=this.getValueLengthInRange(e,t);return i?this._buffer.getBOM().length+s:s}getValueInRange(t,i=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(t),i)}getValueLengthInRange(t,i=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(t),i)}getCharacterCountInRange(t,i=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(t),i)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Ki("Illegal value for lineNumber");return this._buffer.getLineContent(t)}getLineLength(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Ki("Illegal value for lineNumber");return this._buffer.getLineLength(t)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Ki("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(t){return this._assertNotDisposed(),1}getLineMaxColumn(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Ki("Illegal value for lineNumber");return this._buffer.getLineLength(t)+1}getLineFirstNonWhitespaceColumn(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Ki("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(t)}getLineLastNonWhitespaceColumn(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Ki("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(t)}_validateRangeRelaxedNoAllocations(t){const i=this._buffer.getLineCount(),e=t.startLineNumber,s=t.startColumn;let n=Math.floor("number"!=typeof e||isNaN(e)?1:e),o=Math.floor("number"!=typeof s||isNaN(s)?1:s);if(n<1)n=1,o=1;else if(n>i)n=i,o=this.getLineMaxColumn(n);else if(o<=1)o=1;else{const t=this.getLineMaxColumn(n);o>=t&&(o=t)}const r=t.endLineNumber,h=t.endColumn;let c=Math.floor("number"!=typeof r||isNaN(r)?1:r),a=Math.floor("number"!=typeof h||isNaN(h)?1:h);if(c<1)c=1,a=1;else if(c>i)c=i,a=this.getLineMaxColumn(c);else if(a<=1)a=1;else{const t=this.getLineMaxColumn(c);a>=t&&(a=t)}return e===n&&s===o&&r===c&&h===a&&t instanceof Ms&&!(t instanceof Ls)?t:new Ms(n,o,c,a)}_isValidPosition(t,i,e){return"number"==typeof t&&"number"==typeof i&&(!isNaN(t)&&!isNaN(i)&&(!(t<1||i<1)&&((0|t)===t&&(0|i)===i&&(!(t>this._buffer.getLineCount())&&(1===i||!(i>this.getLineMaxColumn(t))&&(1!==e||!go(this._buffer.getLineCharCode(t,i-2))))))))}_validatePosition(t,i,e){const s=Math.floor("number"!=typeof t||isNaN(t)?1:t),n=Math.floor("number"!=typeof i||isNaN(i)?1:i),o=this._buffer.getLineCount();if(s<1)return new As(1,1);if(s>o)return new As(o,this.getLineMaxColumn(o));if(n<=1)return new As(s,1);const r=this.getLineMaxColumn(s);return n>=r?new As(s,r):1===e&&go(this._buffer.getLineCharCode(s,n-2))?new As(s,n-1):new As(s,n)}validatePosition(t){return this._assertNotDisposed(),t instanceof As&&this._isValidPosition(t.lineNumber,t.column,1)?t:this._validatePosition(t.lineNumber,t.column,1)}_isValidRange(t,i){const e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn;if(!this._isValidPosition(e,s,0))return!1;if(!this._isValidPosition(n,o,0))return!1;if(1===i){const t=s>1?this._buffer.getLineCharCode(e,s-2):0,i=o>1&&o<=this._buffer.getLineLength(n)?this._buffer.getLineCharCode(n,o-2):0,r=go(t),h=go(i);return!r&&!h}return!0}validateRange(t){if(this._assertNotDisposed(),t instanceof Ms&&!(t instanceof Ls)&&this._isValidRange(t,1))return t;const i=this._validatePosition(t.startLineNumber,t.startColumn,0),e=this._validatePosition(t.endLineNumber,t.endColumn,0),s=i.lineNumber,n=i.column,o=e.lineNumber,r=e.column;{const t=n>1?this._buffer.getLineCharCode(s,n-2):0,i=r>1&&r<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,r-2):0,e=go(t),h=go(i);return e||h?s===o&&n===r?new Ms(s,n-1,o,r-1):e&&h?new Ms(s,n-1,o,r+1):e?new Ms(s,n-1,o,r):new Ms(s,n,o,r+1):new Ms(s,n,o,r)}}modifyPosition(t,i){this._assertNotDisposed();const e=this.getOffsetAt(t)+i;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,e)))}getFullModelRange(){this._assertNotDisposed();const t=this.getLineCount();return new Ms(1,1,t,this.getLineMaxColumn(t))}findMatchesLineByLine(t,i,e,s){return this._buffer.findMatchesLineByLine(t,i,e,s)}findMatches(t,i,e,s,n,o,r=999){this._assertNotDisposed();let h=null;null!==i&&(Array.isArray(i)||(i=[i]),i.every((t=>Ms.isIRange(t)))&&(h=i.map((t=>this.validateRange(t))))),null===h&&(h=[this.getFullModelRange()]),h=h.sort(((t,i)=>t.startLineNumber-i.startLineNumber||t.startColumn-i.startColumn));const c=[];let a;if(c.push(h.reduce(((t,i)=>Ms.areIntersecting(t,i)?t.plusRange(i):(c.push(t),i)))),!e&&t.indexOf("\n")<0){const i=new Kf(t,e,s,n).parseSearchRequest();if(!i)return[];a=t=>this.findMatchesLineByLine(t,i,o,r)}else a=i=>Qf.findMatches(this,new Kf(t,e,s,n),i,o,r);return c.map(a).reduce(((t,i)=>t.concat(i)),[])}findNextMatch(t,i,e,s,n,o){this._assertNotDisposed();const r=this.validatePosition(i);if(!e&&t.indexOf("\n")<0){const i=new Kf(t,e,s,n).parseSearchRequest();if(!i)return null;const h=this.getLineCount();let c=new Ms(r.lineNumber,r.column,h,this.getLineMaxColumn(h)),a=this.findMatchesLineByLine(c,i,o,1);return Qf.findNextMatch(this,new Kf(t,e,s,n),r,o),a.length>0?a[0]:(c=new Ms(1,1,r.lineNumber,this.getLineMaxColumn(r.lineNumber)),a=this.findMatchesLineByLine(c,i,o,1),a.length>0?a[0]:null)}return Qf.findNextMatch(this,new Kf(t,e,s,n),r,o)}findPreviousMatch(t,i,e,s,n,o){this._assertNotDisposed();const r=this.validatePosition(i);return Qf.findPreviousMatch(this,new Kf(t,e,s,n),r,o)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(t){if(("\n"===this.getEOL()?0:1)!==t)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(t){return t instanceof Hf?t:new Hf(t.identifier||null,this.validateRange(t.range),t.text,t.forceMoveMarkers||!1,t.isAutoWhitespaceEdit||!1,t._isTracked||!1)}_validateEditOperations(t){const i=[];for(let e=0,s=t.length;e({range:this.validateRange(t.range),text:t.text})));let s=!0;if(t)for(let i=0,n=t.length;in.endLineNumber||n.startLineNumber>i.endLineNumber)){o=!0;break}}if(!o){s=!1;break}}if(s)for(let t=0,s=this._trimAutoWhitespaceLines.length;ti.endLineNumber||s===i.startLineNumber&&i.startColumn===n&&i.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(0)||s===i.startLineNumber&&1===i.startColumn&&i.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(r.length-1))){o=!1;break}}if(o){const t=new Ms(s,1,s,n);i.push(new Hf(null,t,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(t,i,e,s)}_applyUndo(t,i,e,s){const n=t.map((t=>{const i=this.getPositionAt(t.newPosition),e=this.getPositionAt(t.newEnd);return{range:new Ms(i.lineNumber,i.column,e.lineNumber,e.column),text:t.oldText}}));this._applyUndoRedoEdits(n,i,!0,!1,e,s)}_applyRedo(t,i,e,s){const n=t.map((t=>{const i=this.getPositionAt(t.oldPosition),e=this.getPositionAt(t.oldEnd);return{range:new Ms(i.lineNumber,i.column,e.lineNumber,e.column),text:t.newText}}));this._applyUndoRedoEdits(n,i,!1,!0,e,s)}_applyUndoRedoEdits(t,i,e,s,n,o){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=e,this._isRedoing=s,this.applyEdits(t,!1),this.setEOL(i),this._overwriteAlternativeVersionId(n)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(o),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(t,i=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const e=this._validateEditOperations(t);return this._doApplyEdits(e,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(t,i){const e=this._buffer.getLineCount(),s=this._buffer.applyEdits(t,this._options.trimAutoWhitespace,i),n=this._buffer.getLineCount(),o=s.changes;if(this._trimAutoWhitespaceLines=s.trimAutoWhitespaceLineNumbers,0!==o.length){for(let t=0,i=o.length;t=0;i--){const e=h+i,s=f+i;w.takeFromEndWhile((t=>t.lineNumber>s));const n=w.takeFromEndWhile((t=>t.lineNumber===s));t.push(new tL(e,this.getLineContent(s),n))}if(ut.lineNumbert.lineNumber===i))}t.push(new eL(s+1,h+l,a,c))}i+=d}this._emitContentChangedEvent(new nL(t,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:o,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===s.reverseEdits?void 0:s.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(t){if(null===t||0===t.size)return;const i=Array.from(t).map((t=>new tL(t,this.getLineContent(t),this._getInjectedTextInLine(t))));this._onDidChangeInjectedText.fire(new oL(i))}changeDecorations(t,i=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(i,t)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(t,i){const e={addDecoration:(i,e)=>this._deltaDecorationsImpl(t,[],[{range:i,options:e}])[0],changeDecoration:(t,i)=>{this._changeDecorationImpl(t,i)},changeDecorationOptions:(t,i)=>{this._changeDecorationOptionsImpl(t,LL(i))},removeDecoration:i=>{this._deltaDecorationsImpl(t,[i],[])},deltaDecorations:(i,e)=>0===i.length&&0===e.length?[]:this._deltaDecorationsImpl(t,i,e)};let s=null;try{s=i(e)}catch(t){Bi(t)}return e.addDecoration=mL,e.changeDecoration=mL,e.changeDecorationOptions=mL,e.removeDecoration=mL,e.deltaDecorations=mL,s}deltaDecorations(t,i,e=0){if(this._assertNotDisposed(),t||(t=[]),0===t.length&&0===i.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),Bi(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(e,t,i)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(t){return this.getDecorationRange(t)}_setTrackedRange(t,i,e){const s=t?this._decorations[t]:null;if(!s)return i?this._deltaDecorationsImpl(0,[],[{range:i,options:ML[e]}],!0)[0]:null;if(!i)return this._decorationsTree.delete(s),delete this._decorations[s.id],null;const n=this._validateRangeRelaxedNoAllocations(i),o=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),r=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);return this._decorationsTree.delete(s),s.reset(this.getVersionId(),o,r,n),s.setOptions(ML[e]),this._decorationsTree.insert(s),s.id}removeAllDecorationsWithOwnerId(t){if(this._isDisposed)return;const i=this._decorationsTree.collectNodesFromOwner(t);for(let t=0,e=i.length;tthis.getLineCount()?[]:this.getLinesDecorations(t,t,i,e)}getLinesDecorations(t,i,e=0,s=!1,n=!1){const o=this.getLineCount(),r=Math.min(o,Math.max(1,t)),h=Math.min(o,Math.max(1,i)),c=this.getLineMaxColumn(h),a=new Ms(r,1,h,c),l=this._getDecorationsInRange(a,e,s,n);return E(l,this._decorationProvider.getDecorationsInRange(a,e,s)),l}getDecorationsInRange(t,i=0,e=!1,s=!1,n=!1){const o=this.validateRange(t),r=this._getDecorationsInRange(o,i,e,n);return E(r,this._decorationProvider.getDecorationsInRange(o,i,e,s)),r}getOverviewRulerDecorations(t=0,i=!1){return this._decorationsTree.getAll(this,t,i,!0,!1)}getInjectedTextDecorations(t=0){return this._decorationsTree.getAllInjectedText(this,t)}_getInjectedTextInLine(t){const i=this._buffer.getOffsetAt(t,1),e=i+this._buffer.getLineLength(t),s=this._decorationsTree.getInjectedTextInInterval(this,i,e,0);return XM.fromDecorations(s).filter((i=>i.lineNumber===t))}getAllDecorations(t=0,i=!1){let e=this._decorationsTree.getAll(this,t,i,!1,!1);return e=e.concat(this._decorationProvider.getAllDecorations(t,i)),e}getAllMarginDecorations(t=0){return this._decorationsTree.getAll(this,t,!1,!1,!0)}_getDecorationsInRange(t,i,e,s){const n=this._buffer.getOffsetAt(t.startLineNumber,t.startColumn),o=this._buffer.getOffsetAt(t.endLineNumber,t.endColumn);return this._decorationsTree.getAllInInterval(this,n,o,i,e,s)}getRangeAt(t,i){return this._buffer.getRangeAt(t,i-t)}_changeDecorationImpl(t,i){const e=this._decorations[t];if(!e)return;if(e.options.after){const i=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber)}if(e.options.before){const i=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber)}const s=this._validateRangeRelaxedNoAllocations(i),n=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),o=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);this._decorationsTree.delete(e),e.reset(this.getVersionId(),n,o,s),this._decorationsTree.insert(e),this._onDidChangeDecorations.checkAffectedAndFire(e.options),e.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.endLineNumber),e.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.startLineNumber)}_changeDecorationOptionsImpl(t,i){const e=this._decorations[t];if(!e)return;const s=!(!e.options.overviewRuler||!e.options.overviewRuler.color),n=!(!i.overviewRuler||!i.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(e.options),this._onDidChangeDecorations.checkAffectedAndFire(i),e.options.after||i.after){const t=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(e.options.before||i.before){const t=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}s!==n?(this._decorationsTree.delete(e),e.setOptions(i),this._decorationsTree.insert(e)):e.setOptions(i)}_deltaDecorationsImpl(t,i,e,s=!1){const n=this.getVersionId(),o=i.length;let r=0;const h=e.length;let c=0;this._onDidChangeDecorations.beginDeferredEmit();try{const a=new Array(h);for(;rthis._setLanguage(t.languageId,i))),this._setLanguage(t.languageId,i))}_setLanguage(t,i){this.tokenization.setLanguageId(t,i),this._languageService.requestRichLanguageFeatures(t)}getLanguageIdAtPosition(t,i){return this.tokenization.getLanguageIdAtPosition(t,i)}getWordAtPosition(t){return this._tokenizationTextModelPart.getWordAtPosition(t)}getWordUntilPosition(t){return this._tokenizationTextModelPart.getWordUntilPosition(t)}normalizePosition(t,i){return t}getLineIndentColumn(t){return function(t){let i=0;for(const e of t){if(" "!==e&&"\t"!==e)break;i++}return i}(this.getLineContent(t))+1}};function vL(t){return!(!t.options.overviewRuler||!t.options.overviewRuler.color)}function bL(t){return!!t.options.after||!!t.options.before}wL._MODEL_SYNC_LIMIT=52428800,wL.LARGE_FILE_SIZE_THRESHOLD=20971520,wL.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,wL.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456,wL.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:zt.tabSize,indentSize:zt.indentSize,insertSpaces:zt.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:zt.trimAutoWhitespace,largeFileOptimizations:zt.largeFileOptimizations,bracketPairColorizationOptions:zt.bracketPairColorizationOptions},wL=uL=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([dL(4,hL),dL(5,yd),dL(6,Xd)],wL);class yL{constructor(){this._decorationsTree0=new JA,this._decorationsTree1=new JA,this._injectedTextDecorationsTree=new JA}ensureAllNodesHaveRanges(t){this.getAll(t,0,!1,!1,!1)}_ensureNodesHaveRanges(t,i){for(const e of i)null===e.range&&(e.range=t.getRangeAt(e.cachedAbsoluteStart,e.cachedAbsoluteEnd));return i}getAllInInterval(t,i,e,s,n,o){const r=t.getVersionId(),h=this._intervalSearch(i,e,s,n,r,o);return this._ensureNodesHaveRanges(t,h)}_intervalSearch(t,i,e,s,n,o){const r=this._decorationsTree0.intervalSearch(t,i,e,s,n,o),h=this._decorationsTree1.intervalSearch(t,i,e,s,n,o),c=this._injectedTextDecorationsTree.intervalSearch(t,i,e,s,n,o);return r.concat(h).concat(c)}getInjectedTextInInterval(t,i,e,s){const n=t.getVersionId(),o=this._injectedTextDecorationsTree.intervalSearch(i,e,s,!1,n,!1);return this._ensureNodesHaveRanges(t,o).filter((t=>t.options.showIfCollapsed||!t.range.isEmpty()))}getAllInjectedText(t,i){const e=t.getVersionId(),s=this._injectedTextDecorationsTree.search(i,!1,e,!1);return this._ensureNodesHaveRanges(t,s).filter((t=>t.options.showIfCollapsed||!t.range.isEmpty()))}getAll(t,i,e,s,n){const o=t.getVersionId(),r=this._search(i,e,s,o,n);return this._ensureNodesHaveRanges(t,r)}_search(t,i,e,s,n){if(e)return this._decorationsTree1.search(t,i,s,n);{const e=this._decorationsTree0.search(t,i,s,n),o=this._decorationsTree1.search(t,i,s,n),r=this._injectedTextDecorationsTree.search(t,i,s,n);return e.concat(o).concat(r)}}collectNodesFromOwner(t){const i=this._decorationsTree0.collectNodesFromOwner(t),e=this._decorationsTree1.collectNodesFromOwner(t),s=this._injectedTextDecorationsTree.collectNodesFromOwner(t);return i.concat(e).concat(s)}collectNodesPostOrder(){const t=this._decorationsTree0.collectNodesPostOrder(),i=this._decorationsTree1.collectNodesPostOrder(),e=this._injectedTextDecorationsTree.collectNodesPostOrder();return t.concat(i).concat(e)}insert(t){bL(t)?this._injectedTextDecorationsTree.insert(t):vL(t)?this._decorationsTree1.insert(t):this._decorationsTree0.insert(t)}delete(t){bL(t)?this._injectedTextDecorationsTree.delete(t):vL(t)?this._decorationsTree1.delete(t):this._decorationsTree0.delete(t)}getNodeRange(t,i){const e=t.getVersionId();return i.cachedVersionId!==e&&this._resolveNode(i,e),null===i.range&&(i.range=t.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd)),i.range}_resolveNode(t,i){bL(t)?this._injectedTextDecorationsTree.resolveNode(t,i):vL(t)?this._decorationsTree1.resolveNode(t,i):this._decorationsTree0.resolveNode(t,i)}acceptReplace(t,i,e,s){this._decorationsTree0.acceptReplace(t,i,e,s),this._decorationsTree1.acceptReplace(t,i,e,s),this._injectedTextDecorationsTree.acceptReplace(t,i,e,s)}}function kL(t){return t.replace(/[^a-z0-9\-_]/gi," ")}class xL{constructor(t){this.color=t.color||"",this.darkColor=t.darkColor||""}}class CL extends xL{constructor(t){super(t),this._resolvedColor=null,this.position="number"==typeof t.position?t.position:_f.Center}getColor(t){return this._resolvedColor||(this._resolvedColor=this._resolveColor("light"!==t.type&&this.darkColor?this.darkColor:this.color,t)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(t,i){if("string"==typeof t)return t;const e=t?i.getColor(t.id):null;return e?e.toString():""}}class SL{constructor(t){var i;this.position=null!==(i=null==t?void 0:t.position)&&void 0!==i?i:Nf.Left}}class DL extends xL{constructor(t){super(t),this.position=t.position}getColor(t){return this._resolvedColor||(this._resolvedColor=this._resolveColor("light"!==t.type&&this.darkColor?this.darkColor:this.color,t)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(t,i){return"string"==typeof t?lg.fromHex(t):i.getColor(t.id)}}class EL{static from(t){return t instanceof EL?t:new EL(t)}constructor(t){this.content=t.content||"",this.inlineClassName=t.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=t.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=t.attachedData||null,this.cursorStops=t.cursorStops||null}}class AL{static register(t){return new AL(t)}static createDynamic(t){return new AL(t)}constructor(t){var i,e,s,n,o,r;this.description=t.description,this.blockClassName=t.blockClassName?kL(t.blockClassName):null,this.blockDoesNotCollapse=null!==(i=t.blockDoesNotCollapse)&&void 0!==i?i:null,this.blockIsAfterEnd=null!==(e=t.blockIsAfterEnd)&&void 0!==e?e:null,this.blockPadding=null!==(s=t.blockPadding)&&void 0!==s?s:null,this.stickiness=t.stickiness||0,this.zIndex=t.zIndex||0,this.className=t.className?kL(t.className):null,this.shouldFillLineOnLineBreak=null!==(n=t.shouldFillLineOnLineBreak)&&void 0!==n?n:null,this.hoverMessage=t.hoverMessage||null,this.glyphMarginHoverMessage=t.glyphMarginHoverMessage||null,this.isWholeLine=t.isWholeLine||!1,this.showIfCollapsed=t.showIfCollapsed||!1,this.collapseOnReplaceEdit=t.collapseOnReplaceEdit||!1,this.overviewRuler=t.overviewRuler?new CL(t.overviewRuler):null,this.minimap=t.minimap?new DL(t.minimap):null,this.glyphMargin=t.glyphMarginClassName?new SL(t.glyphMargin):null,this.glyphMarginClassName=t.glyphMarginClassName?kL(t.glyphMarginClassName):null,this.linesDecorationsClassName=t.linesDecorationsClassName?kL(t.linesDecorationsClassName):null,this.firstLineDecorationClassName=t.firstLineDecorationClassName?kL(t.firstLineDecorationClassName):null,this.marginClassName=t.marginClassName?kL(t.marginClassName):null,this.inlineClassName=t.inlineClassName?kL(t.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=t.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=t.beforeContentClassName?kL(t.beforeContentClassName):null,this.afterContentClassName=t.afterContentClassName?kL(t.afterContentClassName):null,this.after=t.after?EL.from(t.after):null,this.before=t.before?EL.from(t.before):null,this.hideInCommentTokens=null!==(o=t.hideInCommentTokens)&&void 0!==o&&o,this.hideInStringTokens=null!==(r=t.hideInStringTokens)&&void 0!==r&&r}}AL.EMPTY=AL.register({description:"empty"});const ML=[AL.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),AL.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),AL.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),AL.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function LL(t){return t instanceof AL?t:AL.createDynamic(t)}class FL extends te{constructor(t){super(),this.handleBeforeFire=t,this._actual=this._register(new de),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var t;this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),null===(t=this._affectedInjectedTextLines)||void 0===t||t.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(t){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(t)}checkAffectedAndFire(t){this._affectsMinimap||(this._affectsMinimap=!(!t.minimap||!t.minimap.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!(!t.overviewRuler||!t.overviewRuler.color)),this._affectsGlyphMargin||(this._affectsGlyphMargin=!!t.glyphMarginClassName),this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const t={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(t)}}class TL extends te{constructor(){super(),this._fastEmitter=this._register(new de),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new de),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(t=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=t;const i=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(i),this._slowEmitter.fire(i)}}fire(t){this._deferredCnt>0?this._deferredEvent=this._deferredEvent?this._deferredEvent.merge(t):t:(this._fastEmitter.fire(t),this._slowEmitter.fire(t))}}class RL{constructor(){this._onDidChangeVisibleRanges=new de,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const t=new OL((i=>{this._onDidChangeVisibleRanges.fire({view:t,state:i})}));return this._views.add(t),t}detachView(t){this._views.delete(t),this._onDidChangeVisibleRanges.fire({view:t,state:void 0})}}class OL{constructor(t){this.handleStateChange=t}setVisibleLines(t,i){const e=t.map((t=>new fp(t.startLineNumber,t.endLineNumber+1)));this.handleStateChange({visibleLineRanges:e,stabilized:i})}}class IL{constructor(t){this._selTrackedRange=null,this._trackSelection=!0,this._setState(t,new vC(new Ms(1,1,1,1),0,0,new As(1,1),0),new vC(new Ms(1,1,1,1),0,0,new As(1,1),0))}dispose(t){this._removeTrackedRange(t)}startTrackingSelection(t){this._trackSelection=!0,this._updateTrackedRange(t)}stopTrackingSelection(t){this._trackSelection=!1,this._removeTrackedRange(t)}_updateTrackedRange(t){this._trackSelection&&(this._selTrackedRange=t.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(t){this._selTrackedRange=t.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new gC(this.modelState,this.viewState)}readSelectionFromMarkers(t){const i=t.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!i.isEmpty()?Ls.fromRange(i.collapseToEnd(),this.modelState.selection.getDirection()):Ls.fromRange(i,this.modelState.selection.getDirection())}ensureValidState(t){this._setState(t,this.modelState,this.viewState)}setState(t,i,e){this._setState(t,i,e)}static _validatePositionWithCache(t,i,e,s){return i.equals(e)?s:t.normalizePosition(i,2)}static _validateViewState(t,i){const e=i.position,s=i.selectionStart.getStartPosition(),n=i.selectionStart.getEndPosition(),o=t.normalizePosition(e,2),r=this._validatePositionWithCache(t,s,e,o),h=this._validatePositionWithCache(t,n,s,r);return e.equals(o)&&s.equals(r)&&n.equals(h)?i:new vC(Ms.fromPositions(r,h),i.selectionStartKind,i.selectionStartLeftoverVisibleColumns+s.column-r.column,o,i.leftoverVisibleColumns+e.column-o.column)}_setState(t,i,e){if(e&&(e=IL._validateViewState(t.viewModel,e)),i){const e=t.model.validateRange(i.selectionStart),s=i.selectionStart.equalsRange(e)?i.selectionStartLeftoverVisibleColumns:0,n=t.model.validatePosition(i.position),o=i.position.equals(n)?i.leftoverVisibleColumns:0;i=new vC(e,i.selectionStartKind,s,n,o)}else{if(!e)return;const s=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(e.selectionStart)),n=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(e.position));i=new vC(s,e.selectionStartKind,e.selectionStartLeftoverVisibleColumns,n,e.leftoverVisibleColumns)}if(e){const s=t.coordinatesConverter.validateViewRange(e.selectionStart,i.selectionStart),n=t.coordinatesConverter.validateViewPosition(e.position,i.position);e=new vC(s,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,n,i.leftoverVisibleColumns)}else{const s=t.coordinatesConverter.convertModelPositionToViewPosition(new As(i.selectionStart.startLineNumber,i.selectionStart.startColumn)),n=t.coordinatesConverter.convertModelPositionToViewPosition(new As(i.selectionStart.endLineNumber,i.selectionStart.endColumn)),o=new Ms(s.lineNumber,s.column,n.lineNumber,n.column),r=t.coordinatesConverter.convertModelPositionToViewPosition(i.position);e=new vC(o,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,r,i.leftoverVisibleColumns)}this.modelState=i,this.viewState=e,this._updateTrackedRange(t)}}class _L{constructor(t){this.context=t,this.cursors=[new IL(t)],this.lastAddedCursorIndex=0}dispose(){for(const t of this.cursors)t.dispose(this.context)}startTrackingSelections(){for(const t of this.cursors)t.startTrackingSelection(this.context)}stopTrackingSelections(){for(const t of this.cursors)t.stopTrackingSelection(this.context)}updateContext(t){this.context=t}ensureValidState(){for(const t of this.cursors)t.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map((t=>t.readSelectionFromMarkers(this.context)))}getAll(){return this.cursors.map((t=>t.asCursorState()))}getViewPositions(){return this.cursors.map((t=>t.viewState.position))}getTopMostViewPosition(){return function(t,i){return up(t,((t,e)=>-i(t,e)))}(this.cursors,T((t=>t.viewState.position),As.compare)).viewState.position}getBottomMostViewPosition(){return function(t,i){if(0===t.length)return;let e=t[0];for(let s=1;s=0&&(e=n)}return e}(this.cursors,T((t=>t.viewState.position),As.compare)).viewState.position}getSelections(){return this.cursors.map((t=>t.modelState.selection))}getViewSelections(){return this.cursors.map((t=>t.viewState.selection))}setSelections(t){this.setStates(gC.fromModelSelections(t))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(t){null!==t&&(this.cursors[0].setState(this.context,t[0].modelState,t[0].viewState),this._setSecondaryStates(t.slice(1)))}_setSecondaryStates(t){const i=this.cursors.length-1,e=t.length;if(ie){const t=i-e;for(let i=0;i=t+1&&this.lastAddedCursorIndex--,this.cursors[t+1].dispose(this.context),this.cursors.splice(t+1,1)}normalize(){if(1===this.cursors.length)return;const t=this.cursors.slice(0),i=[];for(let e=0,s=t.length;et.selection),Ms.compareRangesUsingStarts));for(let e=0;eh&&t.index--;t.splice(h,1),i.splice(r,1),this._removeSecondaryCursor(h-1),e--}}}}class NL{constructor(t,i,e,s){this._cursorContextBrand=void 0,this.model=t,this.viewModel=i,this.coordinatesConverter=e,this.cursorConfig=s}}class BL{constructor(){this.type=0}}class PL{constructor(){this.type=1}}class $L{constructor(t){this.type=2,this._source=t}hasChanged(t){return this._source.hasChanged(t)}}class WL{constructor(t,i,e){this.selections=t,this.modelSelections=i,this.reason=e,this.type=3}}class jL{constructor(t){this.type=4,t?(this.affectsMinimap=t.affectsMinimap,this.affectsOverviewRuler=t.affectsOverviewRuler,this.affectsGlyphMargin=t.affectsGlyphMargin):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0)}}class zL{constructor(){this.type=5}}class HL{constructor(t){this.type=6,this.isFocused=t}}class VL{constructor(){this.type=7}}class UL{constructor(){this.type=8}}class qL{constructor(t,i){this.fromLineNumber=t,this.count=i,this.type=9}}class KL{constructor(t,i){this.type=10,this.fromLineNumber=t,this.toLineNumber=i}}class GL{constructor(t,i){this.type=11,this.fromLineNumber=t,this.toLineNumber=i}}class ZL{constructor(t,i,e,s,n,o,r){this.source=t,this.minimalReveal=i,this.range=e,this.selections=s,this.verticalType=n,this.revealHorizontal=o,this.scrollType=r,this.type=12}}class QL{constructor(t){this.type=13,this.scrollWidth=t.scrollWidth,this.scrollLeft=t.scrollLeft,this.scrollHeight=t.scrollHeight,this.scrollTop=t.scrollTop,this.scrollWidthChanged=t.scrollWidthChanged,this.scrollLeftChanged=t.scrollLeftChanged,this.scrollHeightChanged=t.scrollHeightChanged,this.scrollTopChanged=t.scrollTopChanged}}class JL{constructor(t){this.theme=t,this.type=14}}class YL{constructor(t){this.type=15,this.ranges=t}}class XL{constructor(){this.type=16}}class tF{constructor(){this.type=17}}class iF extends te{constructor(){super(),this._onEvent=this._register(new de),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(t){this._addOutgoingEvent(t),this._emitOutgoingEvents()}_addOutgoingEvent(t){for(let i=0,e=this._outgoingEvents.length;i0;){if(this._collector||this._isConsumingViewEventQueue)return;const t=this._outgoingEvents.shift();t.isNoOp()||this._onEvent.fire(t)}}addViewEventHandler(t){for(let i=0,e=this._eventHandlers.length;i0&&this._emitMany(i)}this._emitOutgoingEvents()}emitSingleViewEvent(t){try{this.beginEmitViewEvents().emitViewEvent(t)}finally{this.endEmitViewEvents()}}_emitMany(t){this._viewEventQueue=this._viewEventQueue?this._viewEventQueue.concat(t):t,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const t=this._viewEventQueue;this._viewEventQueue=null;const i=this._eventHandlers.slice(0);for(const e of i)e.handleEvents(t)}}}class eF{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(t){this.viewEvents.push(t)}emitOutgoingEvent(t){this.outgoingEvents.push(t)}}class sF{constructor(t,i,e,s){this.kind=0,this._oldContentWidth=t,this._oldContentHeight=i,this.contentWidth=e,this.contentHeight=s,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind!==this.kind?null:new sF(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight)}}class nF{constructor(t,i){this.kind=1,this.oldHasFocus=t,this.hasFocus=i}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind!==this.kind?null:new nF(this.oldHasFocus,t.hasFocus)}}class oF{constructor(t,i,e,s,n,o,r,h){this.kind=2,this._oldScrollWidth=t,this._oldScrollLeft=i,this._oldScrollHeight=e,this._oldScrollTop=s,this.scrollWidth=n,this.scrollLeft=o,this.scrollHeight=r,this.scrollTop=h,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!(this.scrollWidthChanged||this.scrollLeftChanged||this.scrollHeightChanged||this.scrollTopChanged)}attemptToMerge(t){return t.kind!==this.kind?null:new oF(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop)}}class rF{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(t){return t.kind!==this.kind?null:this}}class hF{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(t){return t.kind!==this.kind?null:this}}class cF{constructor(t,i,e,s,n,o,r){this.kind=6,this.oldSelections=t,this.selections=i,this.oldModelVersionId=e,this.modelVersionId=s,this.source=n,this.reason=o,this.reachedMaxCursorCount=r}static _selectionsAreEqual(t,i){if(!t&&!i)return!0;if(!t||!i)return!1;const e=t.length;if(e!==i.length)return!1;for(let s=0;s0){const t=this._cursors.getSelections();for(let i=0;io&&(s=s.slice(0,o),n=!0);const r=wF.from(this._model,this);return this._cursors.setStates(s),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,e,r,n)}setCursorColumnSelectData(t){this._columnSelectData=t}revealPrimary(t,i,e,s,n,o){const r=this._cursors.getViewPositions();let h=null,c=null;r.length>1?c=this._cursors.getViewSelections():h=Ms.fromPositions(r[0],r[0]),t.emitViewEvent(new ZL(i,e,h,c,s,n,o))}saveState(){const t=[],i=this._cursors.getSelections();for(let e=0,s=i.length;e0){const i=gC.fromModelSelections(e.resultingSelection);this.setStates(t,"modelChange",e.isUndoing?5:e.isRedoing?6:2,i)&&this.revealPrimary(t,"modelChange",!1,0,!0,0)}else{const i=this._cursors.readSelectionFromMarkers();this.setStates(t,"modelChange",2,gC.fromModelSelections(i))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const t=this._cursors.getPrimaryCursor(),i=t.viewState.selectionStart.getStartPosition(),e=t.viewState.position;return{isReal:!1,fromViewLineNumber:i.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i),toViewLineNumber:e.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,e)}}getSelections(){return this._cursors.getSelections()}setSelections(t,i,e,s){this.setStates(t,i,s,gC.fromModelSelections(e))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(t){this._prevEditOperationType=t}_pushAutoClosedAction(t,i){const e=[],s=[];for(let n=0,o=t.length;n0&&this._pushAutoClosedAction(e,s),this._prevEditOperationType=t.type}t.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(t){t&&0!==t.length||(t=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(t),this._cursors.normalize()}_emitStateChangedIfNecessary(t,i,e,s,n){const o=wF.from(this._model,this);if(o.equals(s))return!1;const r=this._cursors.getSelections(),h=this._cursors.getViewSelections();if(t.emitViewEvent(new WL(h,r,e)),!s||s.cursorState.length!==o.cursorState.length||o.cursorState.some(((t,i)=>!t.modelState.equals(s.cursorState[i].modelState)))){const h=s?s.cursorState.map((t=>t.modelState.selection)):null;t.emitOutgoingEvent(new cF(h,r,s?s.modelVersionId:0,o.modelVersionId,i||"keyboard",e,n))}return!0}_findAutoClosingPairs(t){if(!t.length)return null;const i=[];for(let e=0,s=t.length;e=0)return null;const n=s.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!n)return null;const o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(n[1]);if(!o||1!==o.length)return null;const r=s.text.length-n[2].length-1,h=s.text.lastIndexOf(o[0].open,r-1);if(-1===h)return null;i.push([h,r])}return i}executeEdits(t,i,e,s){let n=null;"snippet"===i&&(n=this._findAutoClosingPairs(e)),n&&(e[0]._isTracked=!0);const o=[],r=[],h=this._model.pushEditOperations(this.getSelections(),e,(t=>{if(n)for(let i=0,e=n.length;i0&&this._pushAutoClosedAction(o,r)}_executeEdit(t,i,e,s=0){if(this.context.cursorConfig.readOnly)return;const n=wF.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),t()}catch(t){Bi(t)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(i,e,s,n,!1)&&this.revealPrimary(i,e,!1,0,!0,0)}getAutoClosedCharacters(){return vF.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(t){this._compositionState=new kF(this._model,this.getSelections())}endComposition(t,i){const e=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit((()=>{"keyboard"===i&&this._executeEditOperation(UC.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,e,this.getSelections(),this.getAutoClosedCharacters()))}),t,i)}type(t,i,e){this._executeEdit((()=>{if("keyboard"===e){const t=i.length;let e=0;for(;e{this._executeEditOperation(UC.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),i,e,s,n))}),t,o);else if(0!==n){const i=this.getSelections().map((t=>{const i=t.getPosition();return new Ls(i.lineNumber,i.column+n,i.lineNumber,i.column+n)}));this.setSelections(t,o,i,0)}}paste(t,i,e,s,n){this._executeEdit((()=>{this._executeEditOperation(UC.paste(this.context.cursorConfig,this._model,this.getSelections(),i,e,s||[]))}),t,n,4)}cut(t,i){this._executeEdit((()=>{this._executeEditOperation(LC.cut(this.context.cursorConfig,this._model,this.getSelections()))}),t,i)}executeCommand(t,i,e){this._executeEdit((()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new bC(0,[i],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),t,e)}executeCommands(t,i,e){this._executeEdit((()=>{this._executeEditOperation(new bC(0,i,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),t,e)}}class wF{static from(t,i){return new wF(t.getVersionId(),i.getCursorStates())}constructor(t,i){this.modelVersionId=t,this.cursorState=i}equals(t){if(!t)return!1;if(this.modelVersionId!==t.modelVersionId)return!1;if(this.cursorState.length!==t.cursorState.length)return!1;for(let i=0,e=this.cursorState.length;i=i.length)return!1;if(!i[e].strictContainsRange(t[e]))return!1}return!0}}class bF{static executeCommands(t,i,e){const s={model:t,selectionsBefore:i,trackedRanges:[],trackedRangesDirection:[]},n=this._innerExecuteCommands(s,e);for(let t=0,i=s.trackedRanges.length;t0&&(o[0]._isTracked=!0);let r=t.model.pushEditOperations(t.selectionsBefore,o,(e=>{const s=[];for(let i=0;it.identifier.minor-i.identifier.minor,o=[];for(let e=0;e0?(s[e].sort(n),o[e]=i[e].computeCursorState(t.model,{getInverseEditOperations:()=>s[e],getTrackedSelection:i=>{const e=parseInt(i,10),s=t.model._getTrackedRange(t.trackedRanges[e]);return 0===t.trackedRangesDirection[e]?new Ls(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn):new Ls(s.endLineNumber,s.endColumn,s.startLineNumber,s.startColumn)}})):o[e]=t.selectionsBefore[e];return o}));r||(r=t.selectionsBefore);const h=[];for(const t in n)n.hasOwnProperty(t)&&h.push(parseInt(t,10));h.sort(((t,i)=>i-t));for(const t of h)r.splice(t,1);return r}static _arrayIsEmpty(t){for(let i=0,e=t.length;i{Ms.isEmpty(t)&&""===o||s.push({identifier:{major:i,minor:n++},range:t,text:o,forceMoveMarkers:r,isAutoWhitespaceEdit:e.insertsAutoWhitespace})};let r=!1;const h={addEditOperation:o,addTrackedEditOperation:(t,i,e)=>{r=!0,o(t,i,e)},trackSelection:(i,e)=>{const s=Ls.liftSelection(i);let n;if(s.isEmpty())if("boolean"==typeof e)n=e?2:3;else{const i=t.model.getLineMaxColumn(s.startLineNumber);n=s.startColumn===i?2:3}else n=1;const o=t.trackedRanges.length,r=t.model._setTrackedRange(null,s,n);return t.trackedRanges[o]=r,t.trackedRangesDirection[o]=s.getDirection(),o.toString()}};try{e.getEditOperations(t.model,h)}catch(t){return Bi(t),{operations:[],hadTrackedEditOperation:!1}}return{operations:s,hadTrackedEditOperation:r}}static _getLoserCursorMap(t){(t=t.slice(0)).sort(((t,i)=>-Ms.compareRangesUsingEnds(t.range,i.range)));const i={};for(let e=1;en.identifier.major?s.identifier.major:n.identifier.major,i[o.toString()]=!0;for(let i=0;i0&&e--}}return i}}class yF{constructor(t,i,e){this.text=t,this.startSelection=i,this.endSelection=e}}class kF{static _capture(t,i){const e=[];for(const s of i){if(s.startLineNumber!==s.endLineNumber)return null;e.push(new yF(t.getLineContent(s.startLineNumber),s.startColumn-1,s.endColumn-1))}return e}constructor(t,i){this._original=kF._capture(t,i)}deduceOutcome(t,i){if(!this._original)return null;const e=kF._capture(t,i);if(!e)return null;if(this._original.length!==e.length)return null;const s=[];for(let t=0,i=this._original.length;tIg,tokenizeEncoded:(t,i,e)=>Ng(0,e)};function CF(t,i,e,s,n,o,r){let h="
",c=s,a=0,l=!0;for(let u=0,d=i.getCount();u0;)r&&l?(f+=" ",l=!1):(f+=" ",l=!0),t--;break}case 60:f+="<",l=!1;break;case 62:f+=">",l=!1;break;case 38:f+="&",l=!1;break;case 0:f+="�",l=!1;break;case 65279:case 8232:case 8233:case 133:f+="�",l=!1;break;case 13:f+="​",l=!1;break;case 32:r&&l?(f+=" ",l=!1):(f+=" ",l=!0);break;default:f+=String.fromCharCode(i),l=!1}}if(h+=`${f}`,d>n||c>=n)break}return h+="
",h}function SF(t,i,e){let s='
';const n=Xn(t);let o=e.getInitialState();for(let t=0,r=n.length;t0&&(s+="
");const h=e.tokenizeEncoded(r,!0,o);Pg.convertToEndOffset(h.tokens,r.length);const c=new Pg(h.tokens,r,i).inflate();let a=0;for(let t=0,i=c.getCount();t${Kn(r.substring(a,e))}`,a=e}o=h.endState}return s+="
",s}class DF{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(t){this._hasPending=!0,this._inserts.push(t)}change(t){this._hasPending=!0,this._changes.push(t)}remove(t){this._hasPending=!0,this._removes.push(t)}mustCommit(){return this._hasPending}commit(t){if(!this._hasPending)return;const i=this._inserts,e=this._changes,s=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],t._commitPendingChanges(i,e,s)}}class EF{constructor(t,i,e,s,n){this.id=t,this.afterLineNumber=i,this.ordinal=e,this.height=s,this.minWidth=n,this.prefixSum=0}}class AF{constructor(t,i,e,s){this._instanceId=Oo(++AF.INSTANCE_COUNT),this._pendingChanges=new DF,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._lineHeight=i,this._paddingTop=e,this._paddingBottom=s}static findInsertionIndex(t,i,e){let s=0,n=t.length;for(;s>>1;i===t[o].afterLineNumber?e{i=!0,t|=0,e|=0,s|=0,n|=0;const o=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new EF(o,t,e,s,n)),o},changeOneWhitespace:(t,e,s)=>{i=!0,this._pendingChanges.change({id:t,newAfterLineNumber:e|=0,newHeight:s|=0})},removeWhitespace:t=>{i=!0,this._pendingChanges.remove({id:t})}})}finally{this._pendingChanges.commit(this)}return i}_commitPendingChanges(t,i,e){if((t.length>0||e.length>0)&&(this._minWidth=-1),t.length+i.length+e.length<=1){for(const i of t)this._insertWhitespace(i);for(const t of i)this._changeOneWhitespace(t.id,t.newAfterLineNumber,t.newHeight);for(const t of e){const i=this._findWhitespaceIndex(t.id);-1!==i&&this._removeWhitespace(i)}return}const s=new Set;for(const t of e)s.add(t.id);const n=new Map;for(const t of i)n.set(t.id,t);const o=t=>{const i=[];for(const e of t)if(!s.has(e.id)){if(n.has(e.id)){const t=n.get(e.id);e.afterLineNumber=t.newAfterLineNumber,e.height=t.newHeight}i.push(e)}return i},r=o(this._arr).concat(o(t));r.sort(((t,i)=>t.afterLineNumber===i.afterLineNumber?t.ordinal-i.ordinal:t.afterLineNumber-i.afterLineNumber)),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(t){const i=AF.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(i,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,i-1)}_findWhitespaceIndex(t){const i=this._arr;for(let e=0,s=i.length;ei&&(this._arr[e].afterLineNumber-=i-t+1)}}onLinesInserted(t,i){this._checkPendingChanges(),this._lineCount+=(i|=0)-(t|=0)+1;for(let e=0,s=this._arr.length;e=i.length||i[n+1].afterLineNumber>=t)return n;e=n+1|0}else s=n-1|0}return-1}_findFirstWhitespaceAfterLineNumber(t){const i=this._findLastWhitespaceBeforeLineNumber(t|=0)+1;return i1?this._lineHeight*(t-1):0,e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(t-(i?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(t,i=!1){return this._checkPendingChanges(),this._lineHeight*(t|=0)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(t+(i?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let t=0;for(let i=0,e=this._arr.length;ithis.getLinesTotalHeight()}isInTopPadding(t){return 0!==this._paddingTop&&(this._checkPendingChanges(),t=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(t){if(this._checkPendingChanges(),(t|=0)<0)return 1;const i=0|this._lineCount,e=this._lineHeight;let s=1,n=i;for(;s=o+e)s=i+1;else{if(t>=o)return i;n=i}}return s>i?i:s}getLinesViewportData(t,i){this._checkPendingChanges(),i|=0;const e=this._lineHeight,s=0|this.getLineNumberAtOrAfterVerticalOffset(t|=0),n=0|this.getVerticalOffsetForLineNumber(s);let o=0|this._lineCount,r=0|this.getFirstWhitespaceIndexAfterLineNumber(s);const h=0|this.getWhitespacesCount();let c,a;-1===r?(r=h,a=o+1,c=0):(a=0|this.getAfterLineNumberForWhitespaceIndex(r),c=0|this.getHeightForWhitespaceIndex(r));let l=n,u=l;const d=5e5;let f=0;n>=d&&(f=Math.floor(n/d)*d,f=Math.floor(f/e)*e,u-=f);const p=[],g=t+(i-t)/2;let m=-1;for(let t=s;t<=o;t++){for(-1===m&&(l<=g&&gg)&&(m=t),l+=e,p[t-s]=u,u+=e;a===t;)u+=c,l+=c,r++,r>=h?a=o+1:(a=0|this.getAfterLineNumberForWhitespaceIndex(r),c=0|this.getHeightForWhitespaceIndex(r));if(l>=i){o=t;break}}-1===m&&(m=o);const w=0|this.getVerticalOffsetForLineNumber(o);let v=s,b=o;return vi&&b--,{bigNumbersDelta:f,startLineNumber:s,endLineNumber:o,relativeVerticalOffset:p,centeredLineNumber:m,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:b}}getVerticalOffsetForWhitespaceIndex(t){this._checkPendingChanges();const i=this.getAfterLineNumberForWhitespaceIndex(t|=0);let e,s;return e=i>=1?this._lineHeight*i:0,s=t>0?this.getWhitespacesAccumulatedHeight(t-1):0,e+s+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(t){this._checkPendingChanges(),t|=0;let i=0,e=this.getWhitespacesCount()-1;if(e<0)return-1;if(t>=this.getVerticalOffsetForWhitespaceIndex(e)+this.getHeightForWhitespaceIndex(e))return-1;for(;i=n+this.getHeightForWhitespaceIndex(s))i=s+1;else{if(t>=n)return s;e=s}}return i}getWhitespaceAtVerticalOffset(t){this._checkPendingChanges();const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(t|=0);if(i<0)return null;if(i>=this.getWhitespacesCount())return null;const e=this.getVerticalOffsetForWhitespaceIndex(i);if(e>t)return null;const s=this.getHeightForWhitespaceIndex(i);return{id:this.getIdForWhitespaceIndex(i),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(i),verticalOffset:e,height:s}}getWhitespaceViewportData(t,i){this._checkPendingChanges(),i|=0;const e=this.getWhitespaceIndexAtOrAfterVerticallOffset(t|=0),s=this.getWhitespacesCount()-1;if(e<0)return[];const n=[];for(let t=e;t<=s;t++){const e=this.getVerticalOffsetForWhitespaceIndex(t),s=this.getHeightForWhitespaceIndex(t);if(e>=i)break;n.push({id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:e,height:s})}return n}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(t){return this._checkPendingChanges(),this._arr[t|=0].id}getAfterLineNumberForWhitespaceIndex(t){return this._checkPendingChanges(),this._arr[t|=0].afterLineNumber}getHeightForWhitespaceIndex(t){return this._checkPendingChanges(),this._arr[t|=0].height}}AF.INSTANCE_COUNT=0;class MF{constructor(t,i,e,s){(t|=0)<0&&(t=0),(i|=0)<0&&(i=0),(e|=0)<0&&(e=0),(s|=0)<0&&(s=0),this.width=t,this.contentWidth=i,this.scrollWidth=Math.max(t,i),this.height=e,this.contentHeight=s,this.scrollHeight=Math.max(e,s)}equals(t){return this.width===t.width&&this.contentWidth===t.contentWidth&&this.height===t.height&&this.contentHeight===t.contentHeight}}class LF extends te{constructor(t,i){super(),this._onDidContentSizeChange=this._register(new de),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new MF(0,0,0,0),this._scrollable=this._register(new xk({forceIntegerValues:!0,smoothScrollDuration:t,scheduleAtNextAnimationFrame:i})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(t){this._scrollable.setSmoothScrollDuration(t)}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}getScrollDimensions(){return this._dimensions}setScrollDimensions(t){if(this._dimensions.equals(t))return;const i=this._dimensions;this._dimensions=t,this._scrollable.setScrollDimensions({width:t.width,scrollWidth:t.scrollWidth,height:t.height,scrollHeight:t.scrollHeight},!0),(i.contentWidth!==t.contentWidth||i.contentHeight!==t.contentHeight)&&this._onDidContentSizeChange.fire(new sF(i.contentWidth,i.contentHeight,t.contentWidth,t.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(t){this._scrollable.setScrollPositionNow(t)}setScrollPositionSmooth(t){this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class FF extends te{constructor(t,i,e){super(),this._configuration=t;const s=this._configuration.options,n=s.get(143),o=s.get(83);this._linesLayout=new AF(i,s.get(66),o.top,o.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new LF(0,e)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new MF(n.contentWidth,0,n.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(113)?125:0)}onConfigurationChanged(t){const i=this._configuration.options;if(t.hasChanged(66)&&this._linesLayout.setLineHeight(i.get(66)),t.hasChanged(83)){const t=i.get(83);this._linesLayout.setPadding(t.top,t.bottom)}if(t.hasChanged(143)){const t=i.get(143),e=t.contentWidth,s=t.height,n=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new MF(e,n.contentWidth,s,this._getContentHeight(e,s,n.contentWidth)))}else this._updateHeight();t.hasChanged(113)&&this._configureSmoothScrollDuration()}onFlushed(t){this._linesLayout.onFlushed(t)}onLinesDeleted(t,i){this._linesLayout.onLinesDeleted(t,i)}onLinesInserted(t,i){this._linesLayout.onLinesInserted(t,i)}_getHorizontalScrollbarHeight(t,i){const e=this._configuration.options.get(102);return 2===e.horizontal||t>=i?0:e.horizontalScrollbarSize}_getContentHeight(t,i,e){const s=this._configuration.options;let n=this._linesLayout.getLinesTotalHeight();return s.get(104)?n+=Math.max(0,i-s.get(66)-s.get(83).bottom):s.get(102).ignoreHorizontalScrollbarInContentHeight||(n+=this._getHorizontalScrollbarHeight(t,e)),n}_updateHeight(){const t=this._scrollable.getScrollDimensions(),i=t.width,e=t.height;this._scrollable.setScrollDimensions(new MF(i,t.contentWidth,e,this._getContentHeight(i,e,t.contentWidth)))}getCurrentViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getCurrentScrollPosition();return new im(i.scrollTop,i.scrollLeft,t.width,t.height)}getFutureViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getFutureScrollPosition();return new im(i.scrollTop,i.scrollLeft,t.width,t.height)}_computeContentWidth(){const t=this._configuration.options,i=this._maxLineWidth,e=t.get(144),s=t.get(50),n=t.get(143);if(e.isViewportWrapping){const e=t.get(72);return i>n.contentWidth+s.typicalHalfwidthCharacterWidth&&e.enabled&&"right"===e.side?i+n.verticalScrollbarWidth:i}{const e=t.get(103)*s.typicalHalfwidthCharacterWidth,o=this._linesLayout.getWhitespaceMinWidth();return Math.max(i+e+n.verticalScrollbarWidth,o,this._overlayWidgetsMinWidth)}}setMaxLineWidth(t){this._maxLineWidth=t,this._updateContentWidth()}setOverlayWidgetsMinWidth(t){this._overlayWidgetsMinWidth=t,this._updateContentWidth()}_updateContentWidth(){const t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new MF(t.width,this._computeContentWidth(),t.height,t.contentHeight)),this._updateHeight()}saveState(){const t=this._scrollable.getFutureScrollPosition(),i=t.scrollTop,e=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(i);return{scrollTop:i,scrollTopWithoutViewZones:i-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(e),scrollLeft:t.scrollLeft}}changeWhitespace(t){const i=this._linesLayout.changeWhitespace(t);return i&&this.onHeightMaybeChanged(),i}getVerticalOffsetForLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetForLineNumber(t,i)}getVerticalOffsetAfterLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(t,i)}isAfterLines(t){return this._linesLayout.isAfterLines(t)}isInTopPadding(t){return this._linesLayout.isInTopPadding(t)}isInBottomPadding(t){return this._linesLayout.isInBottomPadding(t)}getLineNumberAtVerticalOffset(t){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t)}getWhitespaceAtVerticalOffset(t){return this._linesLayout.getWhitespaceAtVerticalOffset(t)}getLinesViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(t.top,t.top+t.height)}getLinesViewportDataAtScrollTop(t){const i=this._scrollable.getScrollDimensions();return t+i.height>i.scrollHeight&&(t=i.scrollHeight-i.height),t<0&&(t=0),this._linesLayout.getLinesViewportData(t,t+i.height)}getWhitespaceViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(t.top,t.top+t.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}setScrollPosition(t,i){1===i?this._scrollable.setScrollPositionNow(t):this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(t,i){const e=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:e.scrollLeft+t,scrollTop:e.scrollTop+i})}}class TF{constructor(t,i,e,s,n){this.editorId=t,this.model=i,this.configuration=e,this._linesCollection=s,this._coordinatesConverter=n,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(t){const i=t.id;let e=this._decorationsCache[i];if(!e){const s=t.range,n=t.options;let o;if(n.isWholeLine){const t=this._coordinatesConverter.convertModelPositionToViewPosition(new As(s.startLineNumber,1),0,!1,!0),i=this._coordinatesConverter.convertModelPositionToViewPosition(new As(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber)),1);o=new Ms(t.lineNumber,t.column,i.lineNumber,i.column)}else o=this._coordinatesConverter.convertModelRangeToViewRange(s,1);e=new hm(o,n),this._decorationsCache[i]=e}return e}getMinimapDecorationsInRange(t){return this._getDecorationsInRange(t,!0,!1).decorations}getDecorationsViewportData(t){let i=null!==this._cachedModelDecorationsResolver;return i=i&&t.equalsRange(this._cachedModelDecorationsResolverViewRange),i||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(t,!1,!1),this._cachedModelDecorationsResolverViewRange=t),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(t,i=!1,e=!1){const s=new Ms(t,this._linesCollection.getViewLineMinColumn(t),t,this._linesCollection.getViewLineMaxColumn(t));return this._getDecorationsInRange(s,i,e).inlineDecorations[0]}_getDecorationsInRange(t,i,e){const s=this._linesCollection.getDecorationsInRange(t,this.editorId,ki(this.configuration.options),i,e),n=t.startLineNumber,o=t.endLineNumber,r=[];let h=0;const c=[];for(let t=n;t<=o;t++)c[t-n]=[];for(let t=0,i=s.length;t1===t))}function IF(t,i){return _F(t,i.range,(t=>2===t))}function _F(t,i,e){for(let s=i.startLineNumber;s<=i.endLineNumber;s++){const n=t.tokenization.getLineTokens(s),o=s===i.endLineNumber;let r=s===i.startLineNumber?n.findTokenIndexAtOffset(i.startColumn-1):0;for(;ri.endColumn-1);){if(!e(n.getStandardTokenType(r)))return!1;r++}}return!0}function NF(t,i){return null===t?i?PF.INSTANCE:$F.INSTANCE:new BF(t,i)}class BF{constructor(t,i){this._projectionData=t,this._isVisible=i}isVisible(){return this._isVisible}setVisible(t){return this._isVisible=t,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(t,i,e){this._assertVisible();const s=e>0?this._projectionData.breakOffsets[e-1]:0,n=this._projectionData.breakOffsets[e];let o;if(null!==this._projectionData.injectionOffsets){const e=this._projectionData.injectionOffsets.map(((t,i)=>new XM(0,0,t+1,this._projectionData.injectionOptions[i],0)));o=XM.applyInjectedText(t.getLineContent(i),e).substring(s,n)}else o=t.getValueInRange({startLineNumber:i,startColumn:s+1,endLineNumber:i,endColumn:n+1});return e>0&&(o=jF(this._projectionData.wrappedTextIndentLength)+o),o}getViewLineLength(t,i,e){return this._assertVisible(),this._projectionData.getLineLength(e)}getViewLineMinColumn(t,i,e){return this._assertVisible(),this._projectionData.getMinOutputOffset(e)+1}getViewLineMaxColumn(t,i,e){return this._assertVisible(),this._projectionData.getMaxOutputOffset(e)+1}getViewLineData(t,i,e){const s=new Array;return this.getViewLinesData(t,i,e,1,0,[!0],s),s[0]}getViewLinesData(t,i,e,s,n,o,r){this._assertVisible();const h=this._projectionData,c=h.injectionOffsets,a=h.injectionOptions;let l,u=null;if(c){u=[];let t=0,i=0;for(let e=0;e0?h.breakOffsets[e-1]:0,o=h.breakOffsets[e];for(;io)break;if(n0?h.wrappedTextIndentLength:0,r=i+Math.max(l-n,0),c=i+Math.min(u-n,o-n);r!==c&&s.push(new rm(r,c,t.inlineClassName,t.inlineClassNameAffectsLetterSpacing))}}if(!(u<=o))break;t+=r,i++}}}l=c?t.tokenization.getLineTokens(i).withInserted(c.map(((t,i)=>({offset:t,text:a[i].content,tokenMetadata:Pg.defaultTokenMetadata})))):t.tokenization.getLineTokens(i);for(let t=e;t0?s.breakOffsets[e-1]:0,s.breakOffsets[e],e>0?s.wrappedTextIndentLength:0);let o=n.getLineContent();e>0&&(o=jF(s.wrappedTextIndentLength)+o);const r=this._projectionData.getMinOutputOffset(e)+1,h=o.length+1,c=e+1=WF.length)for(let i=1;i<=t;i++)WF[i]=zF(i);return WF[t]}function zF(t){return new Array(t+1).join(" ")}class HF{constructor(t,i,e,s,n,o,r,h,c,a){this._editorId=t,this.model=i,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=e,this._monospaceLineBreaksComputerFactory=s,this.fontInfo=n,this.tabSize=o,this.wrappingStrategy=r,this.wrappingColumn=h,this.wrappingIndent=c,this.wordBreak=a,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new qF(this)}_constructLines(t,i){this.modelLineProjections=[],t&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const e=this.model.getLinesContent(),s=this.model.getInjectedTextDecorations(this._editorId),n=e.length,o=this.createLineBreaksComputer(),r=new _(XM.fromDecorations(s));for(let t=0;ti.lineNumber===t+1));o.addRequest(e[t],s,i?i[t]:null)}const h=o.finalize(),c=[],a=this.hiddenAreasDecorationIds.map((t=>this.model.getDecorationRange(t))).sort(Ms.compareRangesUsingStarts);let l=1,u=0,d=-1,f=d+1=l&&i<=u));c[t]=e.getViewLineCount(),this.modelLineProjections[t]=e}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new xf(c)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((t=>this.model.getDecorationRange(t)))}setHiddenAreas(t){const i=function(t){if(0===t.length)return[];const i=t.slice();i.sort(Ms.compareRangesUsingStarts);const e=[];let s=i[0].startLineNumber,n=i[0].endLineNumber;for(let t=1,o=i.length;tn+1?(e.push(new Ms(s,1,n,1)),s=o.startLineNumber,n=o.endLineNumber):o.endLineNumber>n&&(n=o.endLineNumber)}return e.push(new Ms(s,1,n,1)),e}(t.map((t=>this.model.validateRange(t)))),e=this.hiddenAreasDecorationIds.map((t=>this.model.getDecorationRange(t))).sort(Ms.compareRangesUsingStarts);if(i.length===e.length){let t=!1;for(let s=0;s({range:t,options:AL.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,s);const n=i;let o=1,r=0,h=-1,c=h+1=o&&i<=r?this.modelLineProjections[t].isVisible()&&(this.modelLineProjections[t]=this.modelLineProjections[t].setVisible(!1),e=!0):(a=!0,this.modelLineProjections[t].isVisible()||(this.modelLineProjections[t]=this.modelLineProjections[t].setVisible(!0),e=!0)),e){const i=this.modelLineProjections[t].getViewLineCount();this.projectedModelLineLineCounts.setValue(t,i)}}return a||this.setHiddenAreas([]),!0}modelPositionIsVisible(t,i){return!(t<1||t>this.modelLineProjections.length)&&this.modelLineProjections[t-1].isVisible()}getModelLineViewLineCount(t){return t<1||t>this.modelLineProjections.length?1:this.modelLineProjections[t-1].getViewLineCount()}setTabSize(t){return this.tabSize!==t&&(this.tabSize=t,this._constructLines(!1,null),!0)}setWrappingSettings(t,i,e,s,n){const o=this.fontInfo.equals(t),r=this.wrappingStrategy===i,h=this.wrappingColumn===e,c=this.wrappingIndent===s,a=this.wordBreak===n;if(o&&r&&h&&c&&a)return!1;const l=o&&r&&!h&&c&&a;this.fontInfo=t,this.wrappingStrategy=i,this.wrappingColumn=e,this.wrappingIndent=s,this.wordBreak=n;let u=null;if(l){u=[];for(let t=0,i=this.modelLineProjections.length;t2&&!this.modelLineProjections[i-2].isVisible(),o=1===i?1:this.projectedModelLineLineCounts.getPrefixSum(i-1)+1;let r=0;const h=[],c=[];for(let t=0,i=s.length;tr?(c=this.projectedModelLineLineCounts.getPrefixSum(i-1)+1,a=c+r-1,d=a+1,f=d+(n-r)-1,h=!0):ni?i:0|t}getActiveIndentGuide(t,i,e){t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i),e=this._toValidViewLineNumber(e);const s=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),n=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),o=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.model.guides.getActiveIndentGuide(s.lineNumber,n.lineNumber,o.lineNumber),h=this.convertModelPositionToViewPosition(r.startLineNumber,1),c=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:h.lineNumber,endLineNumber:c.lineNumber,indent:r.indent}}getViewLineInfo(t){t=this._toValidViewLineNumber(t);const i=this.projectedModelLineLineCounts.getIndexOf(t-1);return new VF(i.index+1,i.remainder)}getMinColumnOfViewLine(t){return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(t){return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(t){const i=this.modelLineProjections[t.modelLineNumber-1],e=i.getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx),s=i.getModelColumnOfViewPosition(t.modelLineWrappedLineIdx,e);return new As(t.modelLineNumber,s)}getModelEndPositionOfViewLine(t){const i=this.modelLineProjections[t.modelLineNumber-1],e=i.getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx),s=i.getModelColumnOfViewPosition(t.modelLineWrappedLineIdx,e);return new As(t.modelLineNumber,s)}getViewLineInfosGroupedByModelRanges(t,i){const e=this.getViewLineInfo(t),s=this.getViewLineInfo(i),n=new Array;let o=this.getModelStartPositionOfViewLine(e),r=new Array;for(let t=e.modelLineNumber;t<=s.modelLineNumber;t++){const i=this.modelLineProjections[t-1];if(i.isVisible()){const n=t===e.modelLineNumber?e.modelLineWrappedLineIdx:0,o=t===s.modelLineNumber?s.modelLineWrappedLineIdx+1:i.getViewLineCount();for(let i=n;i{if(-1!==t.forWrappedLinesAfterColumn&&this.modelLineProjections[s.modelLineNumber-1].getViewPositionOfModelPosition(0,t.forWrappedLinesAfterColumn).lineNumber>=s.modelLineWrappedLineIdx)return;if(-1!==t.forWrappedLinesBeforeOrAtColumn&&this.modelLineProjections[s.modelLineNumber-1].getViewPositionOfModelPosition(0,t.forWrappedLinesBeforeOrAtColumn).lineNumbers.modelLineWrappedLineIdx)return}const e=this.convertModelPositionToViewPosition(s.modelLineNumber,t.horizontalLine.endColumn),n=this.modelLineProjections[s.modelLineNumber-1].getViewPositionOfModelPosition(0,t.horizontalLine.endColumn);return n.lineNumber===s.modelLineWrappedLineIdx?new OS(t.visibleColumn,i,t.className,new IS(t.horizontalLine.top,e.column),-1,-1):n.lineNumber!!t)))}}return o}getViewLinesIndentGuides(t,i){t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const e=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),s=this.convertViewPositionToModelPosition(i,this.getViewLineMaxColumn(i));let n=[];const o=[],r=[],h=e.lineNumber-1,c=s.lineNumber-1;let a=null;for(let t=h;t<=c;t++){const i=this.modelLineProjections[t];if(i.isVisible()){const s=i.getViewLineNumberOfModelPosition(0,t===h?e.column:1),n=i.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(t+1)),c=n-s+1;let l=0;c>1&&1===i.getViewLineMinColumn(this.model,t+1,n)&&(l=0===s?1:2),o.push(c),r.push(l),null===a&&(a=new As(t+1,0))}else null!==a&&(n=n.concat(this.model.guides.getLinesIndentGuides(a.lineNumber,t)),a=null)}null!==a&&(n=n.concat(this.model.guides.getLinesIndentGuides(a.lineNumber,s.lineNumber)),a=null);const l=i-t+1,u=new Array(l);let d=0;for(let t=0,i=n.length;ti&&(u=!0,l=i-n+1),c.getViewLinesData(this.model,s+1,a,l,n-t,e,h),n+=l,u)break}return h}validateViewPosition(t,i,e){t=this._toValidViewLineNumber(t);const s=this.projectedModelLineLineCounts.getIndexOf(t-1),n=s.index,o=s.remainder,r=this.modelLineProjections[n],h=r.getViewLineMinColumn(this.model,n+1,o),c=r.getViewLineMaxColumn(this.model,n+1,o);ic&&(i=c);const a=r.getModelColumnOfViewPosition(o,i);return this.model.validatePosition(new As(n+1,a)).equals(e)?new As(t,i):this.convertModelPositionToViewPosition(e.lineNumber,e.column)}validateViewRange(t,i){const e=this.validateViewPosition(t.startLineNumber,t.startColumn,i.getStartPosition()),s=this.validateViewPosition(t.endLineNumber,t.endColumn,i.getEndPosition());return new Ms(e.lineNumber,e.column,s.lineNumber,s.column)}convertViewPositionToModelPosition(t,i){const e=this.getViewLineInfo(t),s=this.modelLineProjections[e.modelLineNumber-1].getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return this.model.validatePosition(new As(e.modelLineNumber,s))}convertViewRangeToModelRange(t){const i=this.convertViewPositionToModelPosition(t.startLineNumber,t.startColumn),e=this.convertViewPositionToModelPosition(t.endLineNumber,t.endColumn);return new Ms(i.lineNumber,i.column,e.lineNumber,e.column)}convertModelPositionToViewPosition(t,i,e=2,s=!1,n=!1){const o=this.model.validatePosition(new As(t,i)),r=o.lineNumber,h=o.column;let c=r-1,a=!1;if(n)for(;c0&&!this.modelLineProjections[c].isVisible();)c--,a=!0;if(0===c&&!this.modelLineProjections[c].isVisible())return new As(s?0:1,1);const l=1+this.projectedModelLineLineCounts.getPrefixSum(c);let u;return u=a?this.modelLineProjections[c].getViewPositionOfModelPosition(l,n?1:this.model.getLineMaxColumn(c+1),e):this.modelLineProjections[r-1].getViewPositionOfModelPosition(l,h,e),u}convertModelRangeToViewRange(t,i=0){if(t.isEmpty()){const e=this.convertModelPositionToViewPosition(t.startLineNumber,t.startColumn,i);return Ms.fromPositions(e)}{const i=this.convertModelPositionToViewPosition(t.startLineNumber,t.startColumn,1),e=this.convertModelPositionToViewPosition(t.endLineNumber,t.endColumn,0);return new Ms(i.lineNumber,i.column,e.lineNumber,e.column)}}getViewLineNumberOfModelPosition(t,i){let e=t-1;if(this.modelLineProjections[e].isVisible()){const t=1+this.projectedModelLineLineCounts.getPrefixSum(e);return this.modelLineProjections[e].getViewLineNumberOfModelPosition(t,i)}for(;e>0&&!this.modelLineProjections[e].isVisible();)e--;if(0===e&&!this.modelLineProjections[e].isVisible())return 1;const s=1+this.projectedModelLineLineCounts.getPrefixSum(e);return this.modelLineProjections[e].getViewLineNumberOfModelPosition(s,this.model.getLineMaxColumn(e+1))}getDecorationsInRange(t,i,e,s,n){const o=this.convertViewPositionToModelPosition(t.startLineNumber,t.startColumn),r=this.convertViewPositionToModelPosition(t.endLineNumber,t.endColumn);if(r.lineNumber-o.lineNumber<=t.endLineNumber-t.startLineNumber)return this.model.getDecorationsInRange(new Ms(o.lineNumber,1,r.lineNumber,r.column),i,e,s,n);let h=[];const c=o.lineNumber-1,a=r.lineNumber-1;let l=null;for(let t=c;t<=a;t++)if(this.modelLineProjections[t].isVisible())null===l&&(l=new As(t+1,t===c?o.column:1));else if(null!==l){const n=this.model.getLineMaxColumn(t);h=h.concat(this.model.getDecorationsInRange(new Ms(l.lineNumber,l.column,t,n),i,e,s)),l=null}null!==l&&(h=h.concat(this.model.getDecorationsInRange(new Ms(l.lineNumber,l.column,r.lineNumber,r.column),i,e,s)),l=null),h.sort(((t,i)=>{const e=Ms.compareRangesUsingStarts(t.range,i.range);return 0===e?t.idi.id?1:0:e}));const u=[];let d=0,f=null;for(const t of h){const i=t.id;f!==i&&(f=i,u[d++]=t)}return u}getInjectedTextAt(t){const i=this.getViewLineInfo(t.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].getInjectedTextAt(i.modelLineWrappedLineIdx,t.column)}normalizePosition(t,i){const e=this.getViewLineInfo(t.lineNumber);return this.modelLineProjections[e.modelLineNumber-1].normalizePosition(e.modelLineWrappedLineIdx,t,i)}getLineIndentColumn(t){const i=this.getViewLineInfo(t);return 0===i.modelLineWrappedLineIdx?this.model.getLineIndentColumn(i.modelLineNumber):0}}class VF{constructor(t,i){this.modelLineNumber=t,this.modelLineWrappedLineIdx=i}}class UF{constructor(t,i){this.modelRange=t,this.viewLines=i}}class qF{constructor(t){this._lines=t}convertViewPositionToModelPosition(t){return this._lines.convertViewPositionToModelPosition(t.lineNumber,t.column)}convertViewRangeToModelRange(t){return this._lines.convertViewRangeToModelRange(t)}validateViewPosition(t,i){return this._lines.validateViewPosition(t.lineNumber,t.column,i)}validateViewRange(t,i){return this._lines.validateViewRange(t,i)}convertModelPositionToViewPosition(t,i,e,s){return this._lines.convertModelPositionToViewPosition(t.lineNumber,t.column,i,e,s)}convertModelRangeToViewRange(t,i){return this._lines.convertModelRangeToViewRange(t,i)}modelPositionIsVisible(t){return this._lines.modelPositionIsVisible(t.lineNumber,t.column)}getModelLineViewLineCount(t){return this._lines.getModelLineViewLineCount(t)}getViewLineNumberOfModelPosition(t,i){return this._lines.getViewLineNumberOfModelPosition(t,i)}}class KF{constructor(t){this.model=t}dispose(){}createCoordinatesConverter(){return new GF(this)}getHiddenAreas(){return[]}setHiddenAreas(t){return!1}setTabSize(t){return!1}setWrappingSettings(t,i,e,s){return!1}createLineBreaksComputer(){const t=[];return{addRequest:()=>{t.push(null)},finalize:()=>t}}onModelFlushed(){}onModelLinesDeleted(t,i,e){return new KL(i,e)}onModelLinesInserted(t,i,e,s){return new GL(i,e)}onModelLineChanged(t,i,e){return[!1,new qL(i,1),null,null]}acceptVersionId(t){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(t,i,e){return{startLineNumber:t,endLineNumber:t,indent:0}}getViewLinesBracketGuides(t,i,e){return new Array(i-t+1).fill([])}getViewLinesIndentGuides(t,i){const e=i-t+1,s=new Array(e);for(let t=0;ti)}getModelLineViewLineCount(t){return 1}getViewLineNumberOfModelPosition(t,i){return t}}class ZF extends te{constructor(t,i,e,s,n,o,r,h,c){if(super(),this.languageConfigurationService=r,this._themeService=h,this._attachedView=c,this.hiddenAreasModel=new YF,this.previousHiddenAreas=[],this._editorId=t,this._configuration=i,this.model=e,this._eventDispatcher=new iF,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new pC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new pc((()=>this._updateConfigurationViewLineCountNow()),0)),this._hasFocus=!1,this._viewportStart=QF.create(this.model),this.model.isTooLargeForTokenization())this._lines=new KF(this.model);else{const t=this._configuration.options,i=t.get(50),e=t.get(137),o=t.get(144),r=t.get(136),h=t.get(128);this._lines=new HF(this._editorId,this.model,s,n,i,this.model.getOptions().tabSize,e,o.wrappingColumn,r,h)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new mF(e,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new FF(this._configuration,this.getLineCount(),o)),this._register(this.viewLayout.onDidScroll((t=>{t.scrollTopChanged&&this._handleVisibleLinesChanged(),t.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new QL(t)),this._eventDispatcher.emitOutgoingEvent(new oF(t.oldScrollWidth,t.oldScrollLeft,t.oldScrollHeight,t.oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop))}))),this._register(this.viewLayout.onDidContentSizeChange((t=>{this._eventDispatcher.emitOutgoingEvent(t)}))),this._decorations=new TF(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast((t=>{try{const i=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(i,t)}finally{this._eventDispatcher.endEmitViewEvents()}}))),this._register(iD.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new XL)}))),this._register(this._themeService.onDidColorThemeChange((t=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new JL(t))}))),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(t){this._eventDispatcher.addViewEventHandler(t)}removeViewEventHandler(t){this._eventDispatcher.removeViewEventHandler(t)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const t=this.viewLayout.getLinesViewportData(),i=new Ms(t.startLineNumber,this.getLineMinColumn(t.startLineNumber),t.endLineNumber,this.getLineMaxColumn(t.endLineNumber));return this._toModelVisibleRanges(i)}visibleLinesStabilized(){const t=this.getModelVisibleRanges();this._attachedView.setVisibleLines(t,!0)}_handleVisibleLinesChanged(){const t=this.getModelVisibleRanges();this._attachedView.setVisibleLines(t,!1)}setHasFocus(t){this._hasFocus=t,this._cursor.setHasFocus(t),this._eventDispatcher.emitSingleViewEvent(new HL(t)),this._eventDispatcher.emitOutgoingEvent(new nF(!t,t))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new BL)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new PL)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const t=new As(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),i=this.coordinatesConverter.convertViewPositionToModelPosition(t);return new tT(i,this._viewportStart.startLineDelta)}return new tT(null,0)}_onConfigurationChanged(t,i){const e=this._captureStableViewport(),s=this._configuration.options,n=s.get(50),o=s.get(137),r=s.get(144),h=s.get(136),c=s.get(128);this._lines.setWrappingSettings(n,o,r.wrappingColumn,h,c)&&(t.emitViewEvent(new zL),t.emitViewEvent(new UL),t.emitViewEvent(new jL(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),i.hasChanged(90)&&(this._decorations.reset(),t.emitViewEvent(new jL(null))),i.hasChanged(97)&&(this._decorations.reset(),t.emitViewEvent(new jL(null))),t.emitViewEvent(new $L(i)),this.viewLayout.onConfigurationChanged(i),e.recoverViewportStart(this.coordinatesConverter,this.viewLayout),pC.shouldRecreate(i)&&(this.cursorConfig=new pC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText((t=>{try{const i=this._eventDispatcher.beginEmitViewEvents();let e=!1,s=!1;const n=t instanceof rL?t.rawContentChangedEvent.changes:t.changes,o=t instanceof rL?t.rawContentChangedEvent.versionId:null,r=this._lines.createLineBreaksComputer();for(const t of n)switch(t.changeType){case 4:for(let i=0;i!t.ownerId||t.ownerId===this._editorId))),r.addRequest(e,s,null)}break;case 2:{let i=null;t.injectedText&&(i=t.injectedText.filter((t=>!t.ownerId||t.ownerId===this._editorId))),r.addRequest(t.detail,i,null);break}}const h=r.finalize(),c=new _(h);for(const t of n)switch(t.changeType){case 1:this._lines.onModelFlushed(),i.emitViewEvent(new zL),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),e=!0;break;case 3:{const s=this._lines.onModelLinesDeleted(o,t.fromLineNumber,t.toLineNumber);null!==s&&(i.emitViewEvent(s),this.viewLayout.onLinesDeleted(s.fromLineNumber,s.toLineNumber)),e=!0;break}case 4:{const s=c.takeCount(t.detail.length),n=this._lines.onModelLinesInserted(o,t.fromLineNumber,t.toLineNumber,s);null!==n&&(i.emitViewEvent(n),this.viewLayout.onLinesInserted(n.fromLineNumber,n.toLineNumber)),e=!0;break}case 2:{const e=c.dequeue(),[n,r,h,a]=this._lines.onModelLineChanged(o,t.lineNumber,e);s=n,r&&i.emitViewEvent(r),h&&(i.emitViewEvent(h),this.viewLayout.onLinesInserted(h.fromLineNumber,h.toLineNumber)),a&&(i.emitViewEvent(a),this.viewLayout.onLinesDeleted(a.fromLineNumber,a.toLineNumber));break}}null!==o&&this._lines.acceptVersionId(o),this.viewLayout.onHeightMaybeChanged(),!e&&s&&(i.emitViewEvent(new UL),i.emitViewEvent(new jL(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const i=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&i){const t=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(t){const i=this.coordinatesConverter.convertModelPositionToViewPosition(t.getStartPosition()),e=this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber);this.viewLayout.setScrollPosition({scrollTop:e+this._viewportStart.startLineDelta},1)}}try{const i=this._eventDispatcher.beginEmitViewEvents();t instanceof rL&&i.emitOutgoingEvent(new fF(t.contentChangedEvent)),this._cursor.onModelContentChanged(i,t)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()}))),this._register(this.model.onDidChangeTokens((t=>{const i=[];for(let e=0,s=t.ranges.length;e{this._eventDispatcher.emitSingleViewEvent(new VL),this.cursorConfig=new pC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new dF(t))}))),this._register(this.model.onDidChangeLanguage((t=>{this.cursorConfig=new pC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new uF(t))}))),this._register(this.model.onDidChangeOptions((t=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const t=this._eventDispatcher.beginEmitViewEvents();t.emitViewEvent(new zL),t.emitViewEvent(new UL),t.emitViewEvent(new jL(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new pC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new pF(t))}))),this._register(this.model.onDidChangeDecorations((t=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new jL(t)),this._eventDispatcher.emitOutgoingEvent(new lF(t))})))}setHiddenAreas(t,i){var e;this.hiddenAreasModel.setHiddenAreas(i,t);const s=this.hiddenAreasModel.getMergedRanges();if(s===this.previousHiddenAreas)return;this.previousHiddenAreas=s;const n=this._captureStableViewport();let o=!1;try{const t=this._eventDispatcher.beginEmitViewEvents();o=this._lines.setHiddenAreas(s),o&&(t.emitViewEvent(new zL),t.emitViewEvent(new UL),t.emitViewEvent(new jL(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const i=null===(e=n.viewportStartModelPosition)||void 0===e?void 0:e.lineNumber,r=i&&s.some((t=>t.startLineNumber<=i&&i<=t.endLineNumber));r||n.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),o&&this._eventDispatcher.emitOutgoingEvent(new hF)}getVisibleRangesPlusViewportAboveBelow(){const t=this._configuration.options.get(143),i=this._configuration.options.get(66),e=Math.max(20,Math.round(t.height/i)),s=this.viewLayout.getLinesViewportData(),n=Math.max(1,s.completelyVisibleStartLineNumber-e),o=Math.min(this.getLineCount(),s.completelyVisibleEndLineNumber+e);return this._toModelVisibleRanges(new Ms(n,this.getLineMinColumn(n),o,this.getLineMaxColumn(o)))}getVisibleRanges(){const t=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(t)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(t){const i=this.coordinatesConverter.convertViewRangeToModelRange(t),e=this._lines.getHiddenAreas();if(0===e.length)return[i];const s=[];let n=0,o=i.startLineNumber,r=i.startColumn;const h=i.endLineNumber,c=i.endColumn;for(let t=0,i=e.length;th||(oi.toInlineDecoration(t)))]),new nm(o.minColumn,o.maxColumn,o.content,o.continuesWithWrappedLine,e,s,o.tokens,i,n,o.startVisibleColumn)}getViewLineData(t){return this._lines.getViewLineData(t)}getMinimapLinesRenderingData(t,i,e){const s=this._lines.getViewLinesData(t,i,e);return new em(this.getTabSize(),s)}getAllOverviewRulerDecorations(t){const i=this.model.getOverviewRulerDecorations(this._editorId,ki(this._configuration.options)),e=new JF;for(const s of i){const i=s.options,n=i.overviewRuler;if(!n)continue;const o=n.position;if(0===o)continue;const r=n.getColor(t.value),h=this.coordinatesConverter.getViewLineNumberOfModelPosition(s.range.startLineNumber,s.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(s.range.endLineNumber,s.range.endColumn);e.accept(r,i.zIndex,h,c,o)}return e.asArray}_invalidateDecorationsColorCache(){const t=this.model.getOverviewRulerDecorations();for(const i of t){const t=i.options.overviewRuler;null==t||t.invalidateCachedColor();const e=i.options.minimap;null==e||e.invalidateCachedColor()}}getValueInRange(t,i){const e=this.coordinatesConverter.convertViewRangeToModelRange(t);return this.model.getValueInRange(e,i)}getValueLengthInRange(t,i){const e=this.coordinatesConverter.convertViewRangeToModelRange(t);return this.model.getValueLengthInRange(e,i)}modifyPosition(t,i){const e=this.coordinatesConverter.convertViewPositionToModelPosition(t);return this.model.modifyPosition(e,i)}deduceModelPositionRelativeToViewPosition(t,i,e){const s=this.coordinatesConverter.convertViewPositionToModelPosition(t);2===this.model.getEOL().length&&(i<0?i-=e:i+=e);const n=this.model.getOffsetAt(s);return this.model.getPositionAt(n+i)}getPlainTextToCopy(t,i,e){const s=e?"\r\n":this.model.getEOL();(t=t.slice(0)).sort(Ms.compareRangesUsingStarts);let n=!1,o=!1;for(const i of t)i.isEmpty()?n=!0:o=!0;if(!o){if(!i)return"";const e=t.map((t=>t.startLineNumber));let n="";for(let t=0;t0&&e[t-1]===e[t]||(n+=this.model.getLineContent(e[t])+s);return n}if(n&&i){const i=[];let s=0;for(const n of t){const t=n.startLineNumber;n.isEmpty()?t!==s&&i.push(this.model.getLineContent(t)):i.push(this.model.getValueInRange(n,e?2:0)),s=t}return 1===i.length?i[0]:i}const r=[];for(const i of t)i.isEmpty()||r.push(this.model.getValueInRange(i,e?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(t,i){const e=this.model.getLanguageId();if(e===Ud)return null;if(1!==t.length)return null;let s=t[0];if(s.isEmpty()){if(!i)return null;const t=s.startLineNumber;s=new Ms(t,this.model.getLineMinColumn(t),t,this.model.getLineMaxColumn(t))}const n=this._configuration.options.get(50),o=this._getColorMap();let r;return/[:;\\\/<>]/.test(n.fontFamily)||n.fontFamily===Ri.fontFamily?r=Ri.fontFamily:(r=n.fontFamily,r=r.replace(/"/g,"'"),/[,']/.test(r)||/[+ ]/.test(r)&&(r=`'${r}'`),r=`${r}, ${Ri.fontFamily}`),{mode:e,html:`
`+this._getHTMLToCopy(s,o)+"
"}}_getHTMLToCopy(t,i){const e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn,r=this.getTabSize();let h="";for(let t=e;t<=n;t++){const c=this.model.tokenization.getLineTokens(t),a=c.getLineContent(),l=t===e?s-1:0,u=t===n?o-1:a.length;h+=""===a?"
":CF(a,c.inflate(),i,l,u,r,xt)}return h}_getColorMap(){const t=Zs.getColorMap(),i=["#000000"];if(t)for(let e=1,s=t.length;ethis._cursor.setStates(s,t,i,e)))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(t){this._cursor.setCursorColumnSelectData(t)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(t){this._cursor.setPrevEditOperationType(t)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(t,i,e=0){this._withViewEventsCollector((s=>this._cursor.setSelections(s,t,i,e)))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(t){this._withViewEventsCollector((i=>this._cursor.restoreState(i,t)))}_executeCursorEdit(t){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new aF):this._withViewEventsCollector(t)}executeEdits(t,i,e){this._executeCursorEdit((s=>this._cursor.executeEdits(s,t,i,e)))}startComposition(){this._executeCursorEdit((t=>this._cursor.startComposition(t)))}endComposition(t){this._executeCursorEdit((i=>this._cursor.endComposition(i,t)))}type(t,i){this._executeCursorEdit((e=>this._cursor.type(e,t,i)))}compositionType(t,i,e,s,n){this._executeCursorEdit((o=>this._cursor.compositionType(o,t,i,e,s,n)))}paste(t,i,e,s){this._executeCursorEdit((n=>this._cursor.paste(n,t,i,e,s)))}cut(t){this._executeCursorEdit((i=>this._cursor.cut(i,t)))}executeCommand(t,i){this._executeCursorEdit((e=>this._cursor.executeCommand(e,t,i)))}executeCommands(t,i){this._executeCursorEdit((e=>this._cursor.executeCommands(e,t,i)))}revealPrimaryCursor(t,i,e=!1){this._withViewEventsCollector((s=>this._cursor.revealPrimary(s,t,e,0,i,0)))}revealTopMostCursor(t){const i=this._cursor.getTopMostViewPosition(),e=new Ms(i.lineNumber,i.column,i.lineNumber,i.column);this._withViewEventsCollector((i=>i.emitViewEvent(new ZL(t,!1,e,null,0,!0,0))))}revealBottomMostCursor(t){const i=this._cursor.getBottomMostViewPosition(),e=new Ms(i.lineNumber,i.column,i.lineNumber,i.column);this._withViewEventsCollector((i=>i.emitViewEvent(new ZL(t,!1,e,null,0,!0,0))))}revealRange(t,i,e,s,n){this._withViewEventsCollector((o=>o.emitViewEvent(new ZL(t,!1,e,null,s,i,n))))}changeWhitespace(t){this.viewLayout.changeWhitespace(t)&&(this._eventDispatcher.emitSingleViewEvent(new tF),this._eventDispatcher.emitOutgoingEvent(new rF))}_withViewEventsCollector(t){try{return t(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(t,i){return this._lines.normalizePosition(t,i)}getLineIndentColumn(t){return this._lines.getLineIndentColumn(t)}}class QF{static create(t){const i=t._setTrackedRange(null,new Ms(1,1,1,1),1);return new QF(t,1,!1,i,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(t,i,e,s,n){this._model=t,this._viewLineNumber=i,this._isValid=e,this._modelTrackedRange=s,this._startLineDelta=n}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(t,i){const e=t.coordinatesConverter.convertViewPositionToModelPosition(new As(i,t.getLineMinColumn(i))),s=t.model._setTrackedRange(this._modelTrackedRange,new Ms(e.lineNumber,e.column,e.lineNumber,e.column),1),n=t.viewLayout.getVerticalOffsetForLineNumber(i),o=t.viewLayout.getCurrentScrollTop();this._viewLineNumber=i,this._isValid=!0,this._modelTrackedRange=s,this._startLineDelta=o-n}invalidate(){this._isValid=!1}}class JF{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(t,i,e,s,n){const o=this._asMap[t];if(o){const t=o.data,i=t[t.length-1];if(t[t.length-3]===n&&i+1>=e)return void(s>i&&(t[t.length-1]=s));t.push(n,e,s)}else{const o=new cm(t,i,[n,e,s]);this._asMap[t]=o,this.asArray.push(o)}}}class YF{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(t,i){const e=this.hiddenAreas.get(t);e&&XF(e,i)||(this.hiddenAreas.set(t,i),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const t=Array.from(this.hiddenAreas.values()).reduce(((t,i)=>function(t,i){const e=[];let s=0,n=0;for(;s0?this.wrappedTextIndentLength:0}getLineLength(t){let i=this.breakOffsets[t]-(t>0?this.breakOffsets[t-1]:0);return t>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(t){return this.getLineLength(t)}translateToInputOffset(t,i){t>0&&(i=Math.max(0,i-this.wrappedTextIndentLength));let e=0===t?i:this.breakOffsets[t-1]+i;if(null!==this.injectionOffsets)for(let t=0;tthis.injectionOffsets[t];t++)e0?this.breakOffsets[n-1]:0,0===i)if(t<=o)s=n-1;else{if(!(t>r))break;e=n+1}else if(t=r))break;e=n+1}}let r=t-o;return n>0&&(r+=this.wrappedTextIndentLength),new aT(n,r)}normalizeOutputPosition(t,i,e){if(null!==this.injectionOffsets){const s=this.outputPositionToOffsetInInputWithInjections(t,i),n=this.normalizeOffsetInInputWithInjectionsAroundInjections(s,e);if(n!==s)return this.offsetInInputWithInjectionsToOutputPosition(n,e)}if(0===e){if(t>0&&i===this.getMinOutputOffset(t))return new aT(t-1,this.getMaxOutputOffset(t-1))}else if(1===e&&t0&&(i=Math.max(0,i-this.wrappedTextIndentLength)),(t>0?this.breakOffsets[t-1]:0)+i}normalizeOffsetInInputWithInjectionsAroundInjections(t,i){const e=this.getInjectedTextAtOffset(t);if(!e)return t;if(2===i){if(t===e.offsetInInputWithInjections+e.length&&hT(this.injectionOptions[e.injectedTextIndex].cursorStops))return e.offsetInInputWithInjections+e.length;{let t=e.offsetInInputWithInjections;if(cT(this.injectionOptions[e.injectedTextIndex].cursorStops))return t;let i=e.injectedTextIndex-1;for(;i>=0&&this.injectionOffsets[i]===this.injectionOffsets[e.injectedTextIndex]&&!hT(this.injectionOptions[i].cursorStops)&&(t-=this.injectionOptions[i].content.length,!cT(this.injectionOptions[i].cursorStops));)i--;return t}}if(1===i||4===i){let t=e.offsetInInputWithInjections+e.length,i=e.injectedTextIndex;for(;i+1=0&&this.injectionOffsets[i-1]===this.injectionOffsets[i];)t-=this.injectionOptions[i-1].content.length,i--;return t}xh()}getInjectedText(t,i){const e=this.outputPositionToOffsetInInputWithInjections(t,i),s=this.getInjectedTextAtOffset(e);return s?{options:this.injectionOptions[s.injectedTextIndex]}:null}getInjectedTextAtOffset(t){const i=this.injectionOffsets,e=this.injectionOptions;if(null!==i){let s=0;for(let n=0;nt)break;if(t<=h)return{injectedTextIndex:n,offsetInInputWithInjections:r,length:o};s+=o}}}}function hT(t){return null==t||t===Pf.Right||t===Pf.Both}function cT(t){return null==t||t===Pf.Left||t===Pf.Both}class aT{constructor(t,i){this.outputLineIndex=t,this.outputOffset=i}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(t){return new As(t+this.outputLineIndex,this.outputOffset+1)}}class lT{static create(t){return new lT(t.get(132),t.get(131))}constructor(t,i){this.classifier=new uT(t,i)}createLineBreaksComputer(t,i,e,s,n){const o=[],r=[],h=[];return{addRequest:(t,i,e)=>{o.push(t),r.push(i),h.push(e)},finalize:()=>{const c=t.typicalFullwidthCharacterWidth/t.typicalHalfwidthCharacterWidth,a=[];for(let t=0,l=o.length;t=0&&t<256?this._asciiMap[t]:t>=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?3:this._map.get(t)||this._defaultValue}}let dT=[],fT=[];function pT(t,i,e,s,n,o,r,h){if(-1===n)return null;const c=e.length;if(c<=1)return null;const a="keepAll"===h,l=i.breakOffsets,u=i.breakOffsetsVisibleColumn,d=bT(e,s,n,o,r),f=n-d,p=dT,g=fT;let m=0,w=0,v=0,b=n;const y=l.length;let k=0;if(k>=0){let t=Math.abs(u[k]-b);for(;k+1=t)break;t=i,k++}}for(;ki&&(i=w,n=v);let r=0,h=0,d=0,x=0;if(n<=b){let v=n,y=0===i?0:e.charCodeAt(i-1),k=0===i?0:t.get(y),C=!0;for(let n=i;nw&&vT(0,k,c,l,a)&&(r=i,h=v),v+=u,v>b){i>w?(d=i,x=v-u):(d=n+1,x=v),v-h>f&&(r=0),C=!1;break}y=c,k=l}if(C){m>0&&(p[m]=l[l.length-1],g[m]=u[l.length-1],m++);break}}if(0===r){let c=n,l=e.charCodeAt(i),u=t.get(l),p=!1;for(let s=i-1;s>=w;s--){const i=s+1,n=e.charCodeAt(s);if(9===n){p=!0;break}let g,m;if(mo(n)?(s--,g=0,m=2):(g=t.get(n),m=Lo(n)?o:1),c<=b){if(0===d&&(d=i,x=c),c<=b-f)break;if(vT(0,g,l,u,a)){r=i,h=c;break}}c-=m,l=n,u=g}if(0!==r){const t=f-(x-h);if(t<=s){const i=e.charCodeAt(d);let n;n=go(i)?2:mT(i,x,s,o),t-n<0&&(r=0)}}if(p){k--;continue}}if(0===r&&(r=d,h=x),r<=w){const t=e.charCodeAt(w);go(t)?(r=w+2,h=v+2):(r=w+1,h=v+mT(t,v,s,o))}for(w=r,p[m]=r,v=h,g[m]=h,m++,b=h+f;k<0||k=C)break;C=t,k++}}return 0===m?null:(p.length=m,g.length=m,dT=i.breakOffsets,fT=i.breakOffsetsVisibleColumn,i.breakOffsets=p,i.breakOffsetsVisibleColumn=g,i.wrappedTextIndentLength=d,i)}function gT(t,i,e,s,n,o,r,h){const c=XM.applyInjectedText(i,e);let a,l;if(e&&e.length>0?(a=e.map((t=>t.options)),l=e.map((t=>t.column-1))):(a=null,l=null),-1===n)return a?new rT(l,a,[c.length],[],0):null;const u=c.length;if(u<=1)return a?new rT(l,a,[c.length],[],0):null;const d="keepAll"===h,f=bT(c,s,n,o,r),p=n-f,g=[],m=[];let w=0,v=0,b=0,y=n,k=c.charCodeAt(0),x=t.get(k),C=mT(k,0,s,o),S=1;go(k)&&(C+=1,k=c.charCodeAt(1),x=t.get(k),S++);for(let i=S;iy&&((0===v||C-b>p)&&(v=e,b=C-h),g[w]=v,m[w]=b,w++,y=b+p,v=0),k=n,x=r}return 0!==w||e&&0!==e.length?(g[w]=u,m[w]=C,new rT(l,a,g,m,f)):null}function mT(t,i,e,s){return 9===t?e-i%e:Lo(t)||t<32?s:1}function wT(t,i){return i-t%i}function vT(t,i,e,s,n){return 32!==e&&(2===i&&2!==s||1!==i&&1===s||!n&&3===i&&2!==s||!n&&3===s&&1!==i)}function bT(t,i,e,s,n){let o=0;if(0!==n){const r=to(t);if(-1!==r){for(let e=0;ee&&(o=0)}}return o}const yT=Mu("domLineBreaksComputer",{createHTML:t=>t});class kT{static create(t){return new kT(new WeakRef(t))}constructor(t){this.targetWindow=t}createLineBreaksComputer(t,i,e,s,n){const o=[],r=[];return{addRequest:(t,i)=>{o.push(t),r.push(i)},finalize:()=>function(t,i,e,s,n,o,r,h){var c;function a(t){const e=h[t];if(e){const s=XM.applyInjectedText(i[t],e),n=e.map((t=>t.options)),o=e.map((t=>t.column-1));return new rT(o,n,[s.length],[],0)}return null}if(-1===n){const t=[];for(let e=0,s=i.length;el?(r=0,c=0):a=l-t}const u=n.substr(r),f=xT(u,c,s,a,p,d);g[t]=r,m[t]=c,w[t]=u,v[t]=f[0],b[t]=f[1]}const y=p.build(),k=null!==(c=null==yT?void 0:yT.createHTML(y))&&void 0!==c?c:y;f.innerHTML=k,f.style.position="absolute",f.style.top="10000","keepAll"===r?(f.style.wordBreak="keep-all",f.style.overflowWrap="anywhere"):(f.style.wordBreak="inherit",f.style.overflowWrap="break-word"),t.document.body.appendChild(f);const x=document.createRange(),C=Array.prototype.slice.call(f.children,0),S=[];for(let t=0;tt.options)),c=l.map((t=>t.column-1))):(r=null,c=null),S[t]=new rT(c,r,i,o,s)}return t.document.body.removeChild(f),S}(K(this.targetWindow.deref()),o,t,i,e,s,n,r)}}}function xT(t,i,e,s,n,o){if(0!==o){const t=String(o);n.appendString('
');const r=t.length;let h=i,c=0;const a=[],l=[];let u=0");for(let i=0;i"),a[i]=c,l[i]=h;const s=u;u=i+1"),a[t.length]=c,l[t.length]=h,n.appendString("
"),[a,l]}function CT(t,i,e,s){if(e.length<=1)return null;const n=Array.prototype.slice.call(i.children,0),o=[];try{ST(t,n,s,0,null,e.length-1,null,o)}catch(t){return console.log(t),null}return 0===o.length?null:(o.push(e.length),o)}function ST(t,i,e,s,n,o,r,h){if(s===o)return;if(n=n||DT(t,i,e[s],e[s+1]),r=r||DT(t,i,e[o],e[o+1]),Math.abs(n[0].top-r[0].top)<=.1)return;if(s+1===o)return void h.push(o);const c=s+(o-s)/2|0,a=DT(t,i,e[c],e[c+1]);ST(t,i,e,s,n,c,a,h),ST(t,i,e,c,a,o,r,h)}function DT(t,i,e,s){return t.setStart(i[e/16384|0].firstChild,e%16384),t.setEnd(i[s/16384|0].firstChild,s%16384),t.getClientRects()}class ET extends te{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new ne),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(t,i,e){this._editor=t,this._instantiationService=e;for(const t of i)this._pending.has(t.id)?Bi(new Error(`Cannot have two contributions with the same id ${t.id}`)):this._pending.set(t.id,t);this._instantiateSome(0),this._register(Ka(Na(this._editor.getDomNode()),(()=>{this._instantiateSome(1)}))),this._register(Ka(Na(this._editor.getDomNode()),(()=>{this._instantiateSome(2)}))),this._register(Ka(Na(this._editor.getDomNode()),(()=>{this._instantiateSome(3)}),5e3))}saveViewState(){const t={};for(const[i,e]of this._instances)"function"==typeof e.saveViewState&&(t[i]=e.saveViewState());return t}restoreViewState(t){for(const[i,e]of this._instances)"function"==typeof e.restoreViewState&&e.restoreViewState(t[i])}get(t){return this._instantiateById(t),this._instances.get(t)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var t;this._register(Ka(Na(null===(t=this._editor)||void 0===t?void 0:t.getDomNode()),(()=>{this._instantiateSome(1)}),50))}_instantiateSome(t){if(this._finishedInstantiation[t])return;this._finishedInstantiation[t]=!0;const i=this._findPendingContributionsByInstantiation(t);for(const t of i)this._instantiateById(t.id)}_findPendingContributionsByInstantiation(t){const i=[];for(const[,e]of this._pending)e.instantiation===t&&i.push(e);return i}_instantiateById(t){const i=this._pending.get(t);if(i){if(this._pending.delete(t),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const t=this._instantiationService.createInstance(i.ctor,this._editor);this._instances.set(i.id,t),"function"==typeof t.restoreViewState&&0!==i.instantiation&&console.warn(`Editor contribution '${i.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(t){Bi(t)}}}}var AT,MT=function(t,i){return function(e,s){i(e,s,t)}};let LT=0;class FT{constructor(t,i,e,s,n,o){this.model=t,this.viewModel=i,this.view=e,this.hasRealView=s,this.listenersToRemove=n,this.attachedView=o}dispose(){Qi(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}let TT=AT=class extends te{get isSimpleWidget(){return this._configuration.isSimpleWidget}constructor(t,i,e,s,n,o,r,h,c,a,l,u){var d;super(),this.languageConfigurationService=l,this._deliveryQueue=new fe,this._contributions=this._register(new ET),this._onDidDispose=this._register(new de),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new OT(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new RT({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new RT({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new OT(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new OT(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new OT(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new OT(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new OT(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new OT(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new OT(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new OT(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new OT(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new OT(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new OT(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new OT(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new OT(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new OT(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new OT(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new OT(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new OT(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new de({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),n.willCreateCodeEditor();const f={...i};let p;this._domElement=t,this._overflowWidgetsDomNode=f.overflowWidgetsDomNode,delete f.overflowWidgetsDomNode,this._id=++LT,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=e.telemetryData,this._configuration=this._register(this._createConfiguration(e.isSimpleWidget||!1,f,a)),this._register(this._configuration.onDidChange((t=>{this._onDidChangeConfiguration.fire(t);const i=this._configuration.options;if(t.hasChanged(143)){const t=i.get(143);this._onDidLayoutChange.fire(t)}}))),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=c,this._codeEditorService=n,this._commandService=o,this._themeService=h,this._register(new IT(this,this._contextKeyService)),this._register(new _T(this,this._contextKeyService,u)),this._instantiationService=s.createChild(new iT([ah,this._contextKeyService])),this._modelData=null,this._focusTracker=new NT(t),this._register(this._focusTracker.onChange((()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())}))),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},p=Array.isArray(e.contributions)?e.contributions:uu.getEditorContributions(),this._contributions.initialize(this,p,this._instantiationService);for(const t of uu.getEditorActions()){if(this._actions.has(t.id)){Bi(new Error(`Cannot have two actions with the same id ${t.id}`));continue}const i=new qD(t.id,t.label,t.alias,t.metadata,null!==(d=t.precondition)&&void 0!==d?d:void 0,(()=>this._instantiationService.invokeFunction((i=>Promise.resolve(t.runEditorCommand(i,this,null))))),this._contextKeyService);this._actions.set(i.id,i)}const g=()=>!this._configuration.options.get(90)&&this._configuration.options.get(36).enabled;this._register(new Zl(this._domElement,{onDragOver:t=>{if(!g())return;const i=this.getTargetAtClientPoint(t.clientX,t.clientY);(null==i?void 0:i.position)&&this.showDropIndicatorAt(i.position)},onDrop:async t=>{if(!g())return;if(this.removeDropIndicator(),!t.dataTransfer)return;const i=this.getTargetAtClientPoint(t.clientX,t.clientY);(null==i?void 0:i.position)&&this._onDropIntoEditor.fire({position:i.position,event:t})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(t){var i;null===(i=this._modelData)||void 0===i||i.view.writeScreenReaderContent(t)}_createConfiguration(t,i,e){return new Ym(t,i,this._domElement,e)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return Og.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(t){return this._instantiationService.invokeFunction(t)}updateOptions(t){this._configuration.updateOptions(t||{})}getOptions(){return this._configuration.options}getOption(t){return this._configuration.options.get(t)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(t){return this._modelData?FC.getWordAtPosition(this._modelData.model,this._configuration.options.get(129),t):null}getValue(t=null){if(!this._modelData)return"";let i=0;return t&&t.lineEnding&&"\n"===t.lineEnding?i=1:t&&t.lineEnding&&"\r\n"===t.lineEnding&&(i=2),this._modelData.model.getValue(i,!(!t||!t.preserveBOM))}setValue(t){this._modelData&&this._modelData.model.setValue(t)}getModel(){return this._modelData?this._modelData.model:null}setModel(t=null){const i=t;if(null===this._modelData&&null===i)return;if(this._modelData&&this._modelData.model===i)return;const e=this.hasTextFocus(),s=this._detachModel();this._attachModel(i),e&&this.hasModel()&&this.focus();const n={oldModelUrl:s?s.uri:null,newModelUrl:i?i.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(n),this._postDetachModelCleanup(s),this._contributions.onAfterModelAttached()}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const t in this._decorationTypeSubtypes){const i=this._decorationTypeSubtypes[t];for(const e in i)this._removeDecorationType(t+"-"+e)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(t,i,e,s){const n=t.model.validatePosition({lineNumber:i,column:e}),o=t.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);return t.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(o.lineNumber,s)}getTopForLineNumber(t,i=!1){return this._modelData?AT._getVerticalOffsetForPosition(this._modelData,t,1,i):-1}getTopForPosition(t,i){return this._modelData?AT._getVerticalOffsetForPosition(this._modelData,t,i,!1):-1}static _getVerticalOffsetForPosition(t,i,e,s=!1){const n=t.model.validatePosition({lineNumber:i,column:e}),o=t.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);return t.viewModel.viewLayout.getVerticalOffsetForLineNumber(o.lineNumber,s)}getBottomForLineNumber(t,i=!1){return this._modelData?AT._getVerticalOffsetAfterPosition(this._modelData,t,1,i):-1}setHiddenAreas(t,i){var e;null===(e=this._modelData)||void 0===e||e.viewModel.setHiddenAreas(t.map((t=>Ms.lift(t))),i)}getVisibleColumnFromPosition(t){if(!this._modelData)return t.column;const i=this._modelData.model.validatePosition(t),e=this._modelData.model.getOptions().tabSize;return Xy.visibleColumnFromColumn(this._modelData.model.getLineContent(i.lineNumber),i.column,e)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(t,i="api"){if(this._modelData){if(!As.isIPosition(t))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(i,[{selectionStartLineNumber:t.lineNumber,selectionStartColumn:t.column,positionLineNumber:t.lineNumber,positionColumn:t.column}])}}_sendRevealRange(t,i,e,s){if(!this._modelData)return;if(!Ms.isIRange(t))throw new Error("Invalid arguments");const n=this._modelData.model.validateRange(t),o=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(n);this._modelData.viewModel.revealRange("api",e,o,i,s)}revealLine(t,i=0){this._revealLine(t,0,i)}revealLineInCenter(t,i=0){this._revealLine(t,1,i)}revealLineInCenterIfOutsideViewport(t,i=0){this._revealLine(t,2,i)}revealLineNearTop(t,i=0){this._revealLine(t,5,i)}_revealLine(t,i,e){if("number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new Ms(t,1,t,1),i,!1,e)}revealPosition(t,i=0){this._revealPosition(t,0,!0,i)}revealPositionInCenter(t,i=0){this._revealPosition(t,1,!0,i)}revealPositionInCenterIfOutsideViewport(t,i=0){this._revealPosition(t,2,!0,i)}revealPositionNearTop(t,i=0){this._revealPosition(t,5,!0,i)}_revealPosition(t,i,e,s){if(!As.isIPosition(t))throw new Error("Invalid arguments");this._sendRevealRange(new Ms(t.lineNumber,t.column,t.lineNumber,t.column),i,e,s)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(t,i="api"){const e=Ls.isISelection(t),s=Ms.isIRange(t);if(!e&&!s)throw new Error("Invalid arguments");e?this._setSelectionImpl(t,i):s&&this._setSelectionImpl({selectionStartLineNumber:t.startLineNumber,selectionStartColumn:t.startColumn,positionLineNumber:t.endLineNumber,positionColumn:t.endColumn},i)}_setSelectionImpl(t,i){if(!this._modelData)return;const e=new Ls(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn);this._modelData.viewModel.setSelections(i,[e])}revealLines(t,i,e=0){this._revealLines(t,i,0,e)}revealLinesInCenter(t,i,e=0){this._revealLines(t,i,1,e)}revealLinesInCenterIfOutsideViewport(t,i,e=0){this._revealLines(t,i,2,e)}revealLinesNearTop(t,i,e=0){this._revealLines(t,i,5,e)}_revealLines(t,i,e,s){if("number"!=typeof t||"number"!=typeof i)throw new Error("Invalid arguments");this._sendRevealRange(new Ms(t,1,i,1),e,!1,s)}revealRange(t,i=0,e=!1,s=!0){this._revealRange(t,e?1:0,s,i)}revealRangeInCenter(t,i=0){this._revealRange(t,1,!0,i)}revealRangeInCenterIfOutsideViewport(t,i=0){this._revealRange(t,2,!0,i)}revealRangeNearTop(t,i=0){this._revealRange(t,5,!0,i)}revealRangeNearTopIfOutsideViewport(t,i=0){this._revealRange(t,6,!0,i)}revealRangeAtTop(t,i=0){this._revealRange(t,3,!0,i)}_revealRange(t,i,e,s){if(!Ms.isIRange(t))throw new Error("Invalid arguments");this._sendRevealRange(Ms.lift(t),i,e,s)}setSelections(t,i="api",e=0){if(this._modelData){if(!t||0===t.length)throw new Error("Invalid arguments");for(let i=0,e=t.length;i0&&this._modelData.viewModel.restoreCursorState(t):this._modelData.viewModel.restoreCursorState([t]),this._contributions.restoreViewState(i.contributionsState||{});const e=this._modelData.viewModel.reduceRestoreState(i.viewState);this._modelData.view.restoreState(e)}}handleInitialized(){var t;null===(t=this._getViewModel())||void 0===t||t.visibleLinesStabilized()}getContribution(t){return this._contributions.get(t)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let t=this.getActions();return t=t.filter((t=>t.isSupported())),t}getAction(t){return this._actions.get(t)||null}trigger(t,i,e){switch(e=e||{},i){case"compositionStart":return void this._startComposition();case"compositionEnd":return void this._endComposition(t);case"type":return void this._type(t,e.text||"");case"replacePreviousChar":return void this._compositionType(t,e.text||"",e.replaceCharCnt||0,0,0);case"compositionType":return void this._compositionType(t,e.text||"",e.replacePrevCharCnt||0,e.replaceNextCharCnt||0,e.positionDelta||0);case"paste":return void this._paste(t,e.text||"",e.pasteOnNewLine||!1,e.multicursorText||null,e.mode||null);case"cut":return void this._cut(t)}const s=this.getAction(i);s?Promise.resolve(s.run(e)).then(void 0,Bi):this._modelData&&(this._triggerEditorCommand(t,i,e)||this._triggerCommand(i,e))}_triggerCommand(t,i){this._commandService.executeCommand(t,i)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(t){this._modelData&&(this._modelData.viewModel.endComposition(t),this._onDidCompositionEnd.fire())}_type(t,i){this._modelData&&0!==i.length&&("keyboard"===t&&this._onWillType.fire(i),this._modelData.viewModel.type(i,t),"keyboard"===t&&this._onDidType.fire(i))}_compositionType(t,i,e,s,n){this._modelData&&this._modelData.viewModel.compositionType(i,e,s,n,t)}_paste(t,i,e,s,n){if(!this._modelData||0===i.length)return;const o=this._modelData.viewModel,r=o.getSelection().getStartPosition();o.paste(i,e,s,t);const h=o.getSelection().getStartPosition();"keyboard"===t&&this._onDidPaste.fire({range:new Ms(r.lineNumber,r.column,h.lineNumber,h.column),languageId:n})}_cut(t){this._modelData&&this._modelData.viewModel.cut(t)}_triggerEditorCommand(t,i,e){const s=uu.getEditorCommand(i);return!!s&&((e=e||{}).source=t,this._instantiationService.invokeFunction((t=>{Promise.resolve(s.runEditorCommand(t,this,e)).then(void 0,Bi)})),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!!this._modelData&&!this._configuration.options.get(90)&&(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!!this._modelData&&!this._configuration.options.get(90)&&(this._modelData.model.popStackElement(),!0)}executeEdits(t,i,e){if(!this._modelData)return!1;if(this._configuration.options.get(90))return!1;let s;return s=e?Array.isArray(e)?()=>e:e:()=>null,this._modelData.viewModel.executeEdits(t,i,s),!0}executeCommand(t,i){this._modelData&&this._modelData.viewModel.executeCommand(i,t)}executeCommands(t,i){this._modelData&&this._modelData.viewModel.executeCommands(i,t)}createDecorationsCollection(t){return new BT(this,t)}changeDecorations(t){return this._modelData?this._modelData.model.changeDecorations(t,this._id):null}getLineDecorations(t){return this._modelData?this._modelData.model.getLineDecorations(t,this._id,ki(this._configuration.options)):null}getDecorationsInRange(t){return this._modelData?this._modelData.model.getDecorationsInRange(t,this._id,ki(this._configuration.options)):null}deltaDecorations(t,i){return this._modelData?0===t.length&&0===i.length?t:this._modelData.model.deltaDecorations(t,i,this._id):[]}removeDecorations(t){this._modelData&&0!==t.length&&this._modelData.model.changeDecorations((i=>{i.deltaDecorations(t,[])}))}removeDecorationsByType(t){const i=this._decorationTypeKeysToIds[t];i&&this.deltaDecorations(i,[]),this._decorationTypeKeysToIds.hasOwnProperty(t)&&delete this._decorationTypeKeysToIds[t],this._decorationTypeSubtypes.hasOwnProperty(t)&&delete this._decorationTypeSubtypes[t]}getLayoutInfo(){return this._configuration.options.get(143)}createOverviewRuler(t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(t):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarPointerDown(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(t)}layout(t,i=!1){this._configuration.observeContainer(t),i||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!(!this._modelData||!this._modelData.hasRealView)&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(t){const i={widget:t,position:t.getPosition()};this._contentWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting a content widget with the same id:"+t.getId()),this._contentWidgets[t.getId()]=i,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(i)}layoutContentWidget(t){const i=t.getId();if(this._contentWidgets.hasOwnProperty(i)){const e=this._contentWidgets[i];e.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(e)}}removeContentWidget(t){const i=t.getId();if(this._contentWidgets.hasOwnProperty(i)){const t=this._contentWidgets[i];delete this._contentWidgets[i],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(t)}}addOverlayWidget(t){const i={widget:t,position:t.getPosition()};this._overlayWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[t.getId()]=i,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(i)}layoutOverlayWidget(t){const i=t.getId();if(this._overlayWidgets.hasOwnProperty(i)){const e=this._overlayWidgets[i];e.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(e)}}removeOverlayWidget(t){const i=t.getId();if(this._overlayWidgets.hasOwnProperty(i)){const t=this._overlayWidgets[i];delete this._overlayWidgets[i],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(t)}}addGlyphMarginWidget(t){const i={widget:t,position:t.getPosition()};this._glyphMarginWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[t.getId()]=i,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(i)}layoutGlyphMarginWidget(t){const i=t.getId();if(this._glyphMarginWidgets.hasOwnProperty(i)){const e=this._glyphMarginWidgets[i];e.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(e)}}removeGlyphMarginWidget(t){const i=t.getId();if(this._glyphMarginWidgets.hasOwnProperty(i)){const t=this._glyphMarginWidgets[i];delete this._glyphMarginWidgets[i],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(t)}}changeViewZones(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(t)}getTargetAtClientPoint(t,i){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(t,i):null}getScrolledVisiblePosition(t){if(!this._modelData||!this._modelData.hasRealView)return null;const i=this._modelData.model.validatePosition(t),e=this._configuration.options,s=e.get(143);return{top:AT._getVerticalOffsetForPosition(this._modelData,i.lineNumber,i.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(i.lineNumber,i.column)+s.glyphMarginWidth+s.lineNumbersWidth+s.decorationsWidth-this.getScrollLeft(),height:e.get(66)}}getOffsetForColumn(t,i){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(t,i):-1}render(t=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.view.render(!0,t)}setAriaOptions(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(t)}applyFontInfo(t){ir(t,this._configuration.options.get(50))}setBanner(t,i){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=t,this._configuration.setReservedHeight(t?i:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(t){if(!t)return void(this._modelData=null);const i=[];this._domElement.setAttribute("data-mode-id",t.getLanguageId()),this._configuration.setIsDominatedByLongLines(t.isDominatedByLongLines()),this._configuration.setModelLineCount(t.getLineCount());const e=t.onBeforeAttached(),s=new ZF(this._id,this._configuration,t,kT.create(Na(this._domElement)),lT.create(this._configuration.options),(t=>Qa(Na(this._domElement),t)),this.languageConfigurationService,this._themeService,e);i.push(t.onWillDispose((()=>this.setModel(null)))),i.push(s.onEvent((i=>{switch(i.kind){case 0:this._onDidContentSizeChange.fire(i);break;case 1:this._editorTextFocus.setValue(i.hasFocus);break;case 2:this._onDidScrollChange.fire(i);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(i.reachedMaxCursorCount){const t=ot(0,"The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",this.getOption(79));this._notificationService.prompt(nT.Warning,t,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:ot(0,"Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const t=[];for(let e=0,s=i.selections.length;e{this._paste("keyboard",t,i,e,s)},type:t=>{this._type("keyboard",t)},compositionType:(t,i,e,s)=>{this._compositionType("keyboard",t,i,e,s)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(t,i,e,s)=>{this._commandService.executeCommand("paste",{text:t,pasteOnNewLine:i,multicursorText:e,mode:s})},type:t=>{this._commandService.executeCommand("type",{text:t})},compositionType:(t,i,e,s)=>{e||s?this._commandService.executeCommand("compositionType",{text:t,replacePrevCharCnt:i,replaceNextCharCnt:e,positionDelta:s}):this._commandService.executeCommand("replacePreviousChar",{text:t,replaceCharCnt:i})},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const e=new dS(t.coordinatesConverter);return e.onKeyDown=t=>this._onKeyDown.fire(t),e.onKeyUp=t=>this._onKeyUp.fire(t),e.onContextMenu=t=>this._onContextMenu.fire(t),e.onMouseMove=t=>this._onMouseMove.fire(t),e.onMouseLeave=t=>this._onMouseLeave.fire(t),e.onMouseDown=t=>this._onMouseDown.fire(t),e.onMouseUp=t=>this._onMouseUp.fire(t),e.onMouseDrag=t=>this._onMouseDrag.fire(t),e.onMouseDrop=t=>this._onMouseDrop.fire(t),e.onMouseDropCanceled=t=>this._onMouseDropCanceled.fire(t),e.onMouseWheel=t=>this._onMouseWheel.fire(t),[new HD(i,this._configuration,this._themeService.getColorTheme(),t,e,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(t){null==t||t.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;const t=this._modelData.model,i=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),i&&this._domElement.contains(i)&&this._domElement.removeChild(i),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),t}_removeDecorationType(t){this._codeEditorService.removeDecorationType(t)}hasModel(){return null!==this._modelData}showDropIndicatorAt(t){const i=[{range:new Ms(t.lineNumber,t.column,t.lineNumber,t.column),options:AT.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(i),this.revealPosition(t,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(t,i){this._contextKeyService.createKey(t,i)}};TT.dropIntoEditorDecorationOptions=AL.register({description:"workbench-dnd-target",className:"dnd-target"}),TT=AT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([MT(3,ur),MT(4,fr),MT(5,Sr),MT(6,ah),MT(7,Xk),MT(8,oT),MT(9,Zm),MT(10,Xd),MT(11,xg)],TT);class RT extends te{constructor(t){super(),this._emitterOptions=t,this._onDidChangeToTrue=this._register(new de(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new de(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(t){const i=t?2:1;this._value!==i&&(this._value=i,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class OT extends de{constructor(t,i){super({deliveryQueue:i}),this._contributions=t}fire(t){this._contributions.onBeforeInteractionEvent(),super.fire(t)}}class IT extends te{constructor(t,i){super(),this._editor=t,i.createKey("editorId",t.getId()),this._editorSimpleInput=YC.editorSimpleInput.bindTo(i),this._editorFocus=YC.focus.bindTo(i),this._textInputFocus=YC.textInputFocus.bindTo(i),this._editorTextFocus=YC.editorTextFocus.bindTo(i),this._tabMovesFocus=YC.tabMovesFocus.bindTo(i),this._editorReadonly=YC.readOnly.bindTo(i),this._inDiffEditor=YC.inDiffEditor.bindTo(i),this._editorColumnSelection=YC.columnSelection.bindTo(i),this._hasMultipleSelections=YC.hasMultipleSelections.bindTo(i),this._hasNonEmptySelection=YC.hasNonEmptySelection.bindTo(i),this._canUndo=YC.canUndo.bindTo(i),this._canRedo=YC.canRedo.bindTo(i),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromConfig()))),this._register(this._editor.onDidChangeCursorSelection((()=>this._updateFromSelection()))),this._register(this._editor.onDidFocusEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidFocusEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidChangeModel((()=>this._updateFromModel()))),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromModel()))),this._register(Gm.onDidChangeTabFocus((t=>this._tabMovesFocus.set(t)))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const t=this._editor.getOptions();this._tabMovesFocus.set(Gm.getTabFocusMode()),this._editorReadonly.set(t.get(90)),this._inDiffEditor.set(t.get(61)),this._editorColumnSelection.set(t.get(22))}_updateFromSelection(){const t=this._editor.getSelections();t?(this._hasMultipleSelections.set(t.length>1),this._hasNonEmptySelection.set(t.some((t=>!t.isEmpty())))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const t=this._editor.getModel();this._canUndo.set(Boolean(t&&t.canUndo())),this._canRedo.set(Boolean(t&&t.canRedo()))}}class _T extends te{constructor(t,i,e){super(),this._editor=t,this._contextKeyService=i,this._languageFeaturesService=e,this._langId=YC.languageId.bindTo(i),this._hasCompletionItemProvider=YC.hasCompletionItemProvider.bindTo(i),this._hasCodeActionsProvider=YC.hasCodeActionsProvider.bindTo(i),this._hasCodeLensProvider=YC.hasCodeLensProvider.bindTo(i),this._hasDefinitionProvider=YC.hasDefinitionProvider.bindTo(i),this._hasDeclarationProvider=YC.hasDeclarationProvider.bindTo(i),this._hasImplementationProvider=YC.hasImplementationProvider.bindTo(i),this._hasTypeDefinitionProvider=YC.hasTypeDefinitionProvider.bindTo(i),this._hasHoverProvider=YC.hasHoverProvider.bindTo(i),this._hasDocumentHighlightProvider=YC.hasDocumentHighlightProvider.bindTo(i),this._hasDocumentSymbolProvider=YC.hasDocumentSymbolProvider.bindTo(i),this._hasReferenceProvider=YC.hasReferenceProvider.bindTo(i),this._hasRenameProvider=YC.hasRenameProvider.bindTo(i),this._hasSignatureHelpProvider=YC.hasSignatureHelpProvider.bindTo(i),this._hasInlayHintsProvider=YC.hasInlayHintsProvider.bindTo(i),this._hasDocumentFormattingProvider=YC.hasDocumentFormattingProvider.bindTo(i),this._hasDocumentSelectionFormattingProvider=YC.hasDocumentSelectionFormattingProvider.bindTo(i),this._hasMultipleDocumentFormattingProvider=YC.hasMultipleDocumentFormattingProvider.bindTo(i),this._hasMultipleDocumentSelectionFormattingProvider=YC.hasMultipleDocumentSelectionFormattingProvider.bindTo(i),this._isInWalkThrough=YC.isInWalkThroughSnippet.bindTo(i);const s=()=>this._update();this._register(t.onDidChangeModel(s)),this._register(t.onDidChangeModelLanguage(s)),this._register(e.completionProvider.onDidChange(s)),this._register(e.codeActionProvider.onDidChange(s)),this._register(e.codeLensProvider.onDidChange(s)),this._register(e.definitionProvider.onDidChange(s)),this._register(e.declarationProvider.onDidChange(s)),this._register(e.implementationProvider.onDidChange(s)),this._register(e.typeDefinitionProvider.onDidChange(s)),this._register(e.hoverProvider.onDidChange(s)),this._register(e.documentHighlightProvider.onDidChange(s)),this._register(e.documentSymbolProvider.onDidChange(s)),this._register(e.referenceProvider.onDidChange(s)),this._register(e.renameProvider.onDidChange(s)),this._register(e.documentFormattingEditProvider.onDidChange(s)),this._register(e.documentRangeFormattingEditProvider.onDidChange(s)),this._register(e.signatureHelpProvider.onDidChange(s)),this._register(e.inlayHintsProvider.onDidChange(s)),s()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents((()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()}))}_update(){const t=this._editor.getModel();t?this._contextKeyService.bufferChangeEvents((()=>{this._langId.set(t.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(t)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(t)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(t)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(t)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(t)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(t)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(t)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(t)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(t)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(t)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(t)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(t)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(t)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(t)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(t)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(t)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(t)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(t).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(t).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(t).length>1),this._isInWalkThrough.set(t.uri.scheme===ka.walkThroughSnippet)})):this.reset()}}class NT extends te{constructor(t){super(),this._onChange=this._register(new de),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(Rl(t)),this._register(this._domFocusTracker.onDidFocus((()=>{this._hasFocus=!0,this._onChange.fire(void 0)}))),this._register(this._domFocusTracker.onDidBlur((()=>{this._hasFocus=!1,this._onChange.fire(void 0)})))}hasFocus(){return this._hasFocus}}class BT{get length(){return this._decorationIds.length}constructor(t,i){this._editor=t,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(i)&&i.length>0&&this.set(i)}onDidChange(t,i,e){return this._editor.onDidChangeModelDecorations((e=>{this._isChangingDecorations||t.call(i,e)}),e)}getRange(t){return this._editor.hasModel()?t>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[t]):null}getRanges(){if(!this._editor.hasModel())return[];const t=this._editor.getModel(),i=[];for(const e of this._decorationIds){const s=t.getDecorationRange(e);s&&i.push(s)}return i}has(t){return this._decorationIds.includes(t.id)}clear(){0!==this._decorationIds.length&&this.set([])}set(t){try{this._isChangingDecorations=!0,this._editor.changeDecorations((i=>{this._decorationIds=i.deltaDecorations(this._decorationIds,t)}))}finally{this._isChangingDecorations=!1}return this._decorationIds}append(t){let i=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations((e=>{i=e.deltaDecorations([],t),this._decorationIds=this._decorationIds.concat(i)}))}finally{this._isChangingDecorations=!1}return i}}const PT=encodeURIComponent("");function WT(t){return PT+encodeURIComponent(t.toString())+$T}const jT=encodeURIComponent('');nx(((t,i)=>{const e=t.getColor(ev);e&&i.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${WT(e)}") repeat-x bottom left; }`);const s=t.getColor(nv);s&&i.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${WT(s)}") repeat-x bottom left; }`);const n=t.getColor(rv);n&&i.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${WT(n)}") repeat-x bottom left; }`);const o=t.getColor(cv);var r;o&&i.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${r=o,jT+encodeURIComponent(r.toString())+zT}") no-repeat bottom left; }`);const h=t.getColor(Fx);h&&i.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${h.rgba.a}; }`)}));let HT=class extends te{constructor(t){super(),this._themeService=t,this._onWillCreateCodeEditor=this._register(new de),this._onCodeEditorAdd=this._register(new de),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new de),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new de),this._onDiffEditorAdd=this._register(new de),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new de),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new Ut,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(t){this._codeEditors[t.getId()]=t,this._onCodeEditorAdd.fire(t)}removeCodeEditor(t){delete this._codeEditors[t.getId()]&&this._onCodeEditorRemove.fire(t)}listCodeEditors(){return Object.keys(this._codeEditors).map((t=>this._codeEditors[t]))}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(t){this._diffEditors[t.getId()]=t,this._onDiffEditorAdd.fire(t)}listDiffEditors(){return Object.keys(this._diffEditors).map((t=>this._diffEditors[t]))}getFocusedCodeEditor(){let t=null;const i=this.listCodeEditors();for(const e of i){if(e.hasTextFocus())return e;e.hasWidgetFocus()&&(t=e)}return t}removeDecorationType(t){const i=this._decorationOptionProviders.get(t);i&&(i.refCount--,i.refCount<=0&&(this._decorationOptionProviders.delete(t),i.dispose(),this.listCodeEditors().forEach((i=>i.removeDecorationsByType(t)))))}setModelProperty(t,i,e){const s=t.toString();let n;this._modelProperties.has(s)?n=this._modelProperties.get(s):(n=new Map,this._modelProperties.set(s,n)),n.set(i,e)}getModelProperty(t,i){const e=t.toString();if(this._modelProperties.has(e))return this._modelProperties.get(e).get(i)}async openCodeEditor(t,i,e){for(const s of this._codeEditorOpenHandlers){const n=await s(t,i,e);if(null!==n)return n}return null}registerCodeEditorOpenHandler(t){return Yi(this._codeEditorOpenHandlers.unshift(t))}};HT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,Xk)],HT);var VT=function(t,i){return function(e,s){i(e,s,t)}};let UT=class extends HT{constructor(t,i){super(i),this._register(this.onCodeEditorAdd((()=>this._checkContextKey()))),this._register(this.onCodeEditorRemove((()=>this._checkContextKey()))),this._editorIsOpen=t.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler((async(t,i)=>i?this.doOpenEditor(i,t):null)))}_checkContextKey(){let t=!1;for(const i of this.listCodeEditors())if(!i.isSimpleWidget){t=!0;break}this._editorIsOpen.set(t)}setActiveCodeEditor(t){this._activeCodeEditor=t}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(t,i){if(!this.findModel(t,i.resource)){if(i.resource){const e=i.resource.scheme;if(e===ka.http||e===ka.https)return Hl(i.resource.toString()),t}return null}const e=i.options?i.options.selection:null;if(e)if("number"==typeof e.endLineNumber&&"number"==typeof e.endColumn)t.setSelection(e),t.revealRangeInCenter(e,1);else{const i={lineNumber:e.startLineNumber,column:e.startColumn};t.setPosition(i),t.revealPositionInCenter(i,1)}return t}findModel(t,i){const e=t.getModel();return e&&e.uri.toString()!==i.toString()?null:e}};UT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([VT(0,ah),VT(1,Xk)],UT),Cd(fr,UT,0);const qT=dr("layoutService");var KT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},GT=function(t,i){return function(e,s){i(e,s,t)}};let ZT=class{get mainContainer(){var t,i;return null!==(i=null===(t=k(this._codeEditorService.listCodeEditors()))||void 0===t?void 0:t.getContainerDomNode())&&void 0!==i?i:$n.document.body}get activeContainer(){var t,i;const e=null!==(t=this._codeEditorService.getFocusedCodeEditor())&&void 0!==t?t:this._codeEditorService.getActiveCodeEditor();return null!==(i=null==e?void 0:e.getContainerDomNode())&&void 0!==i?i:this.mainContainer}get mainContainerDimension(){return tl(this.mainContainer)}get activeContainerDimension(){return tl(this.activeContainer)}get containers(){return m(this._codeEditorService.listCodeEditors().map((t=>t.getContainerDomNode())))}getContainer(){return this.activeContainer}focus(){var t;null===(t=this._codeEditorService.getFocusedCodeEditor())||void 0===t||t.focus()}constructor(t){this._codeEditorService=t,this.onDidLayoutMainContainer=he.None,this.onDidLayoutActiveContainer=he.None,this.onDidLayoutContainer=he.None,this.onDidChangeActiveContainer=he.None,this.onDidAddContainer=he.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};ZT=KT([GT(0,fr)],ZT);let QT=class extends ZT{get mainContainer(){return this._container}constructor(t,i){super(i),this._container=t}};QT=KT([GT(1,fr)],QT),Cd(qT,ZT,1);const JT=dr("dialogService");var YT=function(t,i){return function(e,s){i(e,s,t)}};function XT(t){return t.scheme===ka.file?t.fsPath:t.path}let tR=0;class iR{constructor(t,i,e,s,n,o,r){this.id=++tR,this.type=0,this.actual=t,this.label=t.label,this.confirmBeforeUndo=t.confirmBeforeUndo||!1,this.resourceLabel=i,this.strResource=e,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=s,this.groupOrder=n,this.sourceId=o,this.sourceOrder=r,this.isValid=!0}setValid(t){this.isValid=t}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class eR{constructor(t,i){this.resourceLabel=t,this.reason=i}}class sR{constructor(){this.elements=new Map}createMessage(){const t=[],i=[];for(const[,e]of this.elements)(0===e.reason?t:i).push(e.resourceLabel);const e=[];return t.length>0&&e.push(ot(0,"The following files have been closed and modified on disk: {0}.",t.join(", "))),i.length>0&&e.push(ot(0,"The following files have been modified in an incompatible way: {0}.",i.join(", "))),e.join("\n")}get size(){return this.elements.size}has(t){return this.elements.has(t)}set(t,i){this.elements.set(t,i)}delete(t){return this.elements.delete(t)}}class nR{constructor(t,i,e,s,n,o,r){this.id=++tR,this.type=1,this.actual=t,this.label=t.label,this.confirmBeforeUndo=t.confirmBeforeUndo||!1,this.resourceLabels=i,this.strResources=e,this.groupId=s,this.groupOrder=n,this.sourceId=o,this.sourceOrder=r,this.removedResources=null,this.invalidatedResources=null}canSplit(){return"function"==typeof this.actual.split}removeResource(t,i,e){this.removedResources||(this.removedResources=new sR),this.removedResources.has(i)||this.removedResources.set(i,new eR(t,e))}setValid(t,i,e){e?this.invalidatedResources&&(this.invalidatedResources.delete(i),0===this.invalidatedResources.size&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new sR),this.invalidatedResources.has(i)||this.invalidatedResources.set(i,new eR(t,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class oR{constructor(t,i){this.resourceLabel=t,this.strResource=i,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const t of this._past)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,0);for(const t of this._future)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const t=[];t.push(`* ${this.strResource}:`);for(let i=0;i=0;i--)t.push(` * [REDO] ${this._future[i]}`);return t.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(t,i){1===t.type?t.setValid(this.resourceLabel,this.strResource,i):t.setValid(i)}setElementsValidFlag(t,i){for(const e of this._past)i(e.actual)&&this._setElementValidFlag(e,t);for(const e of this._future)i(e.actual)&&this._setElementValidFlag(e,t)}pushElement(t){for(const t of this._future)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(t),this.versionId++}createSnapshot(t){const i=[];for(let t=0,e=this._past.length;t=0;t--)i.push(this._future[t].id);return new cL(t,i)}restoreSnapshot(t){const i=t.elements.length;let e=!0,s=0,n=-1;for(let o=0,r=this._past.length;o=i||r.id!==t.elements[s])&&(e=!1,n=0),e||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}let o=-1;for(let n=this._future.length-1;n>=0;n--,s++){const r=this._future[n];e&&(s>=i||r.id!==t.elements[s])&&(e=!1,o=n),e||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}-1!==n&&(this._past=this._past.slice(0,n)),-1!==o&&(this._future=this._future.slice(o+1)),this.versionId++}getElements(){const t=[],i=[];for(const i of this._past)t.push(i.actual);for(const t of this._future)i.push(t.actual);return{past:t,future:i}}getClosestPastElement(){return 0===this._past.length?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return 0===this._future.length?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(t,i){for(let e=this._past.length-1;e>=0;e--)if(this._past[e]===t){i.has(this.strResource)?this._past[e]=i.get(this.strResource):this._past.splice(e,1);break}this.versionId++}splitFutureWorkspaceElement(t,i){for(let e=this._future.length-1;e>=0;e--)if(this._future[e]===t){i.has(this.strResource)?this._future[e]=i.get(this.strResource):this._future.splice(e,1);break}this.versionId++}moveBackward(t){this._past.pop(),this._future.push(t),this.versionId++}moveForward(t){this._future.pop(),this._past.push(t),this.versionId++}}class rR{constructor(t){this.editStacks=t,this._versionIds=[];for(let t=0,i=this.editStacks.length;ti.sourceOrder)&&(i=o,e=s)}return[i,e]}canUndo(t){if(t instanceof lL){const[,i]=this._findClosestUndoElementWithSource(t.id);return!!i}const i=this.getUriComparisonKey(t);return!!this._editStacks.has(i)&&this._editStacks.get(i).hasPastElements()}_onError(t,i){Bi(t);for(const t of i.strResources)this.removeElements(t);this._notificationService.error(t)}_acquireLocks(t){for(const i of t.editStacks)if(i.locked)throw new Error("Cannot acquire edit stack lock");for(const i of t.editStacks)i.locked=!0;return()=>{for(const i of t.editStacks)i.locked=!1}}_safeInvokeWithLocks(t,i,e,s,n){const o=this._acquireLocks(e);let r;try{r=i()}catch(i){return o(),s.dispose(),this._onError(i,t)}return r?r.then((()=>(o(),s.dispose(),n())),(i=>(o(),s.dispose(),this._onError(i,t)))):(o(),s.dispose(),n())}async _invokeWorkspacePrepare(t){if(void 0===t.actual.prepareUndoRedo)return te.None;const i=t.actual.prepareUndoRedo();return void 0===i?te.None:i}_invokeResourcePrepare(t,i){if(1!==t.actual.type||void 0===t.actual.prepareUndoRedo)return i(te.None);const e=t.actual.prepareUndoRedo();return e?Zi(e)?i(e):e.then((t=>i(t))):i(te.None)}_getAffectedEditStacks(t){const i=[];for(const e of t.strResources)i.push(this._editStacks.get(e)||hR);return new rR(i)}_tryToSplitAndUndo(t,i,e,s){if(i.canSplit())return this._splitPastWorkspaceElement(i,e),this._notificationService.warn(s),new aR(this._undo(t,0,!0));for(const t of i.strResources)this.removeElements(t);return this._notificationService.warn(s),new aR}_checkWorkspaceUndo(t,i,e,s){if(i.removedResources)return this._tryToSplitAndUndo(t,i,i.removedResources,ot(0,"Could not undo '{0}' across all files. {1}",i.label,i.removedResources.createMessage()));if(s&&i.invalidatedResources)return this._tryToSplitAndUndo(t,i,i.invalidatedResources,ot(0,"Could not undo '{0}' across all files. {1}",i.label,i.invalidatedResources.createMessage()));const n=[];for(const t of e.editStacks)t.getClosestPastElement()!==i&&n.push(t.resourceLabel);if(n.length>0)return this._tryToSplitAndUndo(t,i,null,ot(0,"Could not undo '{0}' across all files because changes were made to {1}",i.label,n.join(", ")));const o=[];for(const t of e.editStacks)t.locked&&o.push(t.resourceLabel);return o.length>0?this._tryToSplitAndUndo(t,i,null,ot(0,"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",i.label,o.join(", "))):e.isValid()?null:this._tryToSplitAndUndo(t,i,null,ot(0,"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",i.label))}_workspaceUndo(t,i,e){const s=this._getAffectedEditStacks(i),n=this._checkWorkspaceUndo(t,i,s,!1);return n?n.returnValue:this._confirmAndExecuteWorkspaceUndo(t,i,s,e)}_isPartOfUndoGroup(t){if(!t.groupId)return!1;for(const[,i]of this._editStacks){const e=i.getClosestPastElement();if(e){if(e===t){const e=i.getSecondClosestPastElement();if(e&&e.groupId===t.groupId)return!0}if(e.groupId===t.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(t,i,e,s){if(i.canSplit()&&!this._isPartOfUndoGroup(i)){let n;!function(t){t[t.All=0]="All",t[t.This=1]="This",t[t.Cancel=2]="Cancel"}(n||(n={}));const{result:o}=await this._dialogService.prompt({type:sT.Info,message:ot(0,"Would you like to undo '{0}' across all files?",i.label),buttons:[{label:ot(0,"&&Undo in {0} Files",e.editStacks.length),run:()=>n.All},{label:ot(0,"Undo this &&File"),run:()=>n.This}],cancelButton:{run:()=>n.Cancel}});if(o===n.Cancel)return;if(o===n.This)return this._splitPastWorkspaceElement(i,null),this._undo(t,0,!0);const r=this._checkWorkspaceUndo(t,i,e,!1);if(r)return r.returnValue;s=!0}let n;try{n=await this._invokeWorkspacePrepare(i)}catch(t){return this._onError(t,i)}const o=this._checkWorkspaceUndo(t,i,e,!0);if(o)return n.dispose(),o.returnValue;for(const t of e.editStacks)t.moveBackward(i);return this._safeInvokeWithLocks(i,(()=>i.actual.undo()),e,n,(()=>this._continueUndoInGroup(i.groupId,s)))}_resourceUndo(t,i,e){if(i.isValid){if(!t.locked)return this._invokeResourcePrepare(i,(s=>(t.moveBackward(i),this._safeInvokeWithLocks(i,(()=>i.actual.undo()),new rR([t]),s,(()=>this._continueUndoInGroup(i.groupId,e))))));{const t=ot(0,"Could not undo '{0}' because there is already an undo or redo operation running.",i.label);this._notificationService.warn(t)}}else t.flushAllElements()}_findClosestUndoElementInGroup(t){if(!t)return[null,null];let i=null,e=null;for(const[s,n]of this._editStacks){const o=n.getClosestPastElement();o&&o.groupId===t&&(!i||o.groupOrder>i.groupOrder)&&(i=o,e=s)}return[i,e]}_continueUndoInGroup(t,i){if(!t)return;const[,e]=this._findClosestUndoElementInGroup(t);return e?this._undo(e,0,i):void 0}undo(t){if(t instanceof lL){const[,i]=this._findClosestUndoElementWithSource(t.id);return i?this._undo(i,t.id,!1):void 0}return this._undo("string"==typeof t?t:this.getUriComparisonKey(t),0,!1)}_undo(t,i=0,e){if(!this._editStacks.has(t))return;const s=this._editStacks.get(t),n=s.getClosestPastElement();if(n){if(n.groupId){const[t,s]=this._findClosestUndoElementInGroup(n.groupId);if(n!==t&&s)return this._undo(s,i,e)}if((n.sourceId!==i||n.confirmBeforeUndo)&&!e)return this._confirmAndContinueUndo(t,i,n);try{return 1===n.type?this._workspaceUndo(t,n,e):this._resourceUndo(s,n,e)}finally{}}}async _confirmAndContinueUndo(t,i,e){if((await this._dialogService.confirm({message:ot(0,"Would you like to undo '{0}'?",e.label),primaryButton:ot(0,"&&Yes"),cancelButton:ot(0,"No")})).confirmed)return this._undo(t,i,!0)}_findClosestRedoElementWithSource(t){if(!t)return[null,null];let i=null,e=null;for(const[s,n]of this._editStacks){const o=n.getClosestFutureElement();o&&o.sourceId===t&&(!i||o.sourceOrder0)return this._tryToSplitAndRedo(t,i,null,ot(0,"Could not redo '{0}' across all files because changes were made to {1}",i.label,n.join(", ")));const o=[];for(const t of e.editStacks)t.locked&&o.push(t.resourceLabel);return o.length>0?this._tryToSplitAndRedo(t,i,null,ot(0,"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",i.label,o.join(", "))):e.isValid()?null:this._tryToSplitAndRedo(t,i,null,ot(0,"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",i.label))}_workspaceRedo(t,i){const e=this._getAffectedEditStacks(i),s=this._checkWorkspaceRedo(t,i,e,!1);return s?s.returnValue:this._executeWorkspaceRedo(t,i,e)}async _executeWorkspaceRedo(t,i,e){let s;try{s=await this._invokeWorkspacePrepare(i)}catch(t){return this._onError(t,i)}const n=this._checkWorkspaceRedo(t,i,e,!0);if(n)return s.dispose(),n.returnValue;for(const t of e.editStacks)t.moveForward(i);return this._safeInvokeWithLocks(i,(()=>i.actual.redo()),e,s,(()=>this._continueRedoInGroup(i.groupId)))}_resourceRedo(t,i){if(i.isValid){if(!t.locked)return this._invokeResourcePrepare(i,(e=>(t.moveForward(i),this._safeInvokeWithLocks(i,(()=>i.actual.redo()),new rR([t]),e,(()=>this._continueRedoInGroup(i.groupId))))));{const t=ot(0,"Could not redo '{0}' because there is already an undo or redo operation running.",i.label);this._notificationService.warn(t)}}else t.flushAllElements()}_findClosestRedoElementInGroup(t){if(!t)return[null,null];let i=null,e=null;for(const[s,n]of this._editStacks){const o=n.getClosestFutureElement();o&&o.groupId===t&&(!i||o.groupOrder=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([YT(0,JT),YT(1,oT)],cR);class aR{constructor(t){this.returnValue=t}}function lR(t,i,e){return Math.min(Math.max(t,i),e)}Cd(hL,cR,1);class uR{constructor(){this._n=1,this._val=0}update(t){return this._val=this._val+(t-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class dR{constructor(t){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(t),this._values.fill(0,0,t)}update(t){const i=this._values[this._index];return this._values[this._index]=t,this._index=(this._index+1)%this._values.length,this._sum-=i,this._sum+=t,this._nLa(mR.of(i),t)),0)}get(t){const i=this._key(t),e=this._cache.get(i);return e?lR(e.value,this._min,this._max):this.default()}update(t,i){const e=this._key(t);let s=this._cache.get(e);s||(s=new dR(6),this._cache.set(e,s));const n=lR(s.update(i),this._min,this._max);return xa(t.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${t.uri.toString()} is ${n}ms`),n}_overall(){const t=new uR;for(const[,i]of this._cache)t.update(i.value);return t.value}default(){return lR(0|this._overall()||this._default,this._min,this._max)}}let bR=class{constructor(t,i){this._logService=t,this._data=new Map,this._isDev=i.isExtensionDevelopment||!i.isBuilt}for(t,i,e){var s,n,o;const r=null!==(s=null==e?void 0:e.min)&&void 0!==s?s:50,h=null!==(n=null==e?void 0:e.max)&&void 0!==n?n:r**2,c=null!==(o=null==e?void 0:e.key)&&void 0!==o?o:void 0,a=`${mR.of(t)},${r}${c?","+c:""}`;let l=this._data.get(a);return l||(this._isDev?l=new vR(this._logService,i,t,0|this._overallAverage()||1.5*r,r,h):(this._logService.debug(`[DEBOUNCE: ${i}] is disabled in developed mode`),l=new wR(1.5*r)),this._data.set(a,l)),l}_overallAverage(){const t=new uR;for(const i of this._data.values())t.update(i.default());return t.value}};bR=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([pR(0,jh),pR(1,fR)],bR),Cd(gR,bR,1);class yR{static create(t,i){return new yR(t,new kR(i))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(t,i){this._startLineNumber=t,this._tokens=i,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(t){return this._startLineNumber<=t&&t<=this._endLineNumber?this._tokens.getLineTokens(t-this._startLineNumber):null}getRange(){const t=this._tokens.getRange();return t?new Ms(this._startLineNumber+t.startLineNumber,t.startColumn,this._startLineNumber+t.endLineNumber,t.endColumn):t}removeTokens(t){this._startLineNumber+=this._tokens.removeTokens(t.startLineNumber-this._startLineNumber,t.startColumn-1,t.endLineNumber-this._startLineNumber,t.endColumn-1),this._updateEndLineNumber()}split(t){const i=t.startLineNumber-this._startLineNumber,e=t.endLineNumber-this._startLineNumber,[s,n,o]=this._tokens.split(i,t.startColumn-1,e,t.endColumn-1);return[new yR(this._startLineNumber,s),new yR(this._startLineNumber+o,n)]}applyEdit(t,i){const[e,s,n]=KD(i);this.acceptEdit(t,e,s,n,i.length>0?i.charCodeAt(0):0)}acceptEdit(t,i,e,s,n){this._acceptDeleteRange(t),this._acceptInsertText(new As(t.startLineNumber,t.startColumn),i,e,s,n),this._updateEndLineNumber()}_acceptDeleteRange(t){if(t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn)return;const i=t.startLineNumber-this._startLineNumber,e=t.endLineNumber-this._startLineNumber;if(e<0)return void(this._startLineNumber-=e-i);const s=this._tokens.getMaxDeltaLine();if(!(i>=s+1)){if(i<0&&e>=s+1)return this._startLineNumber=0,void this._tokens.clear();i<0?(this._startLineNumber-=-i,this._tokens.acceptDeleteRange(t.startColumn-1,0,0,e,t.endColumn-1)):this._tokens.acceptDeleteRange(0,i,t.startColumn-1,e,t.endColumn-1)}}_acceptInsertText(t,i,e,s,n){if(0===i&&0===e)return;const o=t.lineNumber-this._startLineNumber;o<0?this._startLineNumber+=i:o>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(o,t.column-1,i,e,s,n)}}class kR{constructor(t){this._tokens=t,this._tokenCount=t.length/4}toString(t){const i=[];for(let e=0;et)){let n=s;for(;n>i&&this._getDeltaLine(n-1)===t;)n--;let o=s;for(;ot||l===t&&d>=i)&&(lt||u===t&&f>=i){if(un?p-=n-e:p=e;else if(d===i&&f===e){if(!(d===s&&p>n)){a=!0;continue}p-=n-e}else if(dn)){a=!0;continue}d=i,f=e,p=f+(p-n)}else if(d>s){if(0===h&&!a){c=r;break}d-=h}else{if(!(d===s&&f>=n))throw new Error("Not possible!");t&&0===d&&(f+=t,p+=t),d-=h,f-=n-e,p-=n-e}const m=4*c;o[m]=d,o[m+1]=f,o[m+2]=p,o[m+3]=g,c++}this._tokenCount=c}acceptInsertText(t,i,e,s,n,o){const r=0===e&&1===s&&(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122),h=this._tokens,c=this._tokenCount;for(let o=0;o0&&i>=1;t>0&&this._logService.getLevel()===zh.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${i.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),r.push("not-in-legend"));const s=this._themeService.getColorTheme().getTokenStyleMetadata(n,r,e);void 0===s?o=2147483647:(o=0,void 0!==s.italic&&(o|=1|(s.italic?1:0)<<11),void 0!==s.bold&&(o|=2|(s.bold?2:0)<<11),void 0!==s.underline&&(o|=4|(s.underline?4:0)<<11),void 0!==s.strikethrough&&(o|=8|(s.strikethrough?8:0)<<11),s.foreground&&(o|=16|s.foreground<<15),0===o&&(o=2147483647))}else this._logService.getLevel()===zh.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${t} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),o=2147483647,n="not-in-legend";this._hashTable.add(t,i,s,o),this._logService.getLevel()===zh.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${t} (${n}) / ${i} (${r.join(" ")}): foreground ${Bg.getForeground(o)}, fontStyle ${Bg.getFontStyle(o).toString(2)}`)}return o}warnOverlappingSemanticTokens(t,i){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,console.warn(`Overlapping semantic tokens detected at lineNumber ${t}, column ${i}`))}warnInvalidLengthSemanticTokens(t,i){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,console.warn(`Semantic token with invalid length detected at lineNumber ${t}, column ${i}`))}warnInvalidEditStart(t,i,e,s,n){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,console.warn(`Invalid semantic tokens edit detected (previousResultId: ${t}, resultId: ${i}) at edit #${e}: The provided start offset ${s} is outside the previous data (length ${n}).`))}};function DR(t,i,e){const s=t.data,n=t.data.length/5|0,o=Math.max(Math.ceil(n/1024),400),r=[];let h=0,c=1,a=0;for(;ht&&0===s[5*i];)i--;if(i-1===t){let t=l;for(;t+1l)i.warnOverlappingSemanticTokens(r,l+1);else{const t=i.getMetadata(w,v,e);2147483647!==t&&(0===f&&(f=r),u[d]=r-f,u[d+1]=l,u[d+2]=m,u[d+3]=t,d+=4,p=r,g=m)}c=r,a=l,h++}d!==u.length&&(u=u.subarray(0,d));const m=yR.create(f,u);r.push(m)}return r}SR=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([CR(1,Xk),CR(2,yd),CR(3,jh)],SR);class ER{constructor(t,i,e,s){this.tokenTypeIndex=t,this.tokenModifierSet=i,this.languageId=e,this.metadata=s,this.next=null}}class AR{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=AR._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const t=this._elements;this._currentLengthIndex++,this._currentLength=AR._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1{this._caches=new WeakMap})))}getStyling(t){return this._caches.has(t)||this._caches.set(t,new SR(t.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(t)}};FR=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([LR(0,Xk),LR(1,jh),LR(2,yd)],FR),Cd(MR,FR,1);const TR="**",RR="/",OR="[/\\\\]",IR="[^/\\\\]",_R=/\//g;function NR(t,i){switch(t){case 0:return"";case 1:return`${IR}*?`;default:return`(?:${OR}|${IR}+${OR}${i?`|${OR}${IR}+`:""})*?`}}function BR(t,i){if(!t)return[];const e=[];let s=!1,n=!1,o="";for(const r of t){switch(r){case i:if(!s&&!n){e.push(o),o="";continue}break;case"{":s=!0;break;case"}":s=!1;break;case"[":n=!0;break;case"]":n=!1}o+=r}return o&&e.push(o),e}function PR(t){if(!t)return"";let i="";const e=BR(t,RR);if(e.every((t=>t===TR)))i=".*";else{let t=!1;e.forEach(((s,n)=>{if(s===TR){if(t)return;i+=NR(2,n===e.length-1)}else{let t=!1,o="",r=!1,h="";for(const e of s)if("}"!==e&&t)o+=e;else if(!r||"]"===e&&h)switch(e){case"{":t=!0;continue;case"[":r=!0;continue;case"}":{const e=`(?:${BR(o,",").map((t=>PR(t))).join("|")})`;i+=e,t=!1,o="";break}case"]":i+="["+h+"]",r=!1,h="";break;case"?":i+=IR;continue;case"*":i+=NR(1);continue;default:i+=Gn(e)}else{let t;t="-"===e?e:"^"!==e&&"!"!==e||h?e===RR?"":Gn(e):"^",h+=t}nGR(t,i))).filter((t=>t!==KR)),t),s=e.length;if(!s)return KR;if(1===s)return e[0];const n=function(i,s){for(let n=0,o=e.length;n!!t.allBasenames));o&&(n.allBasenames=o.allBasenames);const r=e.reduce(((t,i)=>i.allPaths?t.concat(i.allPaths):t),[]);return r.length&&(n.allPaths=r),n}(e,i):(n=HR.exec(ZR(e,i)))?QR(n[1].substr(1),e,!0):(n=VR.exec(ZR(e,i)))?QR(n[1],e,!1):function(t){try{const i=new RegExp(`^${PR(t)}$`);return function(e){return i.lastIndex=0,"string"==typeof e&&i.test(e)?t:null}}catch(t){return KR}}(e),UR.set(s,o)),function(t,i){if("string"==typeof i)return t;const e=function(e,s){return dA(e,i.base,!St)?t(Qn(e.substr(i.base.length),as),s):null};return e.allBasenames=t.allBasenames,e.allPaths=t.allPaths,e.basenames=t.basenames,e.patterns=t.patterns,e}(o,t)}function ZR(t,i){return i.trimForExclusions&&t.endsWith("/**")?t.substr(0,t.length-2):t}function QR(t,i,e){const s=as===es.sep,n=s?t:t.replace(_R,as),o=as+n,r=es.sep+t;let h;return h=e?function(e){return"string"!=typeof e||e!==n&&!e.endsWith(o)&&(s||e!==t&&!e.endsWith(r))?null:i}:function(e){return"string"!=typeof e||e!==n&&(s||e!==t)?null:i},h.allPaths=[(e?"*/":"./")+t],h}function JR(t,i={}){if(!t)return qR;if("string"==typeof t||(e=t)&&"string"==typeof e.base&&"string"==typeof e.pattern){const e=GR(t,i);if(e===KR)return qR;const s=function(t,i){return!!e(t,i)};return e.allBasenames&&(s.allBasenames=e.allBasenames),e.allPaths&&(s.allPaths=e.allPaths),s}var e;return function(t,i){const e=YR(Object.getOwnPropertyNames(t).map((e=>function(t,i,e){if(!1===i)return KR;const s=GR(t,e);if(s===KR)return KR;if("boolean"==typeof i)return s;if(i){const e=i.when;if("string"==typeof e){const i=(i,n,o,r)=>{if(!r||!s(i,n))return null;const h=r(e.replace("$(basename)",(()=>o)));return sc(h)?h.then((i=>i?t:null)):h?t:null};return i.requiresSiblings=!0,i}}return s}(e,t[e],i))).filter((t=>t!==KR))),s=e.length;if(!s)return KR;if(!e.some((t=>!!t.requiresSiblings))){if(1===s)return e[0];const t=function(t,i){let s;for(let n=0,o=e.length;n{for(const t of s){const i=await t;if("string"==typeof i)return i}return null})():null},i=e.find((t=>!!t.allBasenames));i&&(t.allBasenames=i.allBasenames);const n=e.reduce(((t,i)=>i.allPaths?t.concat(i.allPaths):t),[]);return n.length&&(t.allPaths=n),t}const n=function(t,i,s){let n,o;for(let r=0,h=e.length;r{for(const t of o){const i=await t;if("string"==typeof i)return i}return null})():null},o=e.find((t=>!!t.allBasenames));o&&(n.allBasenames=o.allBasenames);const r=e.reduce(((t,i)=>i.allPaths?t.concat(i.allPaths):t),[]);return r.length&&(n.allPaths=r),n}(t,i)}function YR(t,i){const e=t.filter((t=>!!t.basenames));if(e.length<2)return t;const s=e.reduce(((t,i)=>{const e=i.basenames;return e?t.concat(e):t}),[]);let n;if(i){n=[];for(let t=0,e=s.length;t{const e=i.patterns;return e?t.concat(e):t}),[]);const o=function(t,i){if("string"!=typeof t)return null;if(!i){let e;for(e=t.length;e>0;e--){const i=t.charCodeAt(e-1);if(47===i||92===i)break}i=t.substr(e)}const e=s.indexOf(i);return-1!==e?n[e]:null};o.basenames=s,o.patterns=n,o.allBasenames=s;const r=t.filter((t=>!t.basenames));return r.push(o),r}function XR(t,i,e,s,n,o){if(Array.isArray(t)){let r=0;for(const h of t){const t=XR(h,i,e,s,n,o);if(10===t)return t;t>r&&(r=t)}return r}if("string"==typeof t)return s?"*"===t?5:t===e?10:0:0;if(t){const{language:c,pattern:a,scheme:l,hasAccessToAllModels:u,notebookType:d}=t;if(!s&&!u)return 0;d&&n&&(i=n);let f=0;if(l)if(l===i.scheme)f=10;else{if("*"!==l)return 0;f=5}if(c)if(c===e)f=10;else{if("*"!==c)return 0;f=Math.max(f,5)}if(d)if(d===o)f=10;else{if("*"!==d||void 0===o)return 0;f=Math.max(f,5)}if(a){let t;if(t="string"==typeof a?a:{...a,base:ss(a.base)},t!==i.fsPath&&(h=i.fsPath,!(r=t)||"string"!=typeof h||!JR(r)(h,void 0,undefined)))return 0;f=10}return f}return 0;var r,h}function tO(t){return"string"!=typeof t&&(Array.isArray(t)?t.every(tO):!!t.exclusive)}class iO{constructor(t,i,e,s){this.uri=t,this.languageId=i,this.notebookUri=e,this.notebookType=s}equals(t){var i,e;return this.notebookType===t.notebookType&&this.languageId===t.languageId&&this.uri.toString()===t.uri.toString()&&(null===(i=this.notebookUri)||void 0===i?void 0:i.toString())===(null===(e=t.notebookUri)||void 0===e?void 0:e.toString())}}class eO{constructor(t){this._notebookInfoResolver=t,this._clock=0,this._entries=[],this._onDidChange=new de,this.onDidChange=this._onDidChange.event}register(t,i){let e={selector:t,provider:i,_score:-1,_time:this._clock++};return this._entries.push(e),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),Yi((()=>{if(e){const t=this._entries.indexOf(e);t>=0&&(this._entries.splice(t,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),e=void 0)}}))}has(t){return this.all(t).length>0}all(t){if(!t)return[];this._updateScores(t);const i=[];for(const t of this._entries)t._score>0&&i.push(t.provider);return i}ordered(t){const i=[];return this._orderedForEach(t,(t=>i.push(t.provider))),i}orderedGroups(t){const i=[];let e,s;return this._orderedForEach(t,(t=>{e&&s===t._score?e.push(t.provider):(s=t._score,e=[t.provider],i.push(e))})),i}_orderedForEach(t,i){this._updateScores(t);for(const t of this._entries)t._score>0&&i(t)}_updateScores(t){var i,e;const s=null===(i=this._notebookInfoResolver)||void 0===i?void 0:i.call(this,t.uri),n=s?new iO(t.uri,t.getLanguageId(),s.uri,s.type):new iO(t.uri,t.getLanguageId(),void 0,void 0);if(!(null===(e=this._lastCandidate)||void 0===e?void 0:e.equals(n))){this._lastCandidate=n;for(const i of this._entries)if(i._score=XR(i.selector,n.uri,n.languageId,qf(t),n.notebookUri,n.notebookType),tO(i.selector)&&i._score>0){for(const t of this._entries)t._score=0;i._score=1e3;break}this._entries.sort(eO._compareByScoreAndTime)}}static _compareByScoreAndTime(t,i){return t._scorei._score?-1:sO(t.selector)&&!sO(i.selector)?1:!sO(t.selector)&&sO(i.selector)?-1:t._timei._time?-1:0}}function sO(t){return"string"!=typeof t&&(Array.isArray(t)?t.some(sO):Boolean(t.isBuiltin))}Cd(xg,class{constructor(){this.referenceProvider=new eO(this._score.bind(this)),this.renameProvider=new eO(this._score.bind(this)),this.codeActionProvider=new eO(this._score.bind(this)),this.definitionProvider=new eO(this._score.bind(this)),this.typeDefinitionProvider=new eO(this._score.bind(this)),this.declarationProvider=new eO(this._score.bind(this)),this.implementationProvider=new eO(this._score.bind(this)),this.documentSymbolProvider=new eO(this._score.bind(this)),this.inlayHintsProvider=new eO(this._score.bind(this)),this.colorProvider=new eO(this._score.bind(this)),this.codeLensProvider=new eO(this._score.bind(this)),this.documentFormattingEditProvider=new eO(this._score.bind(this)),this.documentRangeFormattingEditProvider=new eO(this._score.bind(this)),this.onTypeFormattingEditProvider=new eO(this._score.bind(this)),this.signatureHelpProvider=new eO(this._score.bind(this)),this.hoverProvider=new eO(this._score.bind(this)),this.documentHighlightProvider=new eO(this._score.bind(this)),this.multiDocumentHighlightProvider=new eO(this._score.bind(this)),this.selectionRangeProvider=new eO(this._score.bind(this)),this.foldingRangeProvider=new eO(this._score.bind(this)),this.linkProvider=new eO(this._score.bind(this)),this.inlineCompletionsProvider=new eO(this._score.bind(this)),this.completionProvider=new eO(this._score.bind(this)),this.linkedEditingRangeProvider=new eO(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new eO(this._score.bind(this)),this.documentSemanticTokensProvider=new eO(this._score.bind(this)),this.documentOnDropEditProvider=new eO(this._score.bind(this)),this.documentPasteEditProvider=new eO(this._score.bind(this))}_score(t){var i;return null===(i=this._notebookTypeResolver)||void 0===i?void 0:i.call(this,t)}},1);const nO=dr("IWorkspaceEditService");class oO{constructor(t){this.metadata=t}static convert(t){return t.edits.map((t=>{if(rO.is(t))return rO.lift(t);if(hO.is(t))return hO.lift(t);throw new Error("Unsupported edit")}))}}class rO extends oO{static is(t){return t instanceof rO||P(t)&&ms.isUri(t.resource)&&P(t.textEdit)}static lift(t){return t instanceof rO?t:new rO(t.resource,t.textEdit,t.versionId,t.metadata)}constructor(t,i,e,s){super(s),this.resource=t,this.textEdit=i,this.versionId=e}}class hO extends oO{static is(t){return t instanceof hO||P(t)&&(Boolean(t.newResource)||Boolean(t.oldResource))}static lift(t){return t instanceof hO?t:new hO(t.oldResource,t.newResource,t.options,t.metadata)}constructor(t,i,e={},s){super(s),this.oldResource=t,this.newResource=i,this.options=e}}const cO={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0},aO=Object.freeze({id:"editor",order:5,type:"object",title:ot(0,"Editor"),scope:5}),lO={...aO,properties:{"editor.tabSize":{type:"number",default:zt.tabSize,minimum:1,markdownDescription:ot(0,"The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:ot(0,'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:zt.insertSpaces,markdownDescription:ot(0,"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:zt.detectIndentation,markdownDescription:ot(0,"Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:zt.trimAutoWhitespace,description:ot(0,"Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:zt.largeFileOptimizations,description:ot(0,"Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[ot(0,"Turn off Word Based Suggestions."),ot(0,"Only suggest words from the active document."),ot(0,"Suggest words from all open documents of the same language."),ot(0,"Suggest words from all open documents.")],description:ot(0,"Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[ot(0,"Semantic highlighting enabled for all color themes."),ot(0,"Semantic highlighting disabled for all color themes."),ot(0,"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:ot(0,"Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:ot(0,"Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:ot(0,"Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!1,description:ot(0,"Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:ot(0,"Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:ot(0,"Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:ot(0,"Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:ot(0,"The opening bracket character or string sequence.")},{type:"string",description:ot(0,"The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:ot(0,"Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:ot(0,"The opening bracket character or string sequence.")},{type:"string",description:ot(0,"The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:cO.maxComputationTime,description:ot(0,"Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:cO.maxFileSize,description:ot(0,"Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:cO.renderSideBySide,description:ot(0,"Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:cO.renderSideBySideInlineBreakpoint,description:ot(0,"If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:cO.useInlineViewWhenSpaceIsLimited,description:ot(0,"If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:cO.renderMarginRevertIcon,description:ot(0,"When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:cO.ignoreTrimWhitespace,description:ot(0,"When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:cO.renderIndicators,description:ot(0,"Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:cO.diffCodeLens,description:ot(0,"Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:cO.diffWordWrap,markdownEnumDescriptions:[ot(0,"Lines will never wrap."),ot(0,"Lines will wrap at the viewport width."),ot(0,"Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:cO.diffAlgorithm,markdownEnumDescriptions:[ot(0,"Uses the legacy diffing algorithm."),ot(0,"Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:cO.hideUnchangedRegions.enabled,markdownDescription:ot(0,"Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:cO.hideUnchangedRegions.revealLineCount,markdownDescription:ot(0,"Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:cO.hideUnchangedRegions.minimumLineCount,markdownDescription:ot(0,"Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:cO.hideUnchangedRegions.contextLineCount,markdownDescription:ot(0,"Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:cO.experimental.showMoves,markdownDescription:ot(0,"Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:cO.experimental.showEmptyDecorations,description:ot(0,"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")}}};for(const t of Oi){const i=t.schema;if(void 0!==i)if(void 0!==(uO=i).type||void 0!==uO.anyOf)lO.properties[`editor.${t.name}`]=i;else for(const t in i)Object.hasOwnProperty.call(i,t)&&(lO.properties[t]=i[t])}var uO;let dO=null;function fO(){return null===dO&&(dO=Object.create(null),Object.keys(lO.properties).forEach((t=>{dO[t]=!0}))),dO}Dh.as(Md).registerConfiguration(lO);class pO{static insert(t,i){return{range:new Ms(t.lineNumber,t.column,t.lineNumber,t.column),text:i,forceMoveMarkers:!0}}static delete(t){return{range:t,text:null}}static replace(t,i){return{range:t,text:i}}static replaceMove(t,i){return{range:t,text:i,forceMoveMarkers:!0}}}function gO(t){return Object.isFrozen(t)?t:function(t){if(!t||"object"!=typeof t)return t;const i=[t];for(;i.length>0;){const t=i.shift();Object.freeze(t);for(const e in t)if(J.call(t,e)){const s=t[e];"object"!=typeof s||Object.isFrozen(s)||$(s)||i.push(s)}}return t}(t)}class mO{constructor(t={},i=[],e=[],s){this._contents=t,this._keys=i,this._overrides=e,this.raw=s,this.overrideConfigurations=new Map}get rawConfiguration(){var t;if(!this._rawConfiguration)if(null===(t=this.raw)||void 0===t?void 0:t.length){const t=this.raw.map((t=>{if(t instanceof mO)return t;const i=new wO("");return i.parseRaw(t),i.configurationModel}));this._rawConfiguration=t.reduce(((t,i)=>i===t?i:t.merge(i)),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length}getValue(t){return t?bd(this.contents,t):this.contents}inspect(t,i){const e=this.rawConfiguration.getValue(t);return{value:e,override:i?this.rawConfiguration.getOverrideValue(t,i):void 0,merged:i?this.rawConfiguration.override(i).getValue(t):e}}getOverrideValue(t,i){const e=this.getContentsForOverrideIdentifer(i);return e?t?bd(e,t):e:void 0}override(t){let i=this.overrideConfigurations.get(t);return i||(i=this.createOverrideConfigurationModel(t),this.overrideConfigurations.set(t,i)),i}merge(...t){var i,e;const s=Q(this.contents),n=Q(this.overrides),o=[...this.keys],r=(null===(i=this.raw)||void 0===i?void 0:i.length)?[...this.raw]:[this];for(const i of t)if(r.push(...(null===(e=i.raw)||void 0===e?void 0:e.length)?i.raw:[i]),!i.isEmpty()){this.mergeContents(s,i.contents);for(const t of i.overrides){const[i]=n.filter((i=>l(i.identifiers,t.identifiers)));i?(this.mergeContents(i.contents,t.contents),i.keys.push(...t.keys),i.keys=y(i.keys)):n.push(Q(t))}for(const t of i.keys)-1===o.indexOf(t)&&o.push(t)}return new mO(s,o,n,r.every((t=>t instanceof mO))?void 0:r)}createOverrideConfigurationModel(t){const i=this.getContentsForOverrideIdentifer(t);if(!i||"object"!=typeof i||!Object.keys(i).length)return this;const e={};for(const t of y([...Object.keys(this.contents),...Object.keys(i)])){let s=this.contents[t];const n=i[t];n&&("object"==typeof s&&"object"==typeof n?(s=Q(s),this.mergeContents(s,n)):s=n),e[t]=s}return new mO(e,this.keys,this.overrides)}mergeContents(t,i){for(const e of Object.keys(i))e in t&&P(t[e])&&P(i[e])?this.mergeContents(t[e],i[e]):t[e]=Q(i[e])}getContentsForOverrideIdentifer(t){let i=null,e=null;const s=t=>{t&&(e?this.mergeContents(e,t):e=Q(t))};for(const e of this.overrides)1===e.identifiers.length&&e.identifiers[0]===t?i=e.contents:e.identifiers.includes(t)&&s(e.contents);return s(i),e}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(t,i){this.updateValue(t,i,!0)}setValue(t,i){this.updateValue(t,i,!1)}removeValue(t){const i=this.keys.indexOf(t);-1!==i&&(this.keys.splice(i,1),wd(this.contents,t),Wd.test(t)&&this.overrides.splice(this.overrides.findIndex((i=>l(i.identifiers,jd(t)))),1))}updateValue(t,i,e){md(this.contents,t,i,(t=>console.error(t))),(e=e||-1===this.keys.indexOf(t))&&this.keys.push(t),Wd.test(t)&&this.overrides.push({identifiers:jd(t),keys:Object.keys(this.contents[t]),contents:gd(this.contents[t],(t=>console.error(t)))})}}class wO{constructor(t){this._name=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||new mO}parseRaw(t,i){this._raw=t;const{contents:e,keys:s,overrides:n,restricted:o,hasExcludedProperties:r}=this.doParseRaw(t,i);this._configurationModel=new mO(e,s,n,r?[t]:void 0),this._restrictedConfigurations=o||[]}doParseRaw(t,i){const e=Dh.as(Md).getConfigurationProperties(),s=this.filter(t,e,!0,i);return{contents:gd(t=s.raw,(t=>console.error(`Conflict in settings file ${this._name}: ${t}`))),keys:Object.keys(t),overrides:this.toOverrides(t,(t=>console.error(`Conflict in settings file ${this._name}: ${t}`))),restricted:s.restricted,hasExcludedProperties:s.hasExcludedProperties}}filter(t,i,e,s){var n,o,r;let h=!1;if(!(null==s?void 0:s.scopes)&&!(null==s?void 0:s.skipRestricted)&&!(null===(n=null==s?void 0:s.exclude)||void 0===n?void 0:n.length))return{raw:t,restricted:[],hasExcludedProperties:h};const c={},a=[];for(const n in t)if(Wd.test(n)&&e){const e=this.filter(t[n],i,!1,s);c[n]=e.raw,h=h||e.hasExcludedProperties,a.push(...e.restricted)}else{const e=i[n],l=e?void 0!==e.scope?e.scope:3:void 0;(null==e?void 0:e.restricted)&&a.push(n),(null===(o=s.exclude)||void 0===o?void 0:o.includes(n))||!(null===(r=s.include)||void 0===r?void 0:r.includes(n))&&(void 0!==l&&void 0!==s.scopes&&!s.scopes.includes(l)||s.skipRestricted&&(null==e?void 0:e.restricted))?h=!0:c[n]=t[n]}return{raw:c,restricted:a,hasExcludedProperties:h}}toOverrides(t,i){const e=[];for(const s of Object.keys(t))if(Wd.test(s)){const n={};for(const i in t[s])n[i]=t[s][i];e.push({identifiers:jd(s),keys:Object.keys(n),contents:gd(n,i)})}return e}}class vO{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d){this.key=t,this.overrides=i,this._value=e,this.overrideIdentifiers=s,this.defaultConfiguration=n,this.policyConfiguration=o,this.applicationConfiguration=r,this.userConfiguration=h,this.localUserConfiguration=c,this.remoteUserConfiguration=a,this.workspaceConfiguration=l,this.folderConfigurationModel=u,this.memoryConfigurationModel=d}inspect(t,i,e){const s=t.inspect(i,e);return{get value(){return gO(s.value)},get override(){return gO(s.override)},get merged(){return gO(s.merged)}}}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.inspect(this.userConfiguration,this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return void 0!==this.userInspectValue.value||void 0!==this.userInspectValue.override?{value:this.userInspectValue.value,override:this.userInspectValue.override}:void 0}}class bO{constructor(t,i,e,s,n=new mO,o=new mO,r=new zp,h=new mO,c=new zp){this._defaultConfiguration=t,this._policyConfiguration=i,this._applicationConfiguration=e,this._localUserConfiguration=s,this._remoteUserConfiguration=n,this._workspaceConfiguration=o,this._folderConfigurations=r,this._memoryConfiguration=h,this._memoryConfigurationByResource=c,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new zp,this._userConfiguration=null}getValue(t,i,e){return this.getConsolidatedConfigurationModel(t,i,e).getValue(t)}updateValue(t,i,e={}){let s;e.resource?(s=this._memoryConfigurationByResource.get(e.resource),s||(s=new mO,this._memoryConfigurationByResource.set(e.resource,s))):s=this._memoryConfiguration,void 0===i?s.removeValue(t):s.setValue(t,i),e.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(t,i,e){const s=this.getConsolidatedConfigurationModel(t,i,e),n=this.getFolderConfigurationModelForResource(i.resource,e),o=i.resource&&this._memoryConfigurationByResource.get(i.resource)||this._memoryConfiguration,r=new Set;for(const i of s.overrides)for(const e of i.identifiers)void 0!==s.getOverrideValue(t,e)&&r.add(e);return new vO(t,i,s.getValue(t),r.size?[...r]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,e?this._workspaceConfiguration:void 0,n||void 0,o)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(t,i,e){let s=this.getConsolidatedConfigurationModelForResource(i,e);return i.overrideIdentifier&&(s=s.override(i.overrideIdentifier)),this._policyConfiguration.isEmpty()||void 0===this._policyConfiguration.getValue(t)||(s=s.merge(this._policyConfiguration)),s}getConsolidatedConfigurationModelForResource({resource:t},i){let e=this.getWorkspaceConsolidatedConfiguration();if(i&&t){const s=i.getFolder(t);s&&(e=this.getFolderConsolidatedConfiguration(s.uri)||e);const n=this._memoryConfigurationByResource.get(t);n&&(e=e.merge(n))}return e}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(t){let i=this._foldersConsolidatedConfigurations.get(t);if(!i){const e=this.getWorkspaceConsolidatedConfiguration(),s=this._folderConfigurations.get(t);s?(i=e.merge(s),this._foldersConsolidatedConfigurations.set(t,i)):i=e}return i}getFolderConfigurationModelForResource(t,i){if(i&&t){const e=i.getFolder(t);if(e)return this._folderConfigurations.get(e.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce(((t,i)=>{const{contents:e,overrides:s,keys:n}=this._folderConfigurations.get(i);return t.push([i,{contents:e,overrides:s,keys:n}]),t}),[])}}static parse(t){const i=this.parseConfigurationModel(t.defaults),e=this.parseConfigurationModel(t.policy),s=this.parseConfigurationModel(t.application),n=this.parseConfigurationModel(t.user),o=this.parseConfigurationModel(t.workspace),r=t.folders.reduce(((t,i)=>(t.set(ms.revive(i[0]),this.parseConfigurationModel(i[1])),t)),new zp);return new bO(i,e,s,n,new mO,o,r,new mO,new zp)}static parseConfigurationModel(t){return new mO(t.contents,t.keys,t.overrides)}}class yO{constructor(t,i,e,s){this.change=t,this.previous=i,this.currentConfiguraiton=e,this.currentWorkspace=s,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=".".charCodeAt(0),this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const i of t.keys)this.affectedKeys.add(i);for(const[,i]of t.overrides)for(const t of i)this.affectedKeys.add(t);this._affectsConfigStr=this._marker;for(const t of this.affectedKeys)this._affectsConfigStr+=t+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=bO.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(t,i){var e;const s=this._marker+t,n=this._affectsConfigStr.indexOf(s);if(n<0)return!1;const o=n+s.length;if(o>=this._affectsConfigStr.length)return!1;const r=this._affectsConfigStr.charCodeAt(o);return(r===this._markerCode1||r===this._markerCode2)&&(!i||!it(this.previousConfiguration?this.previousConfiguration.getValue(t,i,null===(e=this.previous)||void 0===e?void 0:e.workspace):void 0,this.currentConfiguraiton.getValue(t,i,this.currentWorkspace)))}}const kO={kind:0},xO={kind:1};class CO{constructor(t,i,e){var s;this._log=e,this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(const i of t){const t=i.command;t&&"-"!==t.charAt(0)&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=CO.handleRemovals([].concat(t).concat(i));for(let t=0,i=this._keybindings.length;t=0;t--){const s=e[t];if(s.command===i.command)continue;let n=!0;for(let t=1;t=0;t--){const s=e[t];if(i.contextMatchesRules(s.when))return s}return e[e.length-1]}resolve(t,i,e){const s=[...i,e];this._log(`| Resolving ${s}`);const n=this._map.get(s[0]);if(void 0===n)return this._log("\\ No keybinding entries."),kO;let o=null;if(s.length<2)o=n;else{o=[];for(let t=0,i=n.length;ti.chords.length)continue;let e=!0;for(let t=1;t=0;e--){const s=i[e];if(CO._contextMatchesRules(t,s.when))return s}return null}static _contextMatchesRules(t,i){return!i||i.evaluate(t)}}function SO(t){return t?`${t.serialize()}`:"no when condition"}function DO(t){return t.extensionId?t.isBuiltinExtension?`built-in extension ${t.extensionId}`:`user extension ${t.extensionId}`:t.isDefault?"built-in":"user"}const EO=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class AO extends te{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:he.None}get inChordMode(){return this._currentChords.length>0}constructor(t,i,e,s,n){super(),this._contextKeyService=t,this._commandService=i,this._telemetryService=e,this._notificationService=s,this._logService=n,this._onDidUpdateKeybindings=this._register(new de),this._currentChords=[],this._currentChordChecker=new fc,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=MO.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new dc,this._logging=!1}dispose(){super.dispose()}_log(t){this._logging&&this._logService.info(`[KeybindingService]: ${t}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(t,i){const e=this._getResolver().lookupPrimaryKeybinding(t,i||this._contextKeyService);if(e)return e.resolvedKeybinding}dispatchEvent(t,i){return this._dispatch(t,i)}softDispatch(t,i){this._log("/ Soft dispatching keyboard event");const e=this.resolveKeyboardEvent(t);if(e.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),kO;const[s]=e.getDispatchChords();if(null===s)return this._log("\\ Keyboard event cannot be dispatched"),kO;const n=this._contextKeyService.getContext(i),o=this._currentChords.map((({keypress:t})=>t));return this._getResolver().resolve(n,o,s)}_scheduleLeaveChordMode(){const t=Date.now();this._currentChordChecker.cancelAndSet((()=>{this._documentHasFocus()?Date.now()-t>5e3&&this._leaveChordMode():this._leaveChordMode()}),500)}_expectAnotherChord(t,i){switch(this._currentChords.push({keypress:t,label:i}),this._currentChords.length){case 0:throw Vi("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(ot(0,"({0}) was pressed. Waiting for second key of chord...",i));break;default:{const t=this._currentChords.map((({label:t})=>t)).join(", ");this._currentChordStatusMessage=this._notificationService.status(ot(0,"({0}) was pressed. Waiting for next key of chord...",t))}}this._scheduleLeaveChordMode(),nC.enabled&&nC.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],nC.enable()}_dispatch(t,i){return this._doDispatch(this.resolveKeyboardEvent(t),i,!1)}_singleModifierDispatch(t,i){const e=this.resolveKeyboardEvent(t),[s]=e.getSingleModifierDispatchChords();if(s)return this._ignoreSingleModifiers.has(s)?(this._log(`+ Ignoring single modifier ${s} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=MO.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=MO.EMPTY,null===this._currentSingleModifier?(this._log(`+ Storing single modifier for possible chord ${s}.`),this._currentSingleModifier=s,this._currentSingleModifierClearTimeout.cancelAndSet((()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null}),300),!1):s===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${s} ${s}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(e,i,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${s}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[n]=e.getChords();return this._ignoreSingleModifiers=new MO(n),null!==this._currentSingleModifier&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(t,i,e=!1){var s;let n=!1;if(t.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let o=null,r=null;if(e){const[i]=t.getSingleModifierDispatchChords();o=i,r=i?[i]:[]}else[o]=t.getDispatchChords(),r=this._currentChords.map((({keypress:t})=>t));if(null===o)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),n;const h=this._contextKeyService.getContext(i),c=t.getLabel(),a=this._getResolver().resolve(h,r,o);switch(a.kind){case 0:if(this._logService.trace("KeybindingService#dispatch",c,"[ No matching keybinding ]"),this.inChordMode){const t=this._currentChords.map((({label:t})=>t)).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${t}, ${c}".`),this._notificationService.status(ot(0,"The key combination ({0}, {1}) is not a command.",t,c),{hideAfter:1e4}),this._leaveChordMode(),n=!0}return n;case 1:return this._logService.trace("KeybindingService#dispatch",c,"[ Several keybindings match - more chords needed ]"),n=!0,this._expectAnotherChord(o,c),this._log(1===this._currentChords.length?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),n;case 2:if(this._logService.trace("KeybindingService#dispatch",c,`[ Will dispatch command ${a.commandId} ]`),null===a.commandId||""===a.commandId){if(this.inChordMode){const t=this._currentChords.map((({label:t})=>t)).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${t}, ${c}".`),this._notificationService.status(ot(0,"The key combination ({0}, {1}) is not a command.",t,c),{hideAfter:1e4}),this._leaveChordMode(),n=!0}}else this.inChordMode&&this._leaveChordMode(),a.isBubble||(n=!0),this._log(`+ Invoking command ${a.commandId}.`),void 0===a.commandArgs?this._commandService.executeCommand(a.commandId).then(void 0,(t=>this._notificationService.warn(t))):this._commandService.executeCommand(a.commandId,a.commandArgs).then(void 0,(t=>this._notificationService.warn(t))),EO.test(a.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:a.commandId,from:"keybinding",detail:null!==(s=t.getUserSettingsLabel())&&void 0!==s?s:void 0});return n}}mightProducePrintableCharacter(t){return!t.ctrlKey&&!t.metaKey&&(t.keyCode>=31&&t.keyCode<=56||t.keyCode>=21&&t.keyCode<=30)}}class MO{constructor(t){this._ctrlKey=!!t&&t.ctrlKey,this._shiftKey=!!t&&t.shiftKey,this._altKey=!!t&&t.altKey,this._metaKey=!!t&&t.metaKey}has(t){switch(t){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}MO.EMPTY=new MO(null);class LO{constructor(t,i,e,s,n,o,r){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=t,this.chords=t?FO(t.getDispatchChords()):[],t&&0===this.chords.length&&(this.chords=FO(t.getSingleModifierDispatchChords())),this.bubble=!!i&&94===i.charCodeAt(0),this.command=this.bubble?i.substr(1):i,this.commandArgs=e,this.when=s,this.isDefault=n,this.extensionId=o,this.isBuiltinExtension=r}}function FO(t){const i=[];for(let e=0,s=t.length;ethis._getLabel(t)))}getAriaLabel(){return OO.toLabel(this._os,this._chords,(t=>this._getAriaLabel(t)))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:IO.toLabel(this._os,this._chords,(t=>this._getElectronAccelerator(t)))}getUserSettingsLabel(){return _O.toLabel(this._os,this._chords,(t=>this._getUserSettingsLabel(t)))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map((t=>this._getChord(t)))}_getChord(t){return new bh(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,this._getLabel(t),this._getAriaLabel(t))}getDispatchChords(){return this._chords.map((t=>this._getChordDispatch(t)))}getSingleModifierDispatchChords(){return this._chords.map((t=>this._getSingleModifierChordDispatch(t)))}}class PO extends BO{constructor(t,i){super(i,t)}_keyCodeToUILabel(t){if(2===this._os)switch(t){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return _e.toString(t)}_getLabel(t){return t.isDuplicateModifierCase()?"":this._keyCodeToUILabel(t.keyCode)}_getAriaLabel(t){return t.isDuplicateModifierCase()?"":_e.toString(t.keyCode)}_getElectronAccelerator(t){return _e.toElectronAccelerator(t.keyCode)}_getUserSettingsLabel(t){if(t.isDuplicateModifierCase())return"";const i=_e.toUserSettingsUS(t.keyCode);return i?i.toLowerCase():i}_getChordDispatch(t){return PO.getDispatchStr(t)}static getDispatchStr(t){if(t.isModifierKey())return null;let i="";return t.ctrlKey&&(i+="ctrl+"),t.shiftKey&&(i+="shift+"),t.altKey&&(i+="alt+"),t.metaKey&&(i+="meta+"),i+=_e.toString(t.keyCode),i}_getSingleModifierChordDispatch(t){return 5!==t.keyCode||t.shiftKey||t.altKey||t.metaKey?4!==t.keyCode||t.ctrlKey||t.altKey||t.metaKey?6!==t.keyCode||t.ctrlKey||t.shiftKey||t.metaKey?57!==t.keyCode||t.ctrlKey||t.shiftKey||t.altKey?null:"meta":"alt":"shift":"ctrl"}static _scanCodeToKeyCode(t){const i=Oe[t];if(-1!==i)return i;switch(t){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(t){if(!t)return null;if(t instanceof wh)return t;const i=this._scanCodeToKeyCode(t.scanCode);return 0===i?null:new wh(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,i)}static resolveKeybinding(t,i){const e=FO(t.chords.map((t=>this._toKeyCodeChord(t))));return e.length>0?[new PO(e,i)]:[]}}const $O=dr("labelService"),WO=dr("progressService");Object.freeze({total(){},worked(){},done(){}});class jO{constructor(t){this.callback=t}report(t){this._value=t,this.callback(this._value)}}jO.None=Object.freeze({report(){}});const zO=dr("editorProgressService");class HO{constructor(){this._value="",this._pos=0}reset(t){return this._value=t,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;i--,this._valueLen--){const t=this._value.charCodeAt(i);if(!(47===t||this._splitOnBackslash&&92===t))break}return this.next()}hasNext(){return this._to!1),i=(()=>!1)){return new GO(new qO(t,i))}static forStrings(){return new GO(new HO)}static forConfigKeys(){return new GO(new VO)}constructor(t){this._iter=t}clear(){this._root=void 0}set(t,i){const e=this._iter.reset(t);let s;this._root||(this._root=new KO,this._root.segment=e.value());const n=[];for(s=this._root;;){const t=e.cmp(s.segment);if(t>0)s.left||(s.left=new KO,s.left.segment=e.value()),n.push([-1,s]),s=s.left;else if(t<0)s.right||(s.right=new KO,s.right.segment=e.value()),n.push([1,s]),s=s.right;else{if(!e.hasNext())break;e.next(),s.mid||(s.mid=new KO,s.mid.segment=e.value()),n.push([0,s]),s=s.mid}}const o=s.value;s.value=i,s.key=t;for(let t=n.length-1;t>=0;t--){const i=n[t][1];i.updateHeight();const e=i.balanceFactor();if(e<-1||e>1){const e=n[t][0],s=n[t+1][0];if(1===e&&1===s)n[t][1]=i.rotateLeft();else if(-1===e&&-1===s)n[t][1]=i.rotateRight();else if(1===e&&-1===s)i.right=n[t+1][1]=n[t+1][1].rotateRight(),n[t][1]=i.rotateLeft();else{if(-1!==e||1!==s)throw new Error;i.left=n[t+1][1]=n[t+1][1].rotateLeft(),n[t][1]=i.rotateRight()}if(t>0)switch(n[t-1][0]){case-1:n[t-1][1].left=n[t][1];break;case 1:n[t-1][1].right=n[t][1];break;case 0:n[t-1][1].mid=n[t][1]}else this._root=n[0][1]}}return o}get(t){var i;return null===(i=this._getNode(t))||void 0===i?void 0:i.value}_getNode(t){const i=this._iter.reset(t);let e=this._root;for(;e;){const t=i.cmp(e.segment);if(t>0)e=e.left;else if(t<0)e=e.right;else{if(!i.hasNext())break;i.next(),e=e.mid}}return e}has(t){const i=this._getNode(t);return!(void 0===(null==i?void 0:i.value)&&void 0===(null==i?void 0:i.mid))}delete(t){return this._delete(t,!1)}deleteSuperstr(t){return this._delete(t,!0)}_delete(t,i){var e;const s=this._iter.reset(t),n=[];let o=this._root;for(;o;){const t=s.cmp(o.segment);if(t>0)n.push([-1,o]),o=o.left;else if(t<0)n.push([1,o]),o=o.right;else{if(!s.hasNext())break;s.next(),n.push([0,o]),o=o.mid}}if(o){if(i?(o.left=void 0,o.mid=void 0,o.right=void 0,o.height=1):(o.key=void 0,o.value=void 0),!o.mid&&!o.value)if(o.left&&o.right){const t=this._min(o.right);if(t.key){const{key:i,value:e,segment:s}=t;this._delete(t.key,!1),o.key=i,o.value=e,o.segment=s}}else{const t=null!==(e=o.left)&&void 0!==e?e:o.right;if(n.length>0){const[i,e]=n[n.length-1];switch(i){case-1:e.left=t;break;case 0:e.mid=t;break;case 1:e.right=t}}else this._root=t}for(let t=n.length-1;t>=0;t--){const i=n[t][1];i.updateHeight();const e=i.balanceFactor();if(e>1?(i.right.balanceFactor()>=0||(i.right=i.right.rotateRight()),n[t][1]=i.rotateLeft()):e<-1&&(i.left.balanceFactor()<=0||(i.left=i.left.rotateLeft()),n[t][1]=i.rotateRight()),t>0)switch(n[t-1][0]){case-1:n[t-1][1].left=n[t][1];break;case 1:n[t-1][1].right=n[t][1];break;case 0:n[t-1][1].mid=n[t][1]}else this._root=n[0][1]}}}_min(t){for(;t.left;)t=t.left;return t}findSubstr(t){const i=this._iter.reset(t);let e,s=this._root;for(;s;){const t=i.cmp(s.segment);if(t>0)s=s.left;else if(t<0)s=s.right;else{if(!i.hasNext())break;i.next(),e=s.value||e,s=s.mid}}return s&&s.value||e}findSuperstr(t){return this._findSuperstrOrElement(t,!1)}_findSuperstrOrElement(t,i){const e=this._iter.reset(t);let s=this._root;for(;s;){const t=e.cmp(s.segment);if(t>0)s=s.left;else if(t<0)s=s.right;else{if(!e.hasNext())return s.mid?this._entries(s.mid):i?s.value:void 0;e.next(),s=s.mid}}}forEach(t){for(const[i,e]of this)t(e,i)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(t){const i=[];return this._dfsEntries(t,i),i[Symbol.iterator]()}_dfsEntries(t,i){t&&(t.left&&this._dfsEntries(t.left,i),t.value&&i.push([t.key,t.value]),t.mid&&this._dfsEntries(t.mid,i),t.right&&this._dfsEntries(t.right,i))}}const ZO=dr("contextService");function QO(t){return"string"==typeof(null==t?void 0:t.id)&&ms.isUri(t.uri)}const JO={id:"empty-window"};class YO{constructor(t,i){this.raw=i,this.uri=t.uri,this.index=t.index,this.name=t.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}ot(0,"Code Workspace");const XO="4064f6ec-cb38-4ad0-af64-ee6467e63c82";var tI,iI,eI,sI,nI,oI,rI,hI;!function(t){t.inspectTokensAction=ot(0,"Developer: Inspect Tokens")}(tI||(tI={})),function(t){t.gotoLineActionLabel=ot(0,"Go to Line/Column...")}(iI||(iI={})),function(t){t.helpQuickAccessActionLabel=ot(0,"Show all Quick Access Providers")}(eI||(eI={})),function(t){t.quickCommandActionLabel=ot(0,"Command Palette"),t.quickCommandHelp=ot(0,"Show And Run Commands")}(sI||(sI={})),function(t){t.quickOutlineActionLabel=ot(0,"Go to Symbol..."),t.quickOutlineByCategoryActionLabel=ot(0,"Go to Symbol by Category...")}(nI||(nI={})),function(t){t.editorViewAccessibleLabel=ot(0,"Editor content"),t.accessibilityHelpMessage=ot(0,"Press Alt+F1 for Accessibility Options.")}(oI||(oI={})),function(t){t.toggleHighContrast=ot(0,"Toggle High Contrast Theme")}(rI||(rI={})),function(t){t.bulkEditServiceSummary=ot(0,"Made {0} edits in {1} files")}(hI||(hI={}));const cI=dr("workspaceTrustManagementService"),aI=dr("contextViewService"),lI=dr("contextMenuService");var uI,dI;function fI(t,i,e){const s=e.mode===dI.ALIGN?e.offset:e.offset+e.size,n=e.mode===dI.ALIGN?e.offset+e.size:e.offset;return 0===e.position?i<=t-s?s:i<=n?n-i:Math.max(t-i,0):i<=n?n-i:i<=t-s?s:0}!function(t){function i(t,i){if(t.start>=i.end||i.start>=t.end)return{start:0,end:0};const e=Math.max(t.start,i.start),s=Math.min(t.end,i.end);return s-e<=0?{start:0,end:0}:{start:e,end:s}}function e(t){return t.end-t.start<=0}t.intersect=i,t.isEmpty=e,t.intersects=function(t,s){return!e(i(t,s))},t.relativeComplement=function(t,i){const s=[],n={start:t.start,end:Math.min(i.start,t.end)},o={start:Math.max(i.end,t.start),end:t.end};return e(n)||s.push(n),e(o)||s.push(o),s}}(uI||(uI={})),function(t){t[t.AVOID=0]="AVOID",t[t.ALIGN=1]="ALIGN"}(dI||(dI={}));class pI extends te{constructor(t,i){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=te.None,this.toDisposeOnSetContainer=te.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=$l(".context-view"),jl(this.view),this.setContainer(t,i),this._register(Yi((()=>this.setContainer(null,1))))}setContainer(t,i){var e;this.useFixedPosition=1!==i;const s=this.useShadowDOM;if(this.useShadowDOM=3===i,(t!==this.container||s===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,null===(e=this.shadowRootHostElement)||void 0===e||e.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),t)){if(this.container=t,this.useShadowDOM){this.shadowRootHostElement=$l(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const t=document.createElement("style");t.textContent=gI,this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild($l("slot"))}else this.container.appendChild(this.view);const i=new Xi;pI.BUBBLE_UP_EVENTS.forEach((t=>{i.add(qa(this.container,t,(t=>{this.onDOMEvent(t,!1)})))})),pI.BUBBLE_DOWN_EVENTS.forEach((t=>{i.add(qa(this.container,t,(t=>{this.onDOMEvent(t,!0)}),!0))})),this.toDisposeOnSetContainer=i}}show(t){var i,e;this.isVisible()&&this.hide(),za(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="2575",this.view.style.position=this.useFixedPosition?"fixed":"absolute",Wl(this.view),this.toDisposeOnClean=t.render(this.view)||te.None,this.delegate=t,this.doLayout(),null===(e=(i=this.delegate).focus)||void 0===e||e.call(i)}getViewElement(){return this.view}layout(){this.isVisible()&&(!1!==this.delegate.canRelayout||Mt&&Kh?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())}doLayout(){if(!this.isVisible())return;const t=this.delegate.getAnchor();let i;if(t instanceof HTMLElement){const e=nl(t),s=function(t){let i=t,e=1;do{const t=Xa(i).zoom;null!=t&&"1"!==t&&(e*=t),i=i.parentElement}while(null!==i&&i!==i.ownerDocument.documentElement);return e}(t);i={top:e.top*s,left:e.left*s,width:e.width*s,height:e.height*s}}else i=(e=t)&&"number"==typeof e.x&&"number"==typeof e.y?{top:t.y,left:t.x,width:t.width||1,height:t.height||2}:{top:t.posy,left:t.posx,width:2,height:2};var e;const s=ol(this.view),n=cl(this.view),o=this.delegate.anchorPosition||0,r=this.delegate.anchorAlignment||0,h=this.delegate.anchorAxisAlignment||0;let c,a;const l=function(){var t,i;return null!==(i=null===(t=ml().defaultView)||void 0===t?void 0:t.window)&&void 0!==i?i:$n}();if(0===h){const t={offset:i.top-l.pageYOffset,size:i.height,position:0===o?0:1},e={offset:i.left,size:i.width,position:0===r?0:1,mode:dI.ALIGN};c=fI(l.innerHeight,n,t)+l.pageYOffset,uI.intersects({start:c,end:c+n},{start:t.offset,end:t.offset+t.size})&&(e.mode=dI.AVOID),a=fI(l.innerWidth,s,e)}else{const t={offset:i.left,size:i.width,position:0===r?0:1},e={offset:i.top,size:i.height,position:0===o?0:1,mode:dI.ALIGN};a=fI(l.innerWidth,s,t),uI.intersects({start:a,end:a+s},{start:t.offset,end:t.offset+t.size})&&(e.mode=dI.AVOID),c=fI(l.innerHeight,n,e)+l.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(0===o?"bottom":"top"),this.view.classList.add(0===r?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const u=nl(this.container);this.view.style.top=c-(this.useFixedPosition?nl(this.view).top:u.top)+"px",this.view.style.left=a-(this.useFixedPosition?nl(this.view).left:u.left)+"px",this.view.style.width="initial"}hide(t){const i=this.delegate;this.delegate=null,(null==i?void 0:i.onHide)&&i.onHide(t),this.toDisposeOnClean.dispose(),jl(this.view)}isVisible(){return!!this.delegate}onDOMEvent(t,i){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(t,Na(t).document.activeElement):i&&!al(t.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}pI.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],pI.BUBBLE_DOWN_EVENTS=["click"];const gI='\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';let mI=class extends te{constructor(t){super(),this.layoutService=t,this.currentViewDisposable=te.None,this.contextView=this._register(new pI(this.layoutService.mainContainer,1)),this.layout(),this._register(t.onDidLayoutContainer((()=>this.layout())))}showContextView(t,i,e){let s;s=i?i===this.layoutService.getContainer(Na(i))?1:e?3:2:1,this.contextView.setContainer(null!=i?i:this.layoutService.activeContainer,s),this.contextView.show(t);const n=Yi((()=>{this.currentViewDisposable===n&&this.hideContextView()}));return this.currentViewDisposable=n,n}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(t){this.contextView.hide(t)}dispose(){super.dispose(),this.currentViewDisposable.dispose(),this.currentViewDisposable=te.None}};mI=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,qT)],mI);let wI=[],vI=[],bI=[];function yI(t,i=!1){!function(t,i,e){const s=function(t){return{id:t.id,mime:t.mime,filename:t.filename,extension:t.extension,filepattern:t.filepattern,firstline:t.firstline,userConfigured:false,filenameLowercase:t.filename?t.filename.toLowerCase():void 0,extensionLowercase:t.extension?t.extension.toLowerCase():void 0,filepatternLowercase:t.filepattern?JR(t.filepattern.toLowerCase()):void 0,filepatternOnPath:!!t.filepattern&&t.filepattern.indexOf(es.sep)>=0}}(t);wI.push(s),s.userConfigured?bI.push(s):vI.push(s),e&&!s.userConfigured&&wI.forEach((t=>{t.mime===s.mime||t.userConfigured||(s.extension&&t.extension===s.extension&&console.warn(`Overwriting extension <<${s.extension}>> to now point to mime <<${s.mime}>>`),s.filename&&t.filename===s.filename&&console.warn(`Overwriting filename <<${s.filename}>> to now point to mime <<${s.mime}>>`),s.filepattern&&t.filepattern===s.filepattern&&console.warn(`Overwriting filepattern <<${s.filepattern}>> to now point to mime <<${s.mime}>>`),s.firstline&&t.firstline===s.firstline&&console.warn(`Overwriting firstline <<${s.firstline}>> to now point to mime <<${s.mime}>>`))}))}(t,0,i)}function kI(t,i,e){var s;let n,o,r;for(let h=e.length-1;h>=0;h--){const c=e[h];if(i===c.filenameLowercase){n=c;break}c.filepattern&&(!o||c.filepattern.length>o.filepattern.length)&&(null===(s=c.filepatternLowercase)||void 0===s?void 0:s.call(c,c.filepatternOnPath?t:i))&&(o=c),c.extension&&(!r||c.extension.length>r.extension.length)&&i.endsWith(c.extensionLowercase)&&(r=c)}return n||o||r||void 0}const xI=Object.prototype.hasOwnProperty,CI="vs.editor.nullLanguage";class SI{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(CI,0),this._register(Ud,1),this._nextLanguageId=2}_register(t,i){this._languageIdToLanguage[i]=t,this._languageToLanguageId.set(t,i)}register(t){if(this._languageToLanguageId.has(t))return;const i=this._nextLanguageId++;this._register(t,i)}encodeLanguageId(t){return this._languageToLanguageId.get(t)||0}decodeLanguageId(t){return this._languageIdToLanguage[t]||CI}}class DI extends te{constructor(t=!0,i=!1){super(),this._onDidChange=this._register(new de),this.onDidChange=this._onDidChange.event,DI.instanceCount++,this._warnOnOverwrite=i,this.languageIdCodec=new SI,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},t&&(this._initializeFromRegistry(),this._register(Vd.onDidChangeLanguages((()=>{this._initializeFromRegistry()}))))}dispose(){DI.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},wI=wI.filter((t=>t.userConfigured)),vI=[];const t=[].concat(Vd.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(t)}_registerLanguages(t){for(const i of t)this._registerLanguage(i);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((t=>{const i=this._languages[t];i.name&&(this._nameMap[i.name]=i.identifier),i.aliases.forEach((t=>{this._lowercaseNameMap[t.toLowerCase()]=i.identifier})),i.mimetypes.forEach((t=>{this._mimeTypesMap[t]=i.identifier}))})),Dh.as(Md).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(t){const i=t.id;let e;xI.call(this._languages,i)?e=this._languages[i]:(this.languageIdCodec.register(i),e={identifier:i,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[i]=e),this._mergeLanguage(e,t)}_mergeLanguage(t,i){const e=i.id;let s=null;if(Array.isArray(i.mimetypes)&&i.mimetypes.length>0&&(t.mimetypes.push(...i.mimetypes),s=i.mimetypes[0]),s||(s=`text/x-${e}`,t.mimetypes.push(s)),Array.isArray(i.extensions)){t.extensions=i.configuration?i.extensions.concat(t.extensions):t.extensions.concat(i.extensions);for(const t of i.extensions)yI({id:e,mime:s,extension:t},this._warnOnOverwrite)}if(Array.isArray(i.filenames))for(const n of i.filenames)yI({id:e,mime:s,filename:n},this._warnOnOverwrite),t.filenames.push(n);if(Array.isArray(i.filenamePatterns))for(const t of i.filenamePatterns)yI({id:e,mime:s,filepattern:t},this._warnOnOverwrite);if("string"==typeof i.firstLine&&i.firstLine.length>0){let t=i.firstLine;"^"!==t.charAt(0)&&(t="^"+t);try{const i=new RegExp(t);"^"!==(n=i).source&&"^$"!==n.source&&"$"!==n.source&&"^\\s*$"!==n.source&&n.exec("")&&0===n.lastIndex||yI({id:e,mime:s,firstline:i},this._warnOnOverwrite)}catch(e){console.warn(`[${i.id}]: Invalid regular expression \`${t}\`: `,e)}}var n;t.aliases.push(e);let o=null;if(void 0!==i.aliases&&Array.isArray(i.aliases)&&(o=0===i.aliases.length?[null]:i.aliases),null!==o)for(const i of o)i&&0!==i.length&&t.aliases.push(i);const r=null!==o&&o.length>0;r&&null===o[0]||!r&&t.name||(t.name=(r?o[0]:null)||e),i.configuration&&t.configurationFiles.push(i.configuration),i.icon&&t.icons.push(i.icon)}isRegisteredLanguageId(t){return!!t&&xI.call(this._languages,t)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(t){const i=t.toLowerCase();return xI.call(this._lowercaseNameMap,i)?this._lowercaseNameMap[i]:null}getLanguageIdByMimeType(t){return t&&xI.call(this._mimeTypesMap,t)?this._mimeTypesMap[t]:null}guessLanguageIdByFilepathOrFirstLine(t,i){return t||i?function(t,i){return function(t,i){let e;if(t)switch(t.scheme){case ka.file:e=t.fsPath;break;case ka.data:e=MA.parseMetaData(t).get(MA.META_DATA_LABEL);break;case ka.vscodeNotebookCell:e=void 0;break;default:e=t.path}if(!e)return[{id:"unknown",mime:Dd.unknown}];e=e.toLowerCase();const s=hs(e),n=kI(e,s,bI);if(n)return[n,{id:Ud,mime:Dd.text}];const o=kI(e,s,vI);if(o)return[o,{id:Ud,mime:Dd.text}];if(i){const t=function(t){if(Ro(t)&&(t=t.substr(1)),t.length>0)for(let i=wI.length-1;i>=0;i--){const e=wI[i];if(!e.firstline)continue;const s=t.match(e.firstline);if(s&&s.length>0)return e}}(i);if(t)return[t,{id:Ud,mime:Dd.text}]}return[{id:"unknown",mime:Dd.unknown}]}(t,i).map((t=>t.id))}(t,i):[]}}DI.instanceCount=0;class EI extends te{constructor(t=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new de),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new de),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new de({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,EI.instanceCount++,this._registry=this._register(new DI(!0,t)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){EI.instanceCount--,super.dispose()}isRegisteredLanguageId(t){return this._registry.isRegisteredLanguageId(t)}getLanguageIdByLanguageName(t){return this._registry.getLanguageIdByLanguageName(t)}getLanguageIdByMimeType(t){return this._registry.getLanguageIdByMimeType(t)}guessLanguageIdByFilepathOrFirstLine(t,i){return k(this._registry.guessLanguageIdByFilepathOrFirstLine(t,i),null)}createById(t){return new AI(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(t)))}createByFilepathOrFirstLine(t,i){return new AI(this.onDidChange,(()=>{const e=this.guessLanguageIdByFilepathOrFirstLine(t,i);return this._createAndGetLanguageIdentifier(e)}))}_createAndGetLanguageIdentifier(t){return t&&this.isRegisteredLanguageId(t)||(t=Ud),t}requestBasicLanguageFeatures(t){this._requestedBasicLanguages.has(t)||(this._requestedBasicLanguages.add(t),this._onDidRequestBasicLanguageFeatures.fire(t))}requestRichLanguageFeatures(t){this._requestedRichLanguages.has(t)||(this._requestedRichLanguages.add(t),this.requestBasicLanguageFeatures(t),Zs.getOrCreate(t),this._onDidRequestRichLanguageFeatures.fire(t))}}EI.instanceCount=0;class AI{constructor(t,i){this._onDidChangeLanguages=t,this._selector=i,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages((()=>this._evaluate()))),this._emitter||(this._emitter=new de({onDidRemoveLastListener:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var t;const i=this._selector();i!==this.languageId&&(this.languageId=i,null===(t=this._emitter)||void 0===t||t.fire(this.languageId))}}const MI={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:Dd.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"};let LI=0;const FI=new Uint32Array(10);function TI(t,i,e){var s;t>=e&&t>8&&(FI[LI++]=s>>8&255),s>>16&&(FI[LI++]=s>>16&255)))}const RI=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),OI=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),II=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),_I=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);function NI(...t){return function(i,e){for(let s=0,n=t.length;s0?[{start:0,end:i.length}]:[]:null}function $I(t,i){const e=i.toLowerCase().indexOf(t.toLowerCase());return-1===e?null:[{start:e,end:e+t.length}]}function WI(t,i){return jI(t.toLowerCase(),i.toLowerCase(),0,0)}function jI(t,i,e,s){if(e===t.length)return[];if(s===i.length)return null;if(t[e]===i[s]){let n=null;return(n=jI(t,i,e+1,s+1))?YI({start:s,end:s+1},n):null}return jI(t,i,e,s+1)}function zI(t){return 97<=t&&t<=122}function HI(t){return 65<=t&&t<=90}function VI(t){return 48<=t&&t<=57}function UI(t){return 32===t||9===t||10===t||13===t}const qI=new Set;function KI(t){return UI(t)||qI.has(t)}function GI(t,i){return t===i||KI(t)&&KI(i)}"()[]{}<>`'\"-/;:,.?!".split("").forEach((t=>qI.add(t.charCodeAt(0))));const ZI=new Map;function QI(t){if(ZI.has(t))return ZI.get(t);let i;const e=function(t){const i=function(t){if(LI=0,TI(t,RI,4352),LI>0)return FI.subarray(0,LI);if(TI(t,OI,4449),LI>0)return FI.subarray(0,LI);if(TI(t,II,4520),LI>0)return FI.subarray(0,LI);if(TI(t,_I,12593),LI)return FI.subarray(0,LI);if(t>=44032&&t<=55203){const i=t-44032,e=i%588,s=Math.floor(i/588),n=Math.floor(e/28),o=e%28-1;if(s=0&&(o0)return FI.subarray(0,LI)}}(t);if(i&&i.length>0)return new Uint32Array(i)}(t);return e&&(i=e),ZI.set(t,i),i}function JI(t){return zI(t)||HI(t)||VI(t)}function YI(t,i){return 0===i.length?i=[t]:t.end===i[0].start?i[0].start=t.start:i.unshift(t),i}function XI(t,i){for(let e=i;e0&&!JI(t.charCodeAt(e-1)))return e}return t.length}function t_(t,i,e,s){if(e===t.length)return[];if(s===i.length)return null;if(t[e]!==i[s].toLowerCase())return null;{let n=null,o=s+1;for(n=t_(t,i,e+1,s+1);!n&&(o=XI(i,o))60)return null;const e=function(t){let i=0,e=0,s=0,n=0,o=0;for(let r=0;r.2&&i<.8&&s>.6&&n<.2}(e)){if(!function(t){const{upperPercent:i,lowerPercent:e}=t;return 0===e&&i>.6}(e))return null;i=i.toLowerCase()}let s=null,n=0;for(t=t.toLowerCase();n0&&KI(t.charCodeAt(e-1)))return e;return t.length}const n_=NI(BI,i_,$I),o_=NI(BI,i_,WI),r_=new Vp(1e4);function h_(t,i,e=!1){if("string"!=typeof t||"string"!=typeof i)return null;let s=r_.get(t);s||(s=new RegExp(t.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*"),"i"),r_.set(t,s));const n=s.exec(i);return n?[{start:n.index,end:n.index+n[0].length}]:e?o_(t,i):n_(t,i)}function c_(t,i){const e=S_(t,t.toLowerCase(),0,i,i.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return e?l_(e):null}function a_(t,i,e,s,n,o){const r=Math.min(13,t.length);for(;e1;s--){const n=t[s]+e,o=i[i.length-1];o&&o.end===n?o.end=n+1:i.push({start:n,end:n+1})}return i}const u_=128;function d_(){const t=[],i=[];for(let t=0;t<=u_;t++)i[t]=0;for(let e=0;e<=u_;e++)t.push(i.slice(0));return t}function f_(t){const i=[];for(let e=0;e<=t;e++)i[e]=0;return i}const p_=f_(2*u_),g_=f_(2*u_),m_=d_(),w_=d_(),v_=d_();function b_(t,i){if(i<0||i>=t.length)return!1;const e=t.codePointAt(i);switch(e){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!Fo(e)}}function y_(t,i){if(i<0||i>=t.length)return!1;switch(t.charCodeAt(i)){case 32:case 9:return!0;default:return!1}}function k_(t,i,e){return i[t]!==e[t]}var x_;!function(t){t.Default=[-100,0],t.isDefault=function(t){return!t||2===t.length&&-100===t[0]&&0===t[1]}}(x_||(x_={}));class C_{constructor(t,i){this.firstMatchCanBeWeak=t,this.boostFullMatch=i}}function S_(t,i,e,s,n,o,r=C_.default){const h=t.length>u_?u_:t.length,c=s.length>u_?u_:s.length;if(e>=h||o>=c||h-e>c-o)return;if(!function(t,i,e,s,n,o,r=!1){for(;i=e&&h>=s;)n[r]===o[h]&&(g_[r]=h,r--),h--}(h,c,e,o,i,n);let a=1,l=1,u=e,d=o;const f=[!1];for(a=1,u=e;ur,v=w?w_[a][l-1]+(m_[a][l-1]>0?-5:0):0,b=d>r+1&&m_[a][l-1]>0,y=b?w_[a][l-2]+(m_[a][l-2]>0?-5:0):0;if(b&&(!w||y>=v)&&(!g||y>=m))w_[a][l]=y,v_[a][l]=3,m_[a][l]=0;else if(w&&(!g||v>=m))w_[a][l]=v,v_[a][l]=2,m_[a][l]=0;else{if(!g)throw new Error("not possible");w_[a][l]=m,v_[a][l]=1,m_[a][l]=m_[a-1][l-1]+1}}}if(!f[0]&&!r.firstMatchCanBeWeak)return;a--,l--;const p=[w_[a][l],o];let g=0,m=0;for(;a>=1;){let t=l;do{const i=v_[a][t];if(3===i)t-=2;else{if(2!==i)break;t-=1}}while(t>=1);g>1&&i[e+a-1]===n[o+l-1]&&!k_(t+o-1,s,n)&&g+1>m_[a][t]&&(t=l),t===l?g++:g=1,m||(m=t),a--,l=t-1,p.push(l)}return c===h&&r.boostFullMatch&&(p[0]+=2),p[0]-=m-h,p}function D_(t,i,e,s,n,o,r,h,c,a,l){if(i[e]!==o[r])return Number.MIN_SAFE_INTEGER;let u=1,d=!1;return r===e-s?u=t[e]===n[r]?7:5:!k_(r,n,o)||0!==r&&k_(r-1,n,o)?!b_(o,r)||0!==r&&b_(o,r-1)?(b_(o,r-1)||y_(o,r-1))&&(u=5,d=!0):u=5:(u=t[e]===n[r]?7:5,d=!0),u>1&&e===s&&(l[0]=!0),d||(d=k_(r,n,o)||b_(o,r-1)||y_(o,r-1)),e===s?r>c&&(u-=d?3:5):u+=a?d?2:0:d?0:1,r+1===h&&(u-=d?3:5),u}function E_(t,i,e,s,n,o,r){return function(t,i,e,s,n,o,r,h){let c=S_(t,i,e,s,n,o,h);if(t.length>=3){const i=Math.min(7,t.length-1);for(let r=e+1;rc[0])&&(c=t))}}}return c}(t,i,e,s,n,o,0,r)}function A_(t,i){if(i+1>=t.length)return;const e=t[i],s=t[i+1];return e!==s?t.slice(0,i)+s+e+t.slice(i+2):void 0}C_.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};const M_=new RegExp(`\\$\\(${Cr.iconNameExpression}(?:${Cr.iconModifierExpression})?\\)`,"g"),L_=new RegExp(`(\\\\)?${M_.source}`,"g"),F_=new RegExp(`\\\\${M_.source}`,"g"),T_=new RegExp(`(\\s)?(\\\\)?${M_.source}(\\s)?`,"g");function R_(t){return-1===t.indexOf("$(")?t:t.replace(T_,((t,i,e,s)=>e?t:i||s||""))}const O_=new RegExp(`\\$\\(${Cr.iconNameCharacter}+\\)`,"g");function I_(t){O_.lastIndex=0;let i="";const e=[];let s=0;for(;;){const n=O_.lastIndex,o=O_.exec(t),r=t.substring(n,null==o?void 0:o.index);if(r.length>0){i+=r;for(let t=0;ti?t:`\\${t}`))}(t):t).replace(/([ \t]+)/g,((t,i)=>" ".repeat(i.length))).replace(/\>/gm,"\\>").replace(/\n/g,1===i?"\\\n":"\n\n"),this}appendMarkdown(t){return this.value+=t,this}appendCodeblock(t,i){return this.value+="\n```",this.value+=t,this.value+="\n",this.value+=i,this.value+="\n```\n",this}appendLink(t,i,e){return this.value+="[",this.value+=this._escape(i,"]"),this.value+="](",this.value+=this._escape(String(t),")"),e&&(this.value+=` "${this._escape(this._escape(e,'"'),")")}"`),this.value+=")",this}_escape(t,i){const e=new RegExp(Gn(i),"g");return t.replace(e,((i,e)=>"\\"!==t.charAt(e-1)?`\\${i}`:i))}}function B_(t){return P_(t)?!t.value:!Array.isArray(t)||t.every(B_)}function P_(t){return t instanceof N_||!(!t||"object"!=typeof t)&&!("string"!=typeof t.value||"boolean"!=typeof t.isTrusted&&"object"!=typeof t.isTrusted&&void 0!==t.isTrusted||"boolean"!=typeof t.supportThemeIcons&&void 0!==t.supportThemeIcons)}function $_(t){return t.replace(/"/g,""")}function W_(t){return t?t.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1"):t}class j_{constructor(t,i,e){this.hoverDelegate=t,this.target=i,this.fadeInAnimation=e}async update(t,i,e){var s;if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let n;if(void 0===t||B(t)||t instanceof HTMLElement)n=t;else if(G(t.markdown)){this._hoverWidget||this.show(ot(0,"Loading..."),i),this._cancellationTokenSource=new Ce;const e=this._cancellationTokenSource.token;if(n=await t.markdown(e),void 0===n&&(n=t.markdownNotSupportedFallback),this.isDisposed||e.isCancellationRequested)return}else n=null!==(s=t.markdown)&&void 0!==s?s:t.markdownNotSupportedFallback;this.show(n,i,e)}show(t,i,e){const s=this._hoverWidget;if(this.hasContent(t)){const n={content:t,target:this.target,appearance:{showPointer:"element"===this.hoverDelegate.placement,skipFadeInAnimation:!this.fadeInAnimation||!!s},position:{hoverPosition:2},...e};this._hoverWidget=this.hoverDelegate.showHover(n,i)}null==s||s.dispose()}hasContent(t){return!(!t||P_(t)&&!t.value)}get isDisposed(){var t;return null===(t=this._hoverWidget)||void 0===t?void 0:t.isDisposed}dispose(){var t,i;null===(t=this._hoverWidget)||void 0===t||t.dispose(),null===(i=this._cancellationTokenSource)||void 0===i||i.dispose(!0),this._cancellationTokenSource=void 0}}function z_(t,i,e,s){let n,o;const r=(i,e)=>{var s;const r=void 0!==o;i&&(null==o||o.dispose(),o=void 0),e&&(null==n||n.dispose(),n=void 0),r&&(null===(s=t.onDidHideHover)||void 0===s||s.call(t))},h=(n,r,h)=>new dc((async()=>{o&&!o.isDisposed||(o=new j_(t,h||i,n>0),await o.update(e,r,s))}),n),c=Va(i,Ll.MOUSE_OVER,(()=>{if(n)return;const e=new Xi;e.add(Va(i,Ll.MOUSE_LEAVE,(t=>r(!1,t.fromElement===i)),!0)),e.add(Va(i,Ll.MOUSE_DOWN,(()=>r(!0,!0)),!0));const s={targetElements:[i],dispose:()=>{}};void 0!==t.placement&&"mouse"!==t.placement||e.add(Va(i,Ll.MOUSE_MOVE,(t=>{s.x=t.x+10,t.target instanceof HTMLElement&&t.target.classList.contains("action-label")&&r(!0,!0)}),!0)),e.add(h(t.delay,!1,s)),n=e}),!0),a=Va(i,Ll.FOCUS,(()=>{if(n)return;const e={targetElements:[i],dispose:()=>{}},s=new Xi;s.add(Va(i,Ll.BLUR,(()=>r(!0,!0)),!0)),s.add(h(t.delay,!1,e)),n=s}),!0);return{show:t=>{r(!1,!0),h(0,t)},hide:()=>{r(!0,!0)},update:async(t,i)=>{e=t,await(null==o?void 0:o.update(e,void 0,i))},dispose:()=>{c.dispose(),a.dispose(),r(!0,!0)}}}function H_(t,i={}){const e=V_(i);return q_(e,function(t,i){const e={type:1,children:[]};let s=0,n=e;const o=[],r=new U_(t);for(;!r.eos();){let t=r.next();const e="\\"===t&&0!==K_(r.peek(),i);if(e&&(t=r.next()),e||0===K_(t,i)||t!==r.peek())if("\n"===t)2===n.type&&(n=o.pop()),n.children.push({type:8});else if(2!==n.type){const i={type:2,content:t};n.children.push(i),o.push(n),n=i}else n.content+=t;else{r.advance(),2===n.type&&(n=o.pop());const e=K_(t,i);if(n.type===e||5===n.type&&6===e)n=o.pop();else{const t={type:e,children:[]};5===e&&(t.index=s,s++),n.children.push(t),o.push(n),n=t}}}return 2===n.type&&(n=o.pop()),e}(t,!!i.renderCodeSegments),i.actionHandler,i.renderCodeSegments),e}function V_(t){const i=document.createElement(t.inline?"span":"div");return t.className&&(i.className=t.className),i}class U_{constructor(t){this.source=t,this.index=0}eos(){return this.index>=this.source.length}next(){const t=this.peek();return this.advance(),t}peek(){return this.source[this.index]}advance(){this.index++}}function q_(t,i,e,s){let n;if(2===i.type)n=document.createTextNode(i.content||"");else if(3===i.type)n=document.createElement("b");else if(4===i.type)n=document.createElement("i");else if(7===i.type&&s)n=document.createElement("code");else if(5===i.type&&e){const t=document.createElement("a");e.disposables.add(qa(t,"click",(t=>{e.callback(String(i.index),t)}))),n=t}else 8===i.type?n=document.createElement("br"):1===i.type&&(n=t);n&&t!==n&&t.appendChild(n),n&&Array.isArray(i.children)&&i.children.forEach((t=>{q_(n,t,e,s)}))}function K_(t,i){switch(t){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return i?7:0;default:return 0}}const G_=new RegExp(`(\\\\)?\\$\\((${Cr.iconNameExpression}(?:${Cr.iconModifierExpression})?)\\)`,"g");function Z_(t){const i=new Array;let e,s=0,n=0;for(;null!==(e=G_.exec(t));){n=e.index||0,st.length)&&(i=t.length);for(var e=0,s=new Array(i);e=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}t.defaults={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var o=/[&<>"']/,r=/[&<>"']/g,h=/[<>"']|&(?!#?\w+;)/,c=/[<>"']|&(?!#?\w+;)/g,a={"&":"&","<":"<",">":">",'"':""","'":"'"},l=function(t){return a[t]};function u(t,i){if(i){if(o.test(t))return t.replace(r,l)}else if(h.test(t))return t.replace(c,l);return t}var d=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function f(t){return t.replace(d,(function(t,i){return"colon"===(i=i.toLowerCase())?":":"#"===i.charAt(0)?"x"===i.charAt(1)?String.fromCharCode(parseInt(i.substring(2),16)):String.fromCharCode(+i.substring(1)):""}))}var p=/(^|[^\[])\^/g;function g(t,i){t="string"==typeof t?t:t.source,i=i||"";var e={replace:function(i,s){return s=(s=s.source||s).replace(p,"$1"),t=t.replace(i,s),e},getRegex:function(){return new RegExp(t,i)}};return e}var m=/[^\w:]/g,w=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function v(t,i,e){if(t){var s;try{s=decodeURIComponent(f(e)).replace(m,"").toLowerCase()}catch(t){return null}if(0===s.indexOf("javascript:")||0===s.indexOf("vbscript:")||0===s.indexOf("data:"))return null}i&&!w.test(e)&&(e=function(t,i){b[" "+t]||(b[" "+t]=y.test(t)?t+"/":E(t,"/",!0));var e=-1===(t=b[" "+t]).indexOf(":");return"//"===i.substring(0,2)?e?i:t.replace(k,"$1")+i:"/"===i.charAt(0)?e?i:t.replace(x,"$1")+i:t+i}(i,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch(t){return null}return e}var b={},y=/^[^:]+:\/*[^/]*$/,k=/^([^:]+:)[\s\S]*$/,x=/^([^:]+:\/*[^/]*)[\s\S]*$/,C={exec:function(){}};function S(t){for(var i,e,s=1;s=0&&"\\"===e[n];)s=!s;return s?"|":" |"})).split(/ \|/),s=0;if(e[0].trim()||e.shift(),e.length>0&&!e[e.length-1].trim()&&e.pop(),e.length>i)e.splice(i);else for(;e.length1;)1&i&&(e+=t),i>>=1,t+=t;return e+t}function L(t,i,e,s){var n=i.href,o=i.title?u(i.title):null,r=t[1].replace(/\\([\[\]])/g,"$1");if("!"!==t[0].charAt(0)){s.state.inLink=!0;var h={type:"link",raw:e,href:n,title:o,text:r,tokens:s.inlineTokens(r)};return s.state.inLink=!1,h}return{type:"image",raw:e,href:n,title:o,text:u(r)}}var F=function(){function i(i){this.options=i||t.defaults}var e=i.prototype;return e.space=function(t){var i=this.rules.block.newline.exec(t);if(i&&i[0].length>0)return{type:"space",raw:i[0]}},e.code=function(t){var i=this.rules.block.code.exec(t);if(i){var e=i[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?e:E(e,"\n")}}},e.fences=function(t){var i=this.rules.block.fences.exec(t);if(i){var e=i[0],s=function(t,i){var e=t.match(/^(\s+)(?:```)/);if(null===e)return i;var s=e[1];return i.split("\n").map((function(t){var i=t.match(/^\s+/);return null===i?t:i[0].length>=s.length?t.slice(s.length):t})).join("\n")}(e,i[3]||"");return{type:"code",raw:e,lang:i[2]?i[2].trim():i[2],text:s}}},e.heading=function(t){var i=this.rules.block.heading.exec(t);if(i){var e=i[2].trim();if(/#$/.test(e)){var s=E(e,"#");this.options.pedantic?e=s.trim():s&&!/ $/.test(s)||(e=s.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:e,tokens:this.lexer.inline(e)}}},e.hr=function(t){var i=this.rules.block.hr.exec(t);if(i)return{type:"hr",raw:i[0]}},e.blockquote=function(t){var i=this.rules.block.blockquote.exec(t);if(i){var e=i[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:i[0],tokens:this.lexer.blockTokens(e,[]),text:e}}},e.list=function(t){var i=this.rules.block.list.exec(t);if(i){var e,n,o,r,h,c,a,l,u,d,f,p,g=i[1].trim(),m=g.length>1,w={type:"list",raw:"",ordered:m,start:m?+g.slice(0,-1):"",loose:!1,items:[]};g=m?"\\d{1,9}\\"+g.slice(-1):"\\"+g,this.options.pedantic&&(g=m?g:"[*+-]");for(var v=new RegExp("^( {0,3}"+g+")((?:[\t ][^\\n]*)?(?:\\n|$))");t&&(p=!1,i=v.exec(t))&&!this.rules.block.hr.test(t);){if(t=t.substring((e=i[0]).length),l=i[2].split("\n",1)[0],u=t.split("\n",1)[0],this.options.pedantic?(r=2,f=l.trimLeft()):(r=i[2].search(/[^ ]/),f=l.slice(r=r>4?1:r),r+=i[1].length),c=!1,!l&&/^ *$/.test(u)&&(e+=u+"\n",t=t.substring(u.length+1),p=!0),!p)for(var b=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"),y=new RegExp("^ {0,"+Math.min(3,r-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"),k=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:```|~~~)"),x=new RegExp("^ {0,"+Math.min(3,r-1)+"}#");t&&(l=d=t.split("\n",1)[0],this.options.pedantic&&(l=l.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!k.test(l))&&!x.test(l)&&!b.test(l)&&!y.test(t);){if(l.search(/[^ ]/)>=r||!l.trim())f+="\n"+l.slice(r);else{if(c)break;f+="\n"+l}c||l.trim()||(c=!0),e+=d+"\n",t=t.substring(d.length+1)}w.loose||(a?w.loose=!0:/\n *\n *$/.test(e)&&(a=!0)),this.options.gfm&&(n=/^\[[ xX]\] /.exec(f))&&(o="[ ] "!==n[0],f=f.replace(/^\[[ xX]\] +/,"")),w.items.push({type:"list_item",raw:e,task:!!n,checked:o,loose:!1,text:f}),w.raw+=e}w.items[w.items.length-1].raw=e.trimRight(),w.items[w.items.length-1].text=f.trimRight(),w.raw=w.raw.trimRight();var C=w.items.length;for(h=0;h1)return!0;return!1}));!w.loose&&S.length&&D&&(w.loose=!0,w.items[h].loose=!0)}return w}},e.html=function(t){var i=this.rules.block.html.exec(t);if(i){var e={type:"html",raw:i[0],pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]};if(this.options.sanitize){var s=this.options.sanitizer?this.options.sanitizer(i[0]):u(i[0]);e.type="paragraph",e.text=s,e.tokens=this.lexer.inline(s)}return e}},e.def=function(t){var i=this.rules.block.def.exec(t);if(i)return i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),{type:"def",tag:i[1].toLowerCase().replace(/\s+/g," "),raw:i[0],href:i[2],title:i[3]}},e.table=function(t){var i=this.rules.block.table.exec(t);if(i){var e={type:"table",header:D(i[1]).map((function(t){return{text:t}})),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:i[3]&&i[3].trim()?i[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=i[0];var s,n,o,r,h=e.align.length;for(s=0;s/i.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):u(i[0]):i[0]}},e.link=function(t){var i=this.rules.inline.link.exec(t);if(i){var e=i[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;var s=E(e.slice(0,-1),"\\");if((e.length-s.length)%2==0)return}else{var n=function(t,i){if(-1===t.indexOf(i[1]))return-1;for(var e=t.length,s=0,n=0;n-1){var o=(0===i[0].indexOf("!")?5:4)+i[1].length+n;i[2]=i[2].substring(0,n),i[0]=i[0].substring(0,o).trim(),i[3]=""}}var r=i[2],h="";if(this.options.pedantic){var c=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);c&&(r=c[1],h=c[3])}else h=i[3]?i[3].slice(1,-1):"";return r=r.trim(),/^$/.test(e)?r.slice(1):r.slice(1,-1)),L(i,{href:r?r.replace(this.rules.inline._escapes,"$1"):r,title:h?h.replace(this.rules.inline._escapes,"$1"):h},i[0],this.lexer)}},e.reflink=function(t,i){var e;if((e=this.rules.inline.reflink.exec(t))||(e=this.rules.inline.nolink.exec(t))){var s=(e[2]||e[1]).replace(/\s+/g," ");if(!(s=i[s.toLowerCase()])||!s.href){var n=e[0].charAt(0);return{type:"text",raw:n,text:n}}return L(e,s,e[0],this.lexer)}},e.emStrong=function(t,i,e){void 0===e&&(e="");var s=this.rules.inline.emStrong.lDelim.exec(t);if(s&&(!s[3]||!e.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var n=s[1]||s[2]||"";if(!n||n&&(""===e||this.rules.inline.punctuation.exec(e))){var o,r,h=s[0].length-1,c=h,a=0,l="*"===s[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,i=i.slice(-1*t.length+h);null!=(s=l.exec(i));)if(o=s[1]||s[2]||s[3]||s[4]||s[5]||s[6])if(r=o.length,s[3]||s[4])c+=r;else if(!((s[5]||s[6])&&h%3)||(h+r)%3){if(!((c-=r)>0)){if(r=Math.min(r,r+c+a),Math.min(h,r)%2){var u=t.slice(1,h+s.index+r);return{type:"em",raw:t.slice(0,h+s.index+r+1),text:u,tokens:this.lexer.inlineTokens(u)}}var d=t.slice(2,h+s.index+r-1);return{type:"strong",raw:t.slice(0,h+s.index+r+1),text:d,tokens:this.lexer.inlineTokens(d)}}}else a+=r}}},e.codespan=function(t){var i=this.rules.inline.code.exec(t);if(i){var e=i[2].replace(/\n/g," "),s=/[^ ]/.test(e),n=/^ /.test(e)&&/ $/.test(e);return s&&n&&(e=e.substring(1,e.length-1)),e=u(e,!0),{type:"codespan",raw:i[0],text:e}}},e.br=function(t){var i=this.rules.inline.br.exec(t);if(i)return{type:"br",raw:i[0]}},e.del=function(t){var i=this.rules.inline.del.exec(t);if(i)return{type:"del",raw:i[0],text:i[2],tokens:this.lexer.inlineTokens(i[2])}},e.autolink=function(t,i){var e,s,n=this.rules.inline.autolink.exec(t);if(n)return s="@"===n[2]?"mailto:"+(e=u(this.options.mangle?i(n[1]):n[1])):e=u(n[1]),{type:"link",raw:n[0],text:e,href:s,tokens:[{type:"text",raw:e,text:e}]}},e.url=function(t,i){var e;if(e=this.rules.inline.url.exec(t)){var s,n;if("@"===e[2])n="mailto:"+(s=u(this.options.mangle?i(e[0]):e[0]));else{var o;do{o=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])[0]}while(o!==e[0]);s=u(e[0]),n="www."===e[1]?"http://"+s:s}return{type:"link",raw:e[0],text:s,href:n,tokens:[{type:"text",raw:s,text:s}]}}},e.inlineText=function(t,i){var e,s=this.rules.inline.text.exec(t);if(s)return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):u(s[0]):s[0]:u(this.options.smartypants?i(s[0]):s[0]),{type:"text",raw:s[0],text:e}},i}(),T={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:C,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};T.def=g(T.def).replace("label",T._label).replace("title",T._title).getRegex(),T.bullet=/(?:[*+-]|\d{1,9}[.)])/,T.listItemStart=g(/^( *)(bull) */).replace("bull",T.bullet).getRegex(),T.list=g(T.list).replace(/bull/g,T.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+T.def.source+")").getRegex(),T._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",T._comment=/|$)/,T.html=g(T.html,"i").replace("comment",T._comment).replace("tag",T._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),T.paragraph=g(T._paragraph).replace("hr",T.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",T._tag).getRegex(),T.blockquote=g(T.blockquote).replace("paragraph",T.paragraph).getRegex(),T.normal=S({},T),T.gfm=S({},T.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),T.gfm.table=g(T.gfm.table).replace("hr",T.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",T._tag).getRegex(),T.gfm.paragraph=g(T._paragraph).replace("hr",T.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",T.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",T._tag).getRegex(),T.pedantic=S({},T.normal,{html:g("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",T._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:C,paragraph:g(T.normal._paragraph).replace("hr",T.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",T.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var R={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:C,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:C,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(e="x"+e.toString(16)),s+="&#"+e+";";return s}R._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",R.punctuation=g(R.punctuation).replace(/punctuation/g,R._punctuation).getRegex(),R.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,R.escapedEmSt=/\\\*|\\_/g,R._comment=g(T._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),R.emStrong.lDelim=g(R.emStrong.lDelim).replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimAst=g(R.emStrong.rDelimAst,"g").replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimUnd=g(R.emStrong.rDelimUnd,"g").replace(/punct/g,R._punctuation).getRegex(),R._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,R._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,R._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,R.autolink=g(R.autolink).replace("scheme",R._scheme).replace("email",R._email).getRegex(),R._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,R.tag=g(R.tag).replace("comment",R._comment).replace("attribute",R._attribute).getRegex(),R._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,R._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,R._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,R.link=g(R.link).replace("label",R._label).replace("href",R._href).replace("title",R._title).getRegex(),R.reflink=g(R.reflink).replace("label",R._label).replace("ref",T._label).getRegex(),R.nolink=g(R.nolink).replace("ref",T._label).getRegex(),R.reflinkSearch=g(R.reflinkSearch,"g").replace("reflink",R.reflink).replace("nolink",R.nolink).getRegex(),R.normal=S({},R),R.pedantic=S({},R.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:g(/^!?\[(label)\]\((.*?)\)/).replace("label",R._label).getRegex(),reflink:g(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R._label).getRegex()}),R.gfm=S({},R.normal,{escape:g(R.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\0?i[i.length-1].raw+="\n":i.push(e);else if(e=this.tokenizer.code(t))t=t.substring(e.raw.length),!(s=i[i.length-1])||"paragraph"!==s.type&&"text"!==s.type?i.push(e):(s.raw+="\n"+e.raw,s.text+="\n"+e.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(e=this.tokenizer.fences(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.heading(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.hr(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.blockquote(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.list(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.html(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.def(t))t=t.substring(e.raw.length),!(s=i[i.length-1])||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[e.tag]||(this.tokens.links[e.tag]={href:e.href,title:e.title}):(s.raw+="\n"+e.raw,s.text+="\n"+e.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(e=this.tokenizer.table(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.lheading(t))t=t.substring(e.raw.length),i.push(e);else if(n=t,this.options.extensions&&this.options.extensions.startBlock&&function(){var i=1/0,e=t.slice(1),s=void 0;r.options.extensions.startBlock.forEach((function(t){"number"==typeof(s=t.call({lexer:this},e))&&s>=0&&(i=Math.min(i,s))})),i<1/0&&i>=0&&(n=t.substring(0,i+1))}(),this.state.top&&(e=this.tokenizer.paragraph(n)))s=i[i.length-1],o&&"paragraph"===s.type?(s.raw+="\n"+e.raw,s.text+="\n"+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):i.push(e),o=n.length!==t.length,t=t.substring(e.raw.length);else if(e=this.tokenizer.text(t))t=t.substring(e.raw.length),(s=i[i.length-1])&&"text"===s.type?(s.raw+="\n"+e.raw,s.text+="\n"+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):i.push(e);else if(t){var h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}throw new Error(h)}return this.state.top=!0,i},o.inline=function(t,i){return void 0===i&&(i=[]),this.inlineQueue.push({src:t,tokens:i}),i},o.inlineTokens=function(t,i){var e,s,n,o=this;void 0===i&&(i=[]);var r,h,c,a=t;if(this.tokens.links){var l=Object.keys(this.tokens.links);if(l.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(a));)l.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,r.index)+"["+M("a",r[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(a));)a=a.slice(0,r.index)+"["+M("a",r[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.escapedEmSt.exec(a));)a=a.slice(0,r.index)+"++"+a.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(h||(c=""),h=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(s){return!!(e=s.call({lexer:o},t,i))&&(t=t.substring(e.raw.length),i.push(e),!0)}))))if(e=this.tokenizer.escape(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.tag(t))t=t.substring(e.raw.length),(s=i[i.length-1])&&"text"===e.type&&"text"===s.type?(s.raw+=e.raw,s.text+=e.text):i.push(e);else if(e=this.tokenizer.link(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.reflink(t,this.tokens.links))t=t.substring(e.raw.length),(s=i[i.length-1])&&"text"===e.type&&"text"===s.type?(s.raw+=e.raw,s.text+=e.text):i.push(e);else if(e=this.tokenizer.emStrong(t,a,c))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.codespan(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.br(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.del(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.autolink(t,I))t=t.substring(e.raw.length),i.push(e);else if(this.state.inLink||!(e=this.tokenizer.url(t,I))){if(n=t,this.options.extensions&&this.options.extensions.startInline&&function(){var i=1/0,e=t.slice(1),s=void 0;o.options.extensions.startInline.forEach((function(t){"number"==typeof(s=t.call({lexer:this},e))&&s>=0&&(i=Math.min(i,s))})),i<1/0&&i>=0&&(n=t.substring(0,i+1))}(),e=this.tokenizer.inlineText(n,O))t=t.substring(e.raw.length),"_"!==e.raw.slice(-1)&&(c=e.raw.slice(-1)),h=!0,(s=i[i.length-1])&&"text"===s.type?(s.raw+=e.raw,s.text+=e.text):i.push(e);else if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}else t=t.substring(e.raw.length),i.push(e);return i},s=e,n=[{key:"rules",get:function(){return{block:T,inline:R}}}],null&&i(s.prototype,null),n&&i(s,n),Object.defineProperty(s,"prototype",{writable:!1}),e}(),N=function(){function i(i){this.options=i||t.defaults}var e=i.prototype;return e.code=function(t,i,e){var s=(i||"").match(/\S*/)[0];if(this.options.highlight){var n=this.options.highlight(t,s);null!=n&&n!==t&&(e=!0,t=n)}return t=t.replace(/\n$/,"")+"\n",s?'
'+(e?t:u(t,!0))+"
\n":"
"+(e?t:u(t,!0))+"
\n"},e.blockquote=function(t){return"
\n"+t+"
\n"},e.html=function(t){return t},e.heading=function(t,i,e,s){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
\n":"
\n"},e.list=function(t,i,e){var s=i?"ol":"ul";return"<"+s+(i&&1!==e?' start="'+e+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
  • "+t+"
  • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

    "+t+"

    \n"},e.table=function(t,i){return i&&(i=""+i+""),"\n\n"+t+"\n"+i+"
    \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,i){var e=i.header?"th":"td";return(i.align?"<"+e+' align="'+i.align+'">':"<"+e+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
    ":"
    "},e.del=function(t){return""+t+""},e.link=function(t,i,e){if(null===(t=v(this.options.sanitize,this.options.baseUrl,t)))return e;var s='"+e+""},e.image=function(t,i,e){if(null===(t=v(this.options.sanitize,this.options.baseUrl,t)))return e;var s=''+e+'":">")},e.text=function(t){return t},i}(),B=function(){function t(){}var i=t.prototype;return i.strong=function(t){return t},i.em=function(t){return t},i.codespan=function(t){return t},i.del=function(t){return t},i.html=function(t){return t},i.text=function(t){return t},i.link=function(t,i,e){return""+e},i.image=function(t,i,e){return""+e},i.br=function(){return""},t}(),P=function(){function t(){this.seen={}}var i=t.prototype;return i.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},i.getNextSafeSlug=function(t,i){var e=t,s=0;if(this.seen.hasOwnProperty(e)){s=this.seen[t];do{e=t+"-"+ ++s}while(this.seen.hasOwnProperty(e))}return i||(this.seen[t]=s,this.seen[e]=0),e},i.slug=function(t,i){void 0===i&&(i={});var e=this.serialize(t);return this.getNextSafeSlug(e,i.dryrun)},t}(),$=function(){function i(i){this.options=i||t.defaults,this.options.renderer=this.options.renderer||new N,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new B,this.slugger=new P}i.parse=function(t,e){return new i(e).parse(t)},i.parseInline=function(t,e){return new i(e).parseInline(t)};var e=i.prototype;return e.parse=function(t,i){void 0===i&&(i=!0);var e,s,n,o,r,h,c,a,l,u,d,p,g,m,w,v,b,y,k,x="",C=t.length;for(e=0;e0&&"paragraph"===w.tokens[0].type?(w.tokens[0].text=y+" "+w.tokens[0].text,w.tokens[0].tokens&&w.tokens[0].tokens.length>0&&"text"===w.tokens[0].tokens[0].type&&(w.tokens[0].tokens[0].text=y+" "+w.tokens[0].tokens[0].text)):w.tokens.unshift({type:"text",text:y}):m+=y),m+=this.parse(w.tokens,g),l+=this.renderer.listitem(m,b,v);x+=this.renderer.list(l,d,p);continue;case"html":x+=this.renderer.html(u.text);continue;case"paragraph":x+=this.renderer.paragraph(this.parseInline(u.tokens));continue;case"text":for(l=u.tokens?this.parseInline(u.tokens):u.text;e+1An error occurred:

    "+u(t.message+"",!0)+"
    ";throw t}try{var c=_.lex(t,i);if(i.walkTokens){if(i.async)return Promise.all(W.walkTokens(c,i.walkTokens)).then((function(){return $.parse(c,i)})).catch(h);W.walkTokens(c,i.walkTokens)}return $.parse(c,i)}catch(t){h(t)}}W.options=W.setOptions=function(i){return S(W.defaults,i),t.defaults=W.defaults,W},W.getDefaults=n,W.defaults=t.defaults,W.use=function(){for(var t=arguments.length,i=new Array(t),e=0;eAn error occurred:

    "+u(t.message+"",!0)+"
    ";throw t}},W.Parser=$,W.parser=$.parse,W.Renderer=N,W.TextRenderer=B,W.Lexer=_,W.lexer=_.lex,W.Tokenizer=F,W.Slugger=P,W.parse=W;var j=W.options,z=W.setOptions,H=W.use,V=W.walkTokens,U=W.parseInline,q=W,K=$.parse,G=_.lex;t.Lexer=_,t.Parser=$,t.Renderer=N,t.Slugger=P,t.TextRenderer=B,t.Tokenizer=F,t.getDefaults=n,t.lexer=G,t.marked=W,t.options=j,t.parse=q,t.parseInline=U,t.parser=K,t.setOptions=z,t.use=H,t.walkTokens=V,Object.defineProperty(t,"__esModule",{value:!0})},(t.amd=!0)?t(0,e):"object"==typeof exports&&"undefined"!=typeof module?e(exports):e((i="undefined"!=typeof globalThis?globalThis:i||self).marked={})}(),X_.Lexer||exports,X_.Parser||exports,X_.Renderer||exports,X_.Slugger||exports,X_.TextRenderer||exports,X_.Tokenizer||exports,X_.getDefaults||exports,X_.lexer||exports;var tN=X_.marked||exports.marked;function iN(t){let i=JSON.parse(t);return i=sN(i),i}function eN(t,i){return i instanceof RegExp?{$mid:2,source:i.source,flags:i.flags}:i}function sN(t,i=0){if(!t||i>200)return t;if("object"==typeof t){switch(t.$mid){case 1:return ms.revive(t);case 2:return new RegExp(t.source,t.flags);case 17:return new Date(t.source)}if(t instanceof Uu||t instanceof Uint8Array)return t;if(Array.isArray(t))for(let e=0;e{let s=[],n=[];return t&&(({href:t,dimensions:s}=function(t){const i=[],e=t.split("|").map((t=>t.trim()));t=e[0];const s=e[1];if(s){const t=/height=(\d+)/.exec(s),e=/width=(\d+)/.exec(s),n=t?t[1]:"",o=e?e[1]:"",r=isFinite(parseInt(o)),h=isFinite(parseInt(n));r&&i.push(`width="${o}"`),h&&i.push(`height="${n}"`)}return{href:t,dimensions:i}}(t)),n.push(`src="${$_(t)}"`)),e&&n.push(`alt="${$_(e)}"`),i&&n.push(`title="${$_(i)}"`),s.length&&(n=n.concat(s)),""},paragraph:t=>`

    ${t}

    `,link:(t,i,e)=>"string"!=typeof t?"":(t===e&&(e=W_(e)),i="string"==typeof i?$_(W_(i)):"",`/g,">").replace(/"/g,""").replace(/'/g,"'")}" title="${i||t}" draggable="false">${e}`)});function oN(t,i={},e={}){var s,n;const o=new Xi;let r=!1;const h=V_(i),c=function(i){let e;try{e=iN(decodeURIComponent(i))}catch(t){}return e?(e=Y(e,(i=>t.uris&&t.uris[i]?ms.revive(t.uris[i]):void 0)),encodeURIComponent(JSON.stringify(e))):i},a=function(i,e){let s=ms.revive(t.uris&&t.uris[i]);return e?i.startsWith(ka.data+":")?i:(s||(s=ms.parse(i)),Ea.uriToBrowserUri(s).toString(!0)):s?ms.parse(i).toString()===s.toString()?i:(s.query&&(s=s.with({query:c(s.query)})),s.toString()):i},l=new tN.Renderer;l.image=nN.image,l.link=nN.link,l.paragraph=nN.paragraph;const u=[],d=[];if(i.codeBlockRendererSync?l.code=(t,e)=>{const s=Y_.nextId(),n=i.codeBlockRendererSync(rN(e),t);return d.push([s,n]),`
    ${Kn(t)}
    `}:i.codeBlockRenderer&&(l.code=(t,e)=>{const s=Y_.nextId(),n=i.codeBlockRenderer(rN(e),t);return u.push(n.then((t=>[s,t]))),`
    ${Kn(t)}
    `}),i.actionHandler){const e=function(e){let s=e.target;if("A"===s.tagName||(s=s.parentElement,s&&"A"===s.tagName))try{let n=s.dataset.href;n&&(t.baseUri&&(n=hN(ms.from(t.baseUri),n)),i.actionHandler.callback(n,e))}catch(t){Bi(t)}finally{e.preventDefault()}},s=i.actionHandler.disposables.add(new Bk(h,"click")),n=i.actionHandler.disposables.add(new Bk(h,"auxclick"));i.actionHandler.disposables.add(he.any(s.event,n.event)((t=>{const i=new tc(Na(h),t);(i.leftButton||i.middleButton)&&e(i)}))),i.actionHandler.disposables.add(Va(h,"keydown",(t=>{const i=new Qh(t);(i.equals(10)||i.equals(3))&&e(i)})))}t.supportHtml||(e.sanitizer=i=>(t.isTrusted?i.match(/^(]+>)|(<\/\s*span>)$/):void 0)?i:"",e.sanitize=!0,e.silent=!0),e.renderer=l;let f,p=null!==(s=t.value)&&void 0!==s?s:"";if(p.length>1e5&&(p=`${p.substr(0,1e5)}…`),t.supportThemeIcons&&(p=function(t){return t.replace(F_,(t=>`\\${t}`))}(p)),i.fillInIncompleteTokens){const t={...tN.defaults,...e},i=function(t){let i,e;for(i=0;i"string"==typeof t?t:t.outerHTML)).join(""));const g=(new DOMParser).parseFromString(cN(t,f),"text/html");if(g.body.querySelectorAll("img").forEach((i=>{const e=i.getAttribute("src");if(e){let s=e;try{t.baseUri&&(s=hN(ms.from(t.baseUri),s))}catch(t){}i.src=a(s,!0)}})),g.body.querySelectorAll("a").forEach((i=>{const e=i.getAttribute("href");if(i.setAttribute("href",""),!e||/^data:|javascript:/i.test(e)||/^command:/i.test(e)&&!t.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(e))i.replaceWith(...i.childNodes);else{let s=a(e,!1);t.baseUri&&(s=hN(ms.from(t.baseUri),e)),i.dataset.href=s}})),h.innerHTML=cN(t,g.body.innerHTML),u.length>0)Promise.all(u).then((t=>{var e,s;if(r)return;const n=new Map(t),o=h.querySelectorAll("div[data-code]");for(const t of o){const i=n.get(null!==(e=t.dataset.code)&&void 0!==e?e:"");i&&_l(t,i)}null===(s=i.asyncRenderCallback)||void 0===s||s.call(i)}));else if(d.length>0){const t=new Map(d),i=h.querySelectorAll("div[data-code]");for(const e of i){const i=t.get(null!==(n=e.dataset.code)&&void 0!==n?n:"");i&&_l(e,i)}}if(i.asyncRenderCallback)for(const t of h.getElementsByTagName("img")){const e=o.add(Va(t,"load",(()=>{e.dispose(),i.asyncRenderCallback()})))}return{element:h,dispose:()=>{r=!0,o.dispose()}}}function rN(t){if(!t)return"";const i=t.split(/[\s+|:|,|\{|\?]/,1);return i.length?i[0]:t}function hN(t,i){return/^\w[\w\d+.-]*:/.test(i)?i:t.path.endsWith("/")?DA(t,i).toString():DA(kA(t),i).toString()}function cN(t,i){const{config:e,allowedSchemes:s}=function(t){const i=[ka.http,ka.https,ka.mailto,ka.data,ka.file,ka.vscodeFileResource,ka.vscodeRemote,ka.vscodeRemoteResource];return t.isTrusted&&i.push(ka.command),{config:{ALLOWED_TAGS:[...Kl],ALLOWED_ATTR:aN,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:i}}(t);ba("uponSanitizeAttribute",((t,i)=>{if("style"!==i.attrName&&"class"!==i.attrName);else{if("SPAN"===t.tagName){if("style"===i.attrName)return void(i.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?$/.test(i.attrValue));if("class"===i.attrName)return void(i.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(i.attrValue))}i.keepAttr=!1}}));const n=function(t,i=!1){const e=document.createElement("a");return ba("afterSanitizeAttributes",(s=>{for(const n of["href","src"])if(s.hasAttribute(n)){const o=s.getAttribute(n);if("href"===n&&o.startsWith("#"))continue;if(e.href=o,!t.includes(e.protocol.replace(/:$/,""))){if(i&&"src"===n&&e.href.startsWith("data:"))continue;s.removeAttribute(n)}}})),Yi((()=>{ya("afterSanitizeAttributes")}))}(s);try{return va(i,{...e,RETURN_TRUSTED_TYPE:!0})}finally{ya("uponSanitizeAttribute"),n.dispose()}}const aN=["align","autoplay","alt","class","controls","data-code","data-href","draggable","height","href","loop","muted","playsinline","poster","src","style","target","title","width","start"];const lN=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]),uN=new zn((()=>{const t=new tN.Renderer;return t.code=t=>t,t.blockquote=t=>t,t.html=()=>"",t.heading=t=>t+"\n",t.hr=()=>"",t.list=t=>t,t.listitem=t=>t+"\n",t.paragraph=t=>t+"\n",t.table=(t,i)=>t+i+"\n",t.tablerow=t=>t,t.tablecell=t=>t+" ",t.strong=t=>t,t.em=t=>t,t.codespan=t=>t,t.br=()=>"\n",t.del=t=>t,t.image=()=>"",t.text=t=>t,t.link=(t,i,e)=>e,t}));function dN(t){let i="";return t.forEach((t=>{i+=t.raw})),i}function fN(t){for(const i of t.tokens)if("text"===i.type){const e=i.raw.split("\n"),s=e[e.length-1];if(s.includes("`"))return gN(t);if(s.includes("**"))return yN(t,"**");if(s.match(/\*\w/))return yN(t,"*");if(s.match(/(^|\s)__\w/))return bN(t);if(s.match(/(^|\s)_\w/))return mN(t);if(s.match(/(^|\s)\[.*\]\(\w*/))return wN(t);if(s.match(/(^|\s)\[\w/))return vN(t)}}function pN(t){const i=dN(t);return tN.lexer(i+"\n```")}function gN(t){return yN(t,"`")}function mN(t){return yN(t,"_")}function wN(t){return yN(t,")")}function vN(t){return yN(t,"](about:blank)")}function bN(t){return yN(t,"__")}function yN(t,i){const e=dN(Array.isArray(t)?t:[t]);return tN.lexer(e+i)[0]}function kN(t){const i=dN(t),e=i.split("\n");let s,n=!1;for(let t=0;t0){const t=n?e.slice(0,-1).join("\n"):i,o=!!t.match(/\|\s*$/),r=t+(o?"":"|")+`\n|${" --- |".repeat(s)}`;return tN.lexer(r)}}class xN{constructor(t){this.spliceables=t}splice(t,i,e){this.spliceables.forEach((s=>s.splice(t,i,e)))}}class CN extends Error{constructor(t,i){super(`ListError [${t}] ${i}`)}}function SN(t,i){const e=[];for(const s of i){if(t.start>=s.range.end)continue;if(t.end({range:DN(t.range,s),size:t.size}))),r=e.map(((i,e)=>({range:{start:t+e,end:t+e+1},size:i.size})));this.groups=function(...t){return function(t){const i=[];let e=null;for(const s of t){const t=s.range.start,n=s.range.end,o=s.size;e&&o===e.size?e.range.end=n:(e={range:{start:t,end:n},size:o},i.push(e))}return i}(t.reduce(((t,i)=>t.concat(i)),[]))}(n,r,o),this._size=this._paddingTop+this.groups.reduce(((t,i)=>t+i.size*(i.range.end-i.range.start)),0)}get count(){const t=this.groups.length;return t?this.groups[t-1].range.end:0}get size(){return this._size}indexAt(t){if(t<0)return-1;if(t{for(const e of t)this.getRenderer(i).disposeTemplate(e.templateData),e.templateData=null})),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(t){const i=this.renderers.get(t);if(!i)throw new Error(`No renderer found for ${t}`);return i}}var MN=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};const LN={CurrentDragAndDropData:void 0},FN={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:t=>[t],getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class TN{constructor(t){this.elements=t}update(){}getData(){return this.elements}}class RN{constructor(t){this.elements=t}update(){}getData(){return this.elements}}class ON{constructor(){this.types=[],this.files=[]}update(t){if(t.types&&this.types.splice(0,this.types.length,...t.types),t.files){this.files.splice(0,this.files.length);for(let i=0;ie,this.getPosInSet=(null==t?void 0:t.getPosInSet)?t.getPosInSet.bind(t):(t,i)=>i+1,this.getRole=(null==t?void 0:t.getRole)?t.getRole.bind(t):()=>"listitem",this.isChecked=(null==t?void 0:t.isChecked)?t.isChecked.bind(t):()=>{}}}class _N{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(t){if(t!==this._horizontalScrolling){if(t&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=t,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const t of this.items)this.measureItemWidth(t);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:rl(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(t,i,e,s=FN){var n,o,r,h,c,a,l,u,d,f,p,g,m;if(this.virtualDelegate=i,this.domId="list_id_"+ ++_N.InstanceCount,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new hc(50),this.splicing=!1,this.dragOverAnimationStopDisposable=te.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=te.None,this.onDragLeaveTimeout=te.None,this.disposables=new Xi,this._onDidChangeContentHeight=new de,this._onDidChangeContentWidth=new de,this.onDidChangeContentHeight=he.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,s.horizontalScrolling&&s.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=new EN(null!==(n=s.paddingTop)&&void 0!==n?n:0);for(const t of e)this.renderers.set(t.templateId,t);this.cache=this.disposables.add(new AN(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support","boolean"!=typeof s.mouseSupport||s.mouseSupport),this._horizontalScrolling=null!==(o=s.horizontalScrolling)&&void 0!==o?o:FN.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=void 0===s.paddingBottom?0:s.paddingBottom,this.accessibilityProvider=new IN(s.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(null!==(r=s.transformOptimization)&&void 0!==r?r:FN.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(rw.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new xk({forceIntegerValues:!0,smoothScrollDuration:null!==(h=s.smoothScrolling)&&void 0!==h&&h?125:0,scheduleAtNextAnimationFrame:t=>Qa(Na(this.domNode),t)})),this.scrollableElement=this.disposables.add(new Fk(this.rowsContainer,{alwaysConsumeMouseWheel:null!==(c=s.alwaysConsumeMouseWheel)&&void 0!==c?c:FN.alwaysConsumeMouseWheel,horizontal:1,vertical:null!==(a=s.verticalScrollMode)&&void 0!==a?a:FN.verticalScrollMode,useShadows:null!==(l=s.useShadows)&&void 0!==l?l:FN.useShadows,mouseWheelScrollSensitivity:s.mouseWheelScrollSensitivity,fastScrollSensitivity:s.fastScrollSensitivity,scrollByPage:s.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),t.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(Va(this.rowsContainer,ow.Change,(t=>this.onTouchChange(t)))),this.disposables.add(Va(this.scrollableElement.getDomNode(),"scroll",(t=>t.target.scrollTop=0))),this.disposables.add(Va(this.domNode,"dragover",(t=>this.onDragOver(this.toDragEvent(t))))),this.disposables.add(Va(this.domNode,"drop",(t=>this.onDrop(this.toDragEvent(t))))),this.disposables.add(Va(this.domNode,"dragleave",(t=>this.onDragLeave(this.toDragEvent(t))))),this.disposables.add(Va(this.domNode,"dragend",(t=>this.onDragEnd(t)))),this.setRowLineHeight=null!==(u=s.setRowLineHeight)&&void 0!==u?u:FN.setRowLineHeight,this.setRowHeight=null!==(d=s.setRowHeight)&&void 0!==d?d:FN.setRowHeight,this.supportDynamicHeights=null!==(f=s.supportDynamicHeights)&&void 0!==f?f:FN.supportDynamicHeights,this.dnd=null!==(p=s.dnd)&&void 0!==p?p:this.disposables.add(FN.dnd),this.layout(null===(g=s.initialSize)||void 0===g?void 0:g.height,null===(m=s.initialSize)||void 0===m?void 0:m.width)}updateOptions(t){let i;if(void 0!==t.paddingBottom&&(this.paddingBottom=t.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),void 0!==t.smoothScrolling&&this.scrollable.setSmoothScrollDuration(t.smoothScrolling?125:0),void 0!==t.horizontalScrolling&&(this.horizontalScrolling=t.horizontalScrolling),void 0!==t.scrollByPage&&(i={...null!=i?i:{},scrollByPage:t.scrollByPage}),void 0!==t.mouseWheelScrollSensitivity&&(i={...null!=i?i:{},mouseWheelScrollSensitivity:t.mouseWheelScrollSensitivity}),void 0!==t.fastScrollSensitivity&&(i={...null!=i?i:{},fastScrollSensitivity:t.fastScrollSensitivity}),i&&this.scrollableElement.updateOptions(i),void 0!==t.paddingTop&&t.paddingTop!==this.rangeMap.paddingTop){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),e=t.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=t.paddingTop,this.render(i,Math.max(0,this.lastRenderTop+e),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}splice(t,i,e=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(t,i,e)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(t,i,e=[]){const s=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),n=uI.intersect(s,{start:t,end:t+i}),o=new Map;for(let t=n.end-1;t>=n.start;t--){const i=this.items[t];if(i.dragStartDisposable.dispose(),i.checkedDisposable.dispose(),i.row){let e=o.get(i.templateId);e||(e=[],o.set(i.templateId,e));const s=this.renderers.get(i.templateId);s&&s.disposeElement&&s.disposeElement(i.element,t,i.row.templateData,i.size),e.push(i.row)}i.row=null}const r={start:t+i,end:this.items.length},h=uI.intersect(r,s),c=uI.relativeComplement(r,s),a=e.map((t=>({id:String(this.itemId++),element:t,templateId:this.virtualDelegate.getTemplateId(t),size:this.virtualDelegate.getHeight(t),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(t),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:te.None,checkedDisposable:te.None})));let l;0===t&&i>=this.items.length?(this.rangeMap=new EN(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,a),l=this.items,this.items=a):(this.rangeMap.splice(t,i,a),l=this.items.splice(t,i,...a));const u=e.length-i,d=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),f=DN(h,u),p=uI.intersect(d,f);for(let t=p.start;tDN(t,u))),w=[{start:t,end:t+e.length},...m].map((t=>uI.intersect(d,t))),v=this.getNextToLastElement(w);for(const t of w)for(let i=t.start;it.element))}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=Qa(Na(this.domNode),(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})))}eventuallyUpdateScrollWidth(){this.horizontalScrolling?this.scrollableElementWidthDelayer.trigger((()=>this.updateScrollWidth())):this.scrollableElementWidthDelayer.cancel()}updateScrollWidth(){if(!this.horizontalScrolling)return;let t=0;for(const i of this.items)void 0!==i.width&&(t=Math.max(t,i.width));this.scrollWidth=t,this.scrollableElement.setScrollDimensions({scrollWidth:0===t?0:t+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const t of this.items)t.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(t){return this.items[t].element}indexOf(t){return this.items.findIndex((i=>i.element===t))}domElement(t){const i=this.items[t].row;return i&&i.domNode}elementHeight(t){return this.items[t].size}elementTop(t){return this.rangeMap.positionAt(t)}indexAt(t){return this.rangeMap.indexAt(t)}indexAfter(t){return this.rangeMap.indexAfter(t)}layout(t,i){const e={height:"number"==typeof t?t:hl(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,e.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(e),void 0!==i&&(this.renderWidth=i,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:"number"==typeof i?i:rl(this.domNode)})}render(t,i,e,s,n,o=!1){const r=this.getRenderRange(i,e),h=uI.relativeComplement(r,t),c=uI.relativeComplement(t,r),a=this.getNextToLastElement(h);if(o){const i=uI.intersect(t,r);for(let t=i.start;t{for(const t of c)for(let i=t.start;is.row.domNode.setAttribute("aria-checked",String(!!t));t(r.value),s.checkedDisposable=r.onDidChange(t)}!n&&s.row.domNode.parentElement||(i?this.rowsContainer.insertBefore(s.row.domNode,i):this.rowsContainer.appendChild(s.row.domNode)),this.updateItemInDOM(s,t);const h=this.renderers.get(s.templateId);if(!h)throw new Error(`No renderer found for template id ${s.templateId}`);null==h||h.renderElement(s.element,t,s.row.templateData,s.size);const c=this.dnd.getDragURI(s.element);s.dragStartDisposable.dispose(),s.row.domNode.draggable=!!c,c&&(s.dragStartDisposable=Va(s.row.domNode,"dragstart",(t=>this.onDragStart(s.element,c,t)))),this.horizontalScrolling&&(this.measureItemWidth(s),this.eventuallyUpdateScrollWidth())}measureItemWidth(t){if(!t.row||!t.row.domNode)return;t.row.domNode.style.width="fit-content",t.width=rl(t.row.domNode);const i=Na(t.row.domNode).getComputedStyle(t.row.domNode);i.paddingLeft&&(t.width+=parseFloat(i.paddingLeft)),i.paddingRight&&(t.width+=parseFloat(i.paddingRight)),t.row.domNode.style.width=""}updateItemInDOM(t,i){t.row.domNode.style.top=`${this.elementTop(i)}px`,this.setRowHeight&&(t.row.domNode.style.height=`${t.size}px`),this.setRowLineHeight&&(t.row.domNode.style.lineHeight=`${t.size}px`),t.row.domNode.setAttribute("data-index",`${i}`),t.row.domNode.setAttribute("data-last-element",i===this.length-1?"true":"false"),t.row.domNode.setAttribute("data-parity",i%2==0?"even":"odd"),t.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t.element,i,this.length))),t.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t.element,i))),t.row.domNode.setAttribute("id",this.getElementDomId(i)),t.row.domNode.classList.toggle("drop-target",t.dropTarget)}removeItemFromDOM(t){const i=this.items[t];if(i.dragStartDisposable.dispose(),i.checkedDisposable.dispose(),i.row){const e=this.renderers.get(i.templateId);e&&e.disposeElement&&e.disposeElement(i.element,t,i.row.templateData,i.size),this.cache.release(i.row),i.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(t,i){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:t,reuseAnimation:i})}get scrollTop(){return this.getScrollTop()}set scrollTop(t){this.setScrollTop(t)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return he.map(this.disposables.add(new Bk(this.domNode,"click")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseDblClick(){return he.map(this.disposables.add(new Bk(this.domNode,"dblclick")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseMiddleClick(){return he.filter(he.map(this.disposables.add(new Bk(this.domNode,"auxclick")).event,(t=>this.toMouseEvent(t)),this.disposables),(t=>1===t.browserEvent.button),this.disposables)}get onMouseDown(){return he.map(this.disposables.add(new Bk(this.domNode,"mousedown")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseOver(){return he.map(this.disposables.add(new Bk(this.domNode,"mouseover")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseOut(){return he.map(this.disposables.add(new Bk(this.domNode,"mouseout")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onContextMenu(){return he.any(he.map(this.disposables.add(new Bk(this.domNode,"contextmenu")).event,(t=>this.toMouseEvent(t)),this.disposables),he.map(this.disposables.add(new Bk(this.domNode,ow.Contextmenu)).event,(t=>this.toGestureEvent(t)),this.disposables))}get onTouchStart(){return he.map(this.disposables.add(new Bk(this.domNode,"touchstart")).event,(t=>this.toTouchEvent(t)),this.disposables)}get onTap(){return he.map(this.disposables.add(new Bk(this.rowsContainer,ow.Tap)).event,(t=>this.toGestureEvent(t)),this.disposables)}toMouseEvent(t){const i=this.getItemIndexFromEventTarget(t.target||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}toTouchEvent(t){const i=this.getItemIndexFromEventTarget(t.target||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}toGestureEvent(t){const i=this.getItemIndexFromEventTarget(t.initialTarget||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}toDragEvent(t){const i=this.getItemIndexFromEventTarget(t.target||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}onScroll(t){try{const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(i,t.scrollTop,t.height,t.scrollLeft,t.scrollWidth),this.supportDynamicHeights&&this._rerender(t.scrollTop,t.height,t.inSmoothScrolling)}catch(i){throw console.error("Got bad scroll event:",t),i}}onTouchChange(t){t.preventDefault(),t.stopPropagation(),this.scrollTop-=t.translationY}onDragStart(t,i,e){var s,n;if(!e.dataTransfer)return;const o=this.dnd.getDragElements(t);if(e.dataTransfer.effectAllowed="copyMove",e.dataTransfer.setData(MI.TEXT,i),e.dataTransfer.setDragImage){let t;this.dnd.getDragLabel&&(t=this.dnd.getDragLabel(o,e)),void 0===t&&(t=String(o.length));const i=$l(".monaco-drag-image");i.textContent=t;const s=(t=>{for(;t&&!t.classList.contains("monaco-workbench");)t=t.parentElement;return t||this.domNode.ownerDocument})(this.domNode);s.appendChild(i),e.dataTransfer.setDragImage(i,-10,-10),setTimeout((()=>s.removeChild(i)),0)}this.domNode.classList.add("dragging"),this.currentDragData=new TN(o),LN.CurrentDragAndDropData=new RN(o),null===(n=(s=this.dnd).onDragStart)||void 0===n||n.call(s,this.currentDragData,e)}onDragOver(t){var i;if(t.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),LN.CurrentDragAndDropData&&"vscode-ui"===LN.CurrentDragAndDropData.getData())return!1;if(this.setupDragAndDropScrollTopAnimation(t.browserEvent),!t.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(LN.CurrentDragAndDropData)this.currentDragData=LN.CurrentDragAndDropData;else{if(!t.browserEvent.dataTransfer.types)return!1;this.currentDragData=new ON}const e=this.dnd.onDragOver(this.currentDragData,t.element,t.index,t.browserEvent);if(this.canDrop="boolean"==typeof e?e:e.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;let s;if(t.browserEvent.dataTransfer.dropEffect="boolean"!=typeof e&&0===e.effect?"copy":"move",s="boolean"!=typeof e&&e.feedback?e.feedback:void 0===t.index?[-1]:[t.index],s=y(s).filter((t=>t>=-1&&tt-i)),s=-1===s[0]?[-1]:s,n=this.currentDragFeedback,o=s,Array.isArray(n)&&Array.isArray(o)?l(n,o):n===o)return!0;var n,o;if(this.currentDragFeedback=s,this.currentDragFeedbackDisposable.dispose(),-1===s[0])this.domNode.classList.add("drop-target"),this.rowsContainer.classList.add("drop-target"),this.currentDragFeedbackDisposable=Yi((()=>{this.domNode.classList.remove("drop-target"),this.rowsContainer.classList.remove("drop-target")}));else{for(const t of s){const e=this.items[t];e.dropTarget=!0,null===(i=e.row)||void 0===i||i.domNode.classList.add("drop-target")}this.currentDragFeedbackDisposable=Yi((()=>{var t;for(const i of s){const e=this.items[i];e.dropTarget=!1,null===(t=e.row)||void 0===t||t.domNode.classList.remove("drop-target")}}))}return!0}onDragLeave(t){var i,e;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=lc((()=>this.clearDragOverFeedback()),100,this.disposables),this.currentDragData&&(null===(e=(i=this.dnd).onDragLeave)||void 0===e||e.call(i,this.currentDragData,t.element,t.index,t.browserEvent))}onDrop(t){if(!this.canDrop)return;const i=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,LN.CurrentDragAndDropData=void 0,i&&t.browserEvent.dataTransfer&&(t.browserEvent.preventDefault(),i.update(t.browserEvent.dataTransfer),this.dnd.drop(i,t.element,t.index,t.browserEvent))}onDragEnd(t){var i,e;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,LN.CurrentDragAndDropData=void 0,null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=te.None}setupDragAndDropScrollTopAnimation(t){if(!this.dragOverAnimationDisposable){const t=sl(this.domNode).top;this.dragOverAnimationDisposable=function(t,i){const e=()=>{i(),s=Qa(t,e)};let s=Qa(t,e);return Yi((()=>s.dispose()))}(Na(this.domNode),this.animateDragAndDropScrollTop.bind(this,t))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=lc((()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}),1e3,this.disposables),this.dragOverMouseY=t.pageY}animateDragAndDropScrollTop(t){if(void 0===this.dragOverMouseY)return;const i=this.dragOverMouseY-t,e=this.renderHeight-35;i<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(i-35))):i>e&&(this.scrollTop+=Math.min(14,Math.floor(.3*(i-e))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getItemIndexFromEventTarget(t){const i=this.scrollableElement.getDomNode();let e=t;for(;e instanceof HTMLElement&&e!==this.rowsContainer&&i.contains(e);){const t=e.getAttribute("data-index");if(t){const i=Number(t);if(!isNaN(i))return i}e=e.parentElement}}getRenderRange(t,i){return{start:this.rangeMap.indexAt(t),end:this.rangeMap.indexAfter(t+i-1)}}_rerender(t,i,e){const s=this.getRenderRange(t,i);let n,o;t===this.elementTop(s.start)?(n=s.start,o=0):s.end-s.start>1&&(n=s.start+1,o=this.elementTop(n)-t);let r=0;for(;;){const h=this.getRenderRange(t,i);let c=!1;for(let t=h.start;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};class $N{constructor(t){this.trait=t,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(t){return t}renderElement(t,i,e){const s=this.renderedElements.findIndex((t=>t.templateData===e));if(s>=0){const t=this.renderedElements[s];this.trait.unrender(e),t.index=i}else this.renderedElements.push({index:i,templateData:e});this.trait.renderIndex(i,e)}splice(t,i,e){const s=[];for(const n of this.renderedElements)n.index=t+i&&s.push({index:n.index+e-i,templateData:n.templateData});this.renderedElements=s}renderIndexes(t){for(const{index:i,templateData:e}of this.renderedElements)t.indexOf(i)>-1&&this.trait.renderIndex(i,e)}disposeTemplate(t){const i=this.renderedElements.findIndex((i=>i.templateData===t));i<0||this.renderedElements.splice(i,1)}}class WN{get name(){return this._trait}get renderer(){return new $N(this)}constructor(t){this._trait=t,this.length=0,this.indexes=[],this.sortedIndexes=[],this._onChange=new de,this.onChange=this._onChange.event}splice(t,i,e){var s;i=Math.max(0,Math.min(i,this.length-t));const n=e.length-i,o=t+i,r=[];let h=0;for(;h=o;)r.push(this.sortedIndexes[h++]+n);const c=this.length+n;if(this.sortedIndexes.length>0&&0===r.length&&c>0){const i=null!==(s=this.sortedIndexes.find((i=>i>=t)))&&void 0!==s?s:c-1;r.push(Math.min(i,c-1))}this.renderer.splice(t,i,e.length),this._set(r,r),this.length=c}renderIndex(t,i){i.classList.toggle(this._trait,this.contains(t))}unrender(t){t.classList.remove(this._trait)}set(t,i){return this._set(t,[...t].sort(oB),i)}_set(t,i,e){const s=this.indexes,n=this.sortedIndexes;this.indexes=t,this.sortedIndexes=i;const o=nB(n,t);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:t,browserEvent:e}),s}get(){return this.indexes}contains(t){return u(this.sortedIndexes,t,oB)>=0}dispose(){Qi(this._onChange)}}PN([nw],WN.prototype,"renderer",null);class jN extends WN{constructor(t){super("selected"),this.setAriaSelected=t}renderIndex(t,i){super.renderIndex(t,i),this.setAriaSelected&&(this.contains(t)?i.setAttribute("aria-selected","true"):i.setAttribute("aria-selected","false"))}}class zN{constructor(t,i,e){this.trait=t,this.view=i,this.identityProvider=e}splice(t,i,e){if(!this.identityProvider)return this.trait.splice(t,i,new Array(e.length).fill(!1));const s=this.trait.get().map((t=>this.identityProvider.getId(this.view.element(t)).toString()));if(0===s.length)return this.trait.splice(t,i,new Array(e.length).fill(!1));const n=new Set(s),o=e.map((t=>n.has(this.identityProvider.getId(t).toString())));this.trait.splice(t,i,o)}}function HN(t){return"INPUT"===t.tagName||"TEXTAREA"===t.tagName}function VN(t,i){return!!t.classList.contains(i)||!t.classList.contains("monaco-list")&&!!t.parentElement&&VN(t.parentElement,i)}function UN(t){return VN(t,"monaco-editor")}function qN(t){return!!("A"===t.tagName&&t.classList.contains("monaco-button")||"DIV"===t.tagName&&t.classList.contains("monaco-button-dropdown"))||!t.classList.contains("monaco-list")&&!!t.parentElement&&qN(t.parentElement)}class KN{get onKeyDown(){return he.chain(this.disposables.add(new Bk(this.view.domNode,"keydown")).event,(t=>t.filter((t=>!HN(t.target))).map((t=>new Qh(t)))))}constructor(t,i,e){this.list=t,this.view=i,this.disposables=new Xi,this.multipleSelectionDisposables=new Xi,this.multipleSelectionSupport=e.multipleSelectionSupport,this.disposables.add(this.onKeyDown((t=>{switch(t.keyCode){case 3:return this.onEnter(t);case 16:return this.onUpArrow(t);case 18:return this.onDownArrow(t);case 11:return this.onPageUpArrow(t);case 12:return this.onPageDownArrow(t);case 9:return this.onEscape(t);case 31:this.multipleSelectionSupport&&(Ct?t.metaKey:t.ctrlKey)&&this.onCtrlA(t)}})))}updateOptions(t){void 0!==t.multipleSelectionSupport&&(this.multipleSelectionSupport=t.multipleSelectionSupport)}onEnter(t){t.preventDefault(),t.stopPropagation(),this.list.setSelection(this.list.getFocus(),t.browserEvent)}onUpArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusPrevious(1,!1,t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onDownArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusNext(1,!1,t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onPageUpArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusPreviousPage(t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onPageDownArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusNextPage(t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onCtrlA(t){t.preventDefault(),t.stopPropagation(),this.list.setSelection(x(this.list.length),t.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(t){this.list.getSelection().length&&(t.preventDefault(),t.stopPropagation(),this.list.setSelection([],t.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}PN([nw],KN.prototype,"onKeyDown",null),function(t){t[t.Automatic=0]="Automatic",t[t.Trigger=1]="Trigger"}(NN||(NN={})),function(t){t[t.Idle=0]="Idle",t[t.Typing=1]="Typing"}(BN||(BN={}));const GN=new class{mightProducePrintableCharacter(t){return!(t.ctrlKey||t.metaKey||t.altKey)&&(t.keyCode>=31&&t.keyCode<=56||t.keyCode>=21&&t.keyCode<=30||t.keyCode>=98&&t.keyCode<=107||t.keyCode>=85&&t.keyCode<=95)}};class ZN{constructor(t,i,e,s,n){this.list=t,this.view=i,this.keyboardNavigationLabelProvider=e,this.keyboardNavigationEventFilter=s,this.delegate=n,this.enabled=!1,this.state=BN.Idle,this.mode=NN.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new Xi,this.disposables=new Xi,this.updateOptions(t.options)}updateOptions(t){var i,e;null===(i=t.typeNavigationEnabled)||void 0===i||i?this.enable():this.disable(),this.mode=null!==(e=t.typeNavigationMode)&&void 0!==e?e:NN.Automatic}enable(){if(this.enabled)return;let t=!1;const i=he.chain(this.enabledDisposables.add(new Bk(this.view.domNode,"keydown")).event,(i=>i.filter((t=>!HN(t.target))).filter((()=>this.mode===NN.Automatic||this.triggered)).map((t=>new Qh(t))).filter((i=>t||this.keyboardNavigationEventFilter(i))).filter((t=>this.delegate.mightProducePrintableCharacter(t))).forEach((t=>Fl(t,!0))).map((t=>t.browserEvent.key)))),e=he.debounce(i,(()=>null),800,void 0,void 0,void 0,this.enabledDisposables);he.reduce(he.any(i,e),((t,i)=>null===i?null:(t||"")+i),void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),e(this.onClear,this,this.enabledDisposables),i((()=>t=!0),void 0,this.enabledDisposables),e((()=>t=!1),void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var t;const i=this.list.getFocus();if(i.length>0&&i[0]===this.previouslyFocused){const e=null===(t=this.list.options.accessibilityProvider)||void 0===t?void 0:t.getAriaLabel(this.list.element(i[0]));e&&Pm(e)}this.previouslyFocused=-1}onInput(t){if(!t)return this.state=BN.Idle,void(this.triggered=!1);const i=this.list.getFocus(),e=i.length>0?i[0]:0,s=this.state===BN.Idle?1:0;this.state=BN.Typing;for(let i=0;i1&&1===i.length)return this.previouslyFocused=e,this.list.setFocus([n]),void this.list.reveal(n)}}else if(void 0===r||BI(t,r))return this.previouslyFocused=e,this.list.setFocus([n]),void this.list.reveal(n)}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class QN{constructor(t,i){this.list=t,this.view=i,this.disposables=new Xi;const e=he.chain(this.disposables.add(new Bk(i.domNode,"keydown")).event,(t=>t.filter((t=>!HN(t.target))).map((t=>new Qh(t))))),s=he.chain(e,(t=>t.filter((t=>!(2!==t.keyCode||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)))));s(this.onTab,this,this.disposables)}onTab(t){if(t.target!==this.view.domNode)return;const i=this.list.getFocus();if(0===i.length)return;const e=this.view.domElement(i[0]);if(!e)return;const s=e.querySelector("[tabIndex]");if(!(s&&s instanceof HTMLElement&&-1!==s.tabIndex))return;const n=Na(s).getComputedStyle(s);"hidden"!==n.visibility&&"none"!==n.display&&(t.preventDefault(),t.stopPropagation(),s.focus())}dispose(){this.disposables.dispose()}}function JN(t){return Ct?t.browserEvent.metaKey:t.browserEvent.ctrlKey}function YN(t){return t.browserEvent.shiftKey}const XN={isSelectionSingleChangeEvent:JN,isSelectionRangeChangeEvent:YN};class tB{constructor(t){this.list=t,this.disposables=new Xi,this._onPointer=new de,this.onPointer=this._onPointer.event,!1!==t.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||XN),this.mouseSupport=void 0===t.options.mouseSupport||!!t.options.mouseSupport,this.mouseSupport&&(t.onMouseDown(this.onMouseDown,this,this.disposables),t.onContextMenu(this.onContextMenu,this,this.disposables),t.onMouseDblClick(this.onDoubleClick,this,this.disposables),t.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(rw.addTarget(t.getHTMLElement()))),he.any(t.onMouseClick,t.onMouseMiddleClick,t.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(t){void 0!==t.multipleSelectionSupport&&(this.multipleSelectionController=void 0,t.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||XN))}isSelectionSingleChangeEvent(t){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(t)}isSelectionRangeChangeEvent(t){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(t)}isSelectionChangeEvent(t){return this.isSelectionSingleChangeEvent(t)||this.isSelectionRangeChangeEvent(t)}onMouseDown(t){UN(t.browserEvent.target)||pl()!==t.browserEvent.target&&this.list.domFocus()}onContextMenu(t){HN(t.browserEvent.target)||UN(t.browserEvent.target)||this.list.setFocus(void 0===t.index?[]:[t.index],t.browserEvent)}onViewPointer(t){if(!this.mouseSupport)return;if(HN(t.browserEvent.target)||UN(t.browserEvent.target))return;if(t.browserEvent.isHandledByList)return;t.browserEvent.isHandledByList=!0;const i=t.index;return void 0===i?(this.list.setFocus([],t.browserEvent),this.list.setSelection([],t.browserEvent),void this.list.setAnchor(void 0)):this.isSelectionChangeEvent(t)?this.changeSelection(t):(this.list.setFocus([i],t.browserEvent),this.list.setAnchor(i),Al(e=t.browserEvent)&&2===e.button||this.list.setSelection([i],t.browserEvent),void this._onPointer.fire(t));var e}onDoubleClick(t){if(HN(t.browserEvent.target)||UN(t.browserEvent.target))return;if(this.isSelectionChangeEvent(t))return;if(t.browserEvent.isHandledByList)return;t.browserEvent.isHandledByList=!0;const i=this.list.getFocus();this.list.setSelection(i,t.browserEvent)}changeSelection(t){const i=t.index;let e=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(t)){if(void 0===e){const t=this.list.getFocus()[0];e=null!=t?t:i,this.list.setAnchor(e)}const s=x(Math.min(e,i),Math.max(e,i)+1),n=this.list.getSelection(),o=function(t,i){const e=t.indexOf(i);if(-1===e)return[];const s=[];let n=e-1;for(;n>=0&&t[n]===i-(e-n);)s.push(t[n--]);for(s.reverse(),n=e;n=t.length)e.push(i[n++]);else if(n>=i.length)e.push(t[s++]);else{if(t[s]===i[n]){s++,n++;continue}t[s]t!==i));this.list.setFocus([i]),this.list.setAnchor(i),this.list.setSelection(e.length===s.length?[...s,i]:s,t.browserEvent)}}dispose(){this.disposables.dispose()}}class iB{constructor(t,i){this.styleElement=t,this.selectorSuffix=i}style(t){var i,e;const s=this.selectorSuffix&&`.${this.selectorSuffix}`,n=[];t.listBackground&&n.push(`.monaco-list${s} .monaco-list-rows { background: ${t.listBackground}; }`),t.listFocusBackground&&(n.push(`.monaco-list${s}:focus .monaco-list-row.focused { background-color: ${t.listFocusBackground}; }`),n.push(`.monaco-list${s}:focus .monaco-list-row.focused:hover { background-color: ${t.listFocusBackground}; }`)),t.listFocusForeground&&n.push(`.monaco-list${s}:focus .monaco-list-row.focused { color: ${t.listFocusForeground}; }`),t.listActiveSelectionBackground&&(n.push(`.monaco-list${s}:focus .monaco-list-row.selected { background-color: ${t.listActiveSelectionBackground}; }`),n.push(`.monaco-list${s}:focus .monaco-list-row.selected:hover { background-color: ${t.listActiveSelectionBackground}; }`)),t.listActiveSelectionForeground&&n.push(`.monaco-list${s}:focus .monaco-list-row.selected { color: ${t.listActiveSelectionForeground}; }`),t.listActiveSelectionIconForeground&&n.push(`.monaco-list${s}:focus .monaco-list-row.selected .codicon { color: ${t.listActiveSelectionIconForeground}; }`),t.listFocusAndSelectionBackground&&n.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${s}:focus .monaco-list-row.selected.focused { background-color: ${t.listFocusAndSelectionBackground}; }\n\t\t\t`),t.listFocusAndSelectionForeground&&n.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${s}:focus .monaco-list-row.selected.focused { color: ${t.listFocusAndSelectionForeground}; }\n\t\t\t`),t.listInactiveFocusForeground&&(n.push(`.monaco-list${s} .monaco-list-row.focused { color: ${t.listInactiveFocusForeground}; }`),n.push(`.monaco-list${s} .monaco-list-row.focused:hover { color: ${t.listInactiveFocusForeground}; }`)),t.listInactiveSelectionIconForeground&&n.push(`.monaco-list${s} .monaco-list-row.focused .codicon { color: ${t.listInactiveSelectionIconForeground}; }`),t.listInactiveFocusBackground&&(n.push(`.monaco-list${s} .monaco-list-row.focused { background-color: ${t.listInactiveFocusBackground}; }`),n.push(`.monaco-list${s} .monaco-list-row.focused:hover { background-color: ${t.listInactiveFocusBackground}; }`)),t.listInactiveSelectionBackground&&(n.push(`.monaco-list${s} .monaco-list-row.selected { background-color: ${t.listInactiveSelectionBackground}; }`),n.push(`.monaco-list${s} .monaco-list-row.selected:hover { background-color: ${t.listInactiveSelectionBackground}; }`)),t.listInactiveSelectionForeground&&n.push(`.monaco-list${s} .monaco-list-row.selected { color: ${t.listInactiveSelectionForeground}; }`),t.listHoverBackground&&n.push(`.monaco-list${s}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${t.listHoverBackground}; }`),t.listHoverForeground&&n.push(`.monaco-list${s}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${t.listHoverForeground}; }`);const o=ql(t.listFocusAndSelectionOutline,ql(t.listSelectionOutline,null!==(i=t.listFocusOutline)&&void 0!==i?i:""));o&&n.push(`.monaco-list${s}:focus .monaco-list-row.focused.selected { outline: 1px solid ${o}; outline-offset: -1px;}`),t.listFocusOutline&&n.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${s}:focus .monaco-list-row.focused { outline: 1px solid ${t.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${s}.last-focused .monaco-list-row.focused { outline: 1px solid ${t.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);const r=ql(t.listSelectionOutline,null!==(e=t.listInactiveFocusOutline)&&void 0!==e?e:"");r&&n.push(`.monaco-list${s} .monaco-list-row.focused.selected { outline: 1px dotted ${r}; outline-offset: -1px; }`),t.listSelectionOutline&&n.push(`.monaco-list${s} .monaco-list-row.selected { outline: 1px dotted ${t.listSelectionOutline}; outline-offset: -1px; }`),t.listInactiveFocusOutline&&n.push(`.monaco-list${s} .monaco-list-row.focused { outline: 1px dotted ${t.listInactiveFocusOutline}; outline-offset: -1px; }`),t.listHoverOutline&&n.push(`.monaco-list${s} .monaco-list-row:hover { outline: 1px dashed ${t.listHoverOutline}; outline-offset: -1px; }`),t.listDropBackground&&n.push(`\n\t\t\t\t.monaco-list${s}.drop-target,\n\t\t\t\t.monaco-list${s} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${s} .monaco-list-row.drop-target { background-color: ${t.listDropBackground} !important; color: inherit !important; }\n\t\t\t`),t.tableColumnsBorder&&n.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${t.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`),t.tableOddRowsBackgroundColor&&n.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${t.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=n.join("\n")}}const eB={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropBackground:"#383B3D",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:lg.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:lg.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:lg.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0},sB={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}}};function nB(t,i){const e=[];let s=0,n=0;for(;s=t.length)e.push(i[n++]);else if(n>=i.length)e.push(t[s++]);else{if(t[s]===i[n]){e.push(t[s]),s++,n++;continue}e.push(t[s]t-i;class rB{constructor(t,i){this._templateId=t,this.renderers=i}get templateId(){return this._templateId}renderTemplate(t){return this.renderers.map((i=>i.renderTemplate(t)))}renderElement(t,i,e,s){let n=0;for(const o of this.renderers)o.renderElement(t,i,e[n++],s)}disposeElement(t,i,e,s){var n;let o=0;for(const r of this.renderers)null===(n=r.disposeElement)||void 0===n||n.call(r,t,i,e[o],s),o+=1}disposeTemplate(t){let i=0;for(const e of this.renderers)e.disposeTemplate(t[i++])}}class hB{constructor(t){this.accessibilityProvider=t,this.templateId="a18n"}renderTemplate(t){return t}renderElement(t,i,e){const s=this.accessibilityProvider.getAriaLabel(t);s?e.setAttribute("aria-label",s):e.removeAttribute("aria-label");const n=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);"number"==typeof n?e.setAttribute("aria-level",`${n}`):e.removeAttribute("aria-level")}disposeTemplate(t){}}class cB{constructor(t,i){this.list=t,this.dnd=i}getDragElements(t){const i=this.list.getSelectedElements();return i.indexOf(t)>-1?i:[t]}getDragURI(t){return this.dnd.getDragURI(t)}getDragLabel(t,i){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(t,i)}onDragStart(t,i){var e,s;null===(s=(e=this.dnd).onDragStart)||void 0===s||s.call(e,t,i)}onDragOver(t,i,e,s){return this.dnd.onDragOver(t,i,e,s)}onDragLeave(t,i,e,s){var n,o;null===(o=(n=this.dnd).onDragLeave)||void 0===o||o.call(n,t,i,e,s)}onDragEnd(t){var i,e;null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}drop(t,i,e,s){this.dnd.drop(t,i,e,s)}dispose(){this.dnd.dispose()}}class aB{get onDidChangeFocus(){return he.map(this.eventBufferer.wrapEvent(this.focus.onChange),(t=>this.toListEvent(t)),this.disposables)}get onDidChangeSelection(){return he.map(this.eventBufferer.wrapEvent(this.selection.onChange),(t=>this.toListEvent(t)),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let t=!1;const i=he.chain(this.disposables.add(new Bk(this.view.domNode,"keydown")).event,(i=>i.map((t=>new Qh(t))).filter((i=>t=58===i.keyCode||i.shiftKey&&68===i.keyCode)).map((t=>Fl(t,!0))).filter((()=>!1)))),e=he.chain(this.disposables.add(new Bk(this.view.domNode,"keyup")).event,(i=>i.forEach((()=>t=!1)).map((t=>new Qh(t))).filter((t=>58===t.keyCode||t.shiftKey&&68===t.keyCode)).map((t=>Fl(t,!0))).map((({browserEvent:t})=>{const i=this.getFocus(),e=i.length?i[0]:void 0;return{index:e,element:void 0!==e?this.view.element(e):void 0,anchor:void 0!==e?this.view.domElement(e):this.view.domNode,browserEvent:t}})))),s=he.chain(this.view.onContextMenu,(i=>i.filter((()=>!t)).map((({element:t,index:i,browserEvent:e})=>({element:t,index:i,anchor:new tc(Na(this.view.domNode),e),browserEvent:e})))));return he.any(i,e,s)}get onKeyDown(){return this.disposables.add(new Bk(this.view.domNode,"keydown")).event}get onDidFocus(){return he.signal(this.disposables.add(new Bk(this.view.domNode,"focus",!0)).event)}constructor(t,i,e,s,n=sB){var o,r,h,c;this.user=t,this._options=n,this.focus=new WN("focused"),this.anchor=new WN("anchor"),this.eventBufferer=new ve,this._ariaLabel="",this.disposables=new Xi,this._onDidDispose=new de,this.onDidDispose=this._onDidDispose.event;const a=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?null===(o=this._options.accessibilityProvider)||void 0===o?void 0:o.getWidgetRole():"list";this.selection=new jN("listbox"!==a);const l=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=n.accessibilityProvider,this.accessibilityProvider&&(l.push(new hB(this.accessibilityProvider)),null===(h=(r=this.accessibilityProvider).onDidChangeActiveDescendant)||void 0===h||h.call(r,this.onDidChangeActiveDescendant,this,this.disposables)),s=s.map((t=>new rB(t.templateId,[...l,t])));const u={...n,dnd:n.dnd&&new cB(this,n.dnd)};if(this.view=this.createListView(i,e,s,u),this.view.domNode.setAttribute("role",a),n.styleController)this.styleController=n.styleController(this.view.domId);else{const t=vl(this.view.domNode);this.styleController=new iB(t,this.view.domId)}this.spliceable=new xN([new zN(this.focus,this.view,n.identityProvider),new zN(this.selection,this.view,n.identityProvider),new zN(this.anchor,this.view,n.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new QN(this,this.view)),("boolean"!=typeof n.keyboardSupport||n.keyboardSupport)&&(this.keyboardController=new KN(this,this.view,n),this.disposables.add(this.keyboardController)),n.keyboardNavigationLabelProvider&&(this.typeNavigationController=new ZN(this,this.view,n.keyboardNavigationLabelProvider,null!==(c=n.keyboardNavigationEventFilter)&&void 0!==c?c:()=>!0,n.keyboardNavigationDelegate||GN),this.disposables.add(this.typeNavigationController)),this.mouseController=this.createMouseController(n),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),!1!==this._options.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(t,i,e,s){return new _N(t,i,e,s)}createMouseController(t){return new tB(this)}updateOptions(t={}){var i,e;this._options={...this._options,...t},null===(i=this.typeNavigationController)||void 0===i||i.updateOptions(this._options),void 0!==this._options.multipleSelectionController&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(t),null===(e=this.keyboardController)||void 0===e||e.updateOptions(t),this.view.updateOptions(t)}get options(){return this._options}splice(t,i,e=[]){if(t<0||t>this.view.length)throw new CN(this.user,`Invalid start index: ${t}`);if(i<0)throw new CN(this.user,`Invalid delete count: ${i}`);0===i&&0===e.length||this.eventBufferer.bufferEvents((()=>this.spliceable.splice(t,i,e)))}rerender(){this.view.rerender()}element(t){return this.view.element(t)}indexOf(t){return this.view.indexOf(t)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(t){this.view.setScrollTop(t)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){this._ariaLabel=t,this.view.domNode.setAttribute("aria-label",t)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(t,i){this.view.layout(t,i)}setSelection(t,i){for(const i of t)if(i<0||i>=this.length)throw new CN(this.user,`Invalid index ${i}`);this.selection.set(t,i)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((t=>this.view.element(t)))}setAnchor(t){if(void 0!==t){if(t<0||t>=this.length)throw new CN(this.user,`Invalid index ${t}`);this.anchor.set([t])}else this.anchor.set([])}getAnchor(){return k(this.anchor.get(),void 0)}getAnchorElement(){const t=this.getAnchor();return void 0===t?void 0:this.element(t)}setFocus(t,i){for(const i of t)if(i<0||i>=this.length)throw new CN(this.user,`Invalid index ${i}`);this.focus.set(t,i)}focusNext(t=1,i=!1,e,s){if(0===this.length)return;const n=this.focus.get(),o=this.findNextIndex(n.length>0?n[0]+t:0,i,s);o>-1&&this.setFocus([o],e)}focusPrevious(t=1,i=!1,e,s){if(0===this.length)return;const n=this.focus.get(),o=this.findPreviousIndex(n.length>0?n[0]-t:0,i,s);o>-1&&this.setFocus([o],e)}async focusNextPage(t,i){let e=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);e=0===e?0:e-1;const s=this.getFocus()[0];if(s!==e&&(void 0===s||e>s)){const n=this.findPreviousIndex(e,!1,i);this.setFocus(n>-1&&s!==n?[n]:[e],t)}else{const n=this.view.getScrollTop();let o=n+this.view.renderHeight;e>s&&(o-=this.view.elementHeight(e)),this.view.setScrollTop(o),this.view.getScrollTop()!==n&&(this.setFocus([]),await ac(0),await this.focusNextPage(t,i))}}async focusPreviousPage(t,i){let e;const s=this.view.getScrollTop();e=0===s?this.view.indexAt(s):this.view.indexAfter(s-1);const n=this.getFocus()[0];if(n!==e&&(void 0===n||n>=e)){const s=this.findNextIndex(e,!1,i);this.setFocus(s>-1&&n!==s?[s]:[e],t)}else{const e=s;this.view.setScrollTop(s-this.view.renderHeight),this.view.getScrollTop()!==e&&(this.setFocus([]),await ac(0),await this.focusPreviousPage(t,i))}}focusLast(t,i){if(0===this.length)return;const e=this.findPreviousIndex(this.length-1,!1,i);e>-1&&this.setFocus([e],t)}focusFirst(t,i){this.focusNth(0,t,i)}focusNth(t,i,e){if(0===this.length)return;const s=this.findNextIndex(t,!1,e);s>-1&&this.setFocus([s],i)}findNextIndex(t,i=!1,e){for(let s=0;s=this.length&&!i)return-1;if(t%=this.length,!e||e(this.element(t)))return t;t++}return-1}findPreviousIndex(t,i=!1,e){for(let s=0;sthis.view.element(t)))}reveal(t,i,e=0){if(t<0||t>=this.length)throw new CN(this.user,`Invalid index ${t}`);const s=this.view.getScrollTop(),n=this.view.elementTop(t),o=this.view.elementHeight(t);if(W(i))this.view.setScrollTop((o-this.view.renderHeight+e)*lR(i,0,1)+n-e);else{const t=n+o,i=s+this.view.renderHeight;n=i||(n=i&&o>=this.view.renderHeight?this.view.setScrollTop(n-e):t>=i&&this.view.setScrollTop(t-this.view.renderHeight))}}getRelativeTop(t,i=0){if(t<0||t>=this.length)throw new CN(this.user,`Invalid index ${t}`);const e=this.view.getScrollTop(),s=this.view.elementTop(t),n=this.view.elementHeight(t);return se+this.view.renderHeight?null:Math.abs((e+i-s)/(n-this.view.renderHeight+i))}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(t){return this.view.getElementDomId(t)}getElementTop(t){return this.view.elementTop(t)}style(t){this.styleController.style(t)}toListEvent({indexes:t,browserEvent:i}){return{indexes:t,elements:t.map((t=>this.view.element(t))),browserEvent:i}}_onFocusChange(){const t=this.focus.get();this.view.domNode.classList.toggle("element-focused",t.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var t;const i=this.focus.get();if(i.length>0){let e;(null===(t=this.accessibilityProvider)||void 0===t?void 0:t.getActiveDescendantId)&&(e=this.accessibilityProvider.getActiveDescendantId(this.view.element(i[0]))),this.view.domNode.setAttribute("aria-activedescendant",e||this.view.getElementDomId(i[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const t=this.selection.get();this.view.domNode.classList.toggle("selection-none",0===t.length),this.view.domNode.classList.toggle("selection-single",1===t.length),this.view.domNode.classList.toggle("selection-multiple",t.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}PN([nw],aB.prototype,"onDidChangeFocus",null),PN([nw],aB.prototype,"onDidChangeSelection",null),PN([nw],aB.prototype,"onContextMenu",null),PN([nw],aB.prototype,"onKeyDown",null),PN([nw],aB.prototype,"onDidFocus",null);const lB=$l,uB="selectOption.entry.template";class dB{get templateId(){return uB}renderTemplate(t){const i=Object.create(null);return i.root=t,i.text=Ol(t,lB(".option-text")),i.detail=Ol(t,lB(".option-detail")),i.decoratorRight=Ol(t,lB(".option-decorator-right")),i}renderElement(t,i,e){const s=e,n=t.detail,o=t.decoratorRight,r=t.isDisabled;s.text.textContent=t.text,s.detail.textContent=n||"",s.decoratorRight.innerText=o||"",r?s.root.classList.add("option-disabled"):s.root.classList.remove("option-disabled")}disposeTemplate(t){}}class fB extends te{constructor(t,i,e,s,n){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=s,this.selectBoxOptions=n||Object.create(null),"number"!=typeof this.selectBoxOptions.minBottomMargin?this.selectBoxOptions.minBottomMargin=fB.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding","string"==typeof this.selectBoxOptions.ariaLabel&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),"string"==typeof this.selectBoxOptions.ariaDescription&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new de,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(e),this.selected=i||0,t&&this.setOptions(t,i),this.initStyleSheet()}getHeight(){return 22}getTemplateId(){return uB}constructSelectDropDown(t){this.contextViewProvider=t,this.selectDropDownContainer=$l(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=Ol(this.selectDropDownContainer,lB(".select-box-details-pane"));const i=Ol(this.selectDropDownContainer,lB(".select-box-dropdown-container-width-control")),e=Ol(i,lB(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",Ol(e,this.widthControlElement),this._dropDownPosition=0,this.styleElement=vl(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(Va(this.selectDropDownContainer,Ll.DRAG_START,(t=>{Fl(t,!0)})))}registerListeners(){let t;this._register(qa(this.selectElement,"change",(t=>{this.selected=t.target.selectedIndex,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value}),this.options[this.selected]&&this.options[this.selected].text&&(this.selectElement.title=this.options[this.selected].text)}))),this._register(Va(this.selectElement,Ll.CLICK,(t=>{Fl(t),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Va(this.selectElement,Ll.MOUSE_DOWN,(t=>{Fl(t)}))),this._register(Va(this.selectElement,"touchstart",(()=>{t=this._isVisible}))),this._register(Va(this.selectElement,"touchend",(i=>{Fl(i),t?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Va(this.selectElement,Ll.KEY_DOWN,(t=>{const i=new Qh(t);let e=!1;Ct?18!==i.keyCode&&16!==i.keyCode&&10!==i.keyCode&&3!==i.keyCode||(e=!0):(18===i.keyCode&&i.altKey||16===i.keyCode&&i.altKey||10===i.keyCode||3===i.keyCode)&&(e=!0),e&&(this.showSelectDropDown(),Fl(t,!0))})))}get onDidSelect(){return this._onDidSelect.event}setOptions(t,i){l(this.options,t)||(this.options=t,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach(((t,i)=>{this.selectElement.add(this.createOption(t.text,i,t.isDisabled)),"string"==typeof t.description&&(this._hasDetails=!0)}))),void 0!==i&&(this.select(i),this._currentSelection=this.selected)}setOptionsList(){var t;null===(t=this.selectList)||void 0===t||t.splice(0,this.selectList.length,this.options)}select(t){t>=0&&tthis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&(this.selectElement.title=this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(t){this.selectElement.tabIndex=t?0:-1}render(t){this.container=t,t.classList.add("select-container"),t.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const t=[];this.styles.listFocusBackground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(t.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),t.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),t.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=t.join("\n")}styleSelectElement(){var t,i,e;const s=null!==(t=this.styles.selectBackground)&&void 0!==t?t:"",n=null!==(i=this.styles.selectForeground)&&void 0!==i?i:"",o=null!==(e=this.styles.selectBorder)&&void 0!==e?e:"";this.selectElement.style.backgroundColor=s,this.selectElement.style.color=n,this.selectElement.style.borderColor=o}styleList(){var t,i;const e=null!==(t=this.styles.selectBackground)&&void 0!==t?t:"",s=ql(this.styles.selectListBackground,e);this.selectDropDownListContainer.style.backgroundColor=s,this.selectionDetailsPane.style.backgroundColor=s;const n=null!==(i=this.styles.focusBorder)&&void 0!==i?i:"";this.selectDropDownContainer.style.outlineColor=n,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(t,i,e){const s=document.createElement("option");return s.value=t,s.text=t,s.disabled=!!e,s}showSelectDropDown(){this.selectionDetailsPane.innerText="",this.contextViewProvider&&!this._isVisible&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:t=>this.renderSelectDropDown(t,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:t=>this.renderSelectDropDown(t),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(t){this.contextViewProvider&&this._isVisible&&(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),t&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(t,i){return t.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(i),{dispose:()=>{try{t.removeChild(this.selectDropDownContainer)}catch(t){}}}}measureMaxDetailsHeight(){let t=0;return this.options.forEach(((i,e)=>{this.updateDetail(e),this.selectionDetailsPane.offsetHeight>t&&(t=this.selectionDetailsPane.offsetHeight)})),t}layoutSelectDropDown(t){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const i=Na(this.selectElement),e=nl(this.selectElement),s=Na(this.selectElement).getComputedStyle(this.selectElement),n=parseFloat(s.getPropertyValue("--dropdown-padding-top"))+parseFloat(s.getPropertyValue("--dropdown-padding-bottom")),o=i.innerHeight-e.top-e.height-(this.selectBoxOptions.minBottomMargin||0),r=e.top-fB.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,h=this.selectElement.offsetWidth,c=this.setWidthControlElement(this.widthControlElement),a=Math.max(c,Math.round(h)).toString()+"px";this.selectDropDownContainer.style.width=a,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let l=this.selectList.contentHeight;this._hasDetails&&void 0===this._cachedMaxDetailsHeight&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const u=this._hasDetails?this._cachedMaxDetailsHeight:0,d=l+n+u,f=Math.floor((o-n-u)/this.getHeight()),p=Math.floor((r-n-u)/this.getHeight());if(t)return!(e.top+e.height>i.innerHeight-22||e.topf&&this.options.length>f?(this._dropDownPosition=1,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),0));if(e.top+e.height>i.innerHeight-22||e.topo&&(l=f*this.getHeight())}else d>r&&(l=p*this.getHeight());return this.selectList.layout(l),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=l+n+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=l+n+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=a,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}return!1}setWidthControlElement(t){let i=0;if(t){let e=0,s=0;this.options.forEach(((t,i)=>{const n=t.text.length+(t.detail?t.detail.length:0)+(t.decoratorRight?t.decoratorRight.length:0);n>s&&(e=i,s=n)})),t.textContent=this.options[e].text+(this.options[e].decoratorRight?this.options[e].decoratorRight+" ":""),i=ol(t)}return i}createSelectList(t){if(this.selectList)return;this.selectDropDownListContainer=Ol(t,lB(".select-box-dropdown-list-container")),this.listRenderer=new dB,this.selectList=new aB("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:t=>{let i=t.text;return t.detail&&(i+=`. ${t.detail}`),t.decoratorRight&&(i+=`. ${t.decoratorRight}`),t.description&&(i+=`. ${t.description}`),i},getWidgetAriaLabel:()=>ot(0,"Select Box"),getRole:()=>Ct?"":"option",getWidgetRole:()=>"listbox"}}),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const i=this._register(new Bk(this.selectDropDownListContainer,"keydown")),e=he.chain(i.event,(t=>t.filter((()=>this.selectList.length>0)).map((t=>new Qh(t)))));this._register(he.chain(e,(t=>t.filter((t=>3===t.keyCode))))(this.onEnter,this)),this._register(he.chain(e,(t=>t.filter((t=>2===t.keyCode))))(this.onEnter,this)),this._register(he.chain(e,(t=>t.filter((t=>9===t.keyCode))))(this.onEscape,this)),this._register(he.chain(e,(t=>t.filter((t=>16===t.keyCode))))(this.onUpArrow,this)),this._register(he.chain(e,(t=>t.filter((t=>18===t.keyCode))))(this.onDownArrow,this)),this._register(he.chain(e,(t=>t.filter((t=>12===t.keyCode))))(this.onPageDown,this)),this._register(he.chain(e,(t=>t.filter((t=>11===t.keyCode))))(this.onPageUp,this)),this._register(he.chain(e,(t=>t.filter((t=>14===t.keyCode))))(this.onHome,this)),this._register(he.chain(e,(t=>t.filter((t=>13===t.keyCode))))(this.onEnd,this)),this._register(he.chain(e,(t=>t.filter((t=>t.keyCode>=21&&t.keyCode<=56||t.keyCode>=85&&t.keyCode<=113))))(this.onCharacter,this)),this._register(Va(this.selectList.getHTMLElement(),Ll.POINTER_UP,(t=>this.onPointerUp(t)))),this._register(this.selectList.onMouseOver((t=>void 0!==t.index&&this.selectList.setFocus([t.index])))),this._register(this.selectList.onDidChangeFocus((t=>this.onListFocus(t)))),this._register(Va(this.selectDropDownContainer,Ll.FOCUS_OUT,(t=>{this._isVisible&&!al(t.relatedTarget,this.selectDropDownContainer)&&this.onListBlur()}))),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(t){if(!this.selectList.length)return;Fl(t);const i=t.target;if(!i)return;if(i.classList.contains("slider"))return;const e=i.closest(".monaco-list-row");if(!e)return;const s=Number(e.getAttribute("data-index")),n=e.classList.contains("option-disabled");s>=0&&s{for(let i=0;ithis.selected+2)this.selected+=2;else{if(i)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(t){this.selected>0&&(Fl(t,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(t){Fl(t),this.selectList.focusPreviousPage(),setTimeout((()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)}),1)}onHome(t){Fl(t),this.options.length<2||(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(t){Fl(t),this.options.length<2||(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(t){const i=_e.toString(t.keyCode);let e=-1;for(let s=0;s{this._register(Va(this.selectElement,t,(()=>{this.selectElement.focus()})))})),this._register(qa(this.selectElement,"click",(t=>{Fl(t,!0)}))),this._register(qa(this.selectElement,"change",(t=>{this.selectElement.title=t.target.value,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value})}))),this._register(qa(this.selectElement,"keydown",(t=>{let i=!1;Ct?18!==t.keyCode&&16!==t.keyCode&&10!==t.keyCode||(i=!0):(18===t.keyCode&&t.altKey||10===t.keyCode||3===t.keyCode)&&(i=!0),i&&t.stopPropagation()})))}get onDidSelect(){return this._onDidSelect.event}setOptions(t,i){this.options&&l(this.options,t)||(this.options=t,this.selectElement.options.length=0,this.options.forEach(((t,i)=>{this.selectElement.add(this.createOption(t.text,i,t.isDisabled))}))),void 0!==i&&this.select(i)}select(t){0===this.options.length?this.selected=0:t>=0&&tthis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selectElement.title=this.selected{this.element&&this.handleActionChangeEvent(t)})))}handleActionChangeEvent(t){void 0!==t.enabled&&this.updateEnabled(),void 0!==t.checked&&this.updateChecked(),void 0!==t.class&&this.updateClass(),void 0!==t.label&&(this.updateLabel(),this.updateTooltip()),void 0!==t.tooltip&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new wr)),this._actionRunner}set actionRunner(t){this._actionRunner=t}isEnabled(){return this._action.enabled}setActionContext(t){this._context=t}render(t){const i=this.element=t;this._register(rw.addTarget(t));const e=this.options&&this.options.draggable;e&&(t.draggable=!0,Uo&&this._register(Va(t,Ll.DRAG_START,(t=>{var i;return null===(i=t.dataTransfer)||void 0===i?void 0:i.setData(MI.TEXT,this._action.label)})))),this._register(Va(i,ow.Tap,(t=>this.onClick(t,!0)))),this._register(Va(i,Ll.MOUSE_DOWN,(t=>{e||Fl(t,!0),this._action.enabled&&0===t.button&&i.classList.add("active")}))),Ct&&this._register(Va(i,Ll.CONTEXT_MENU,(t=>{0===t.button&&!0===t.ctrlKey&&this.onClick(t)}))),this._register(Va(i,Ll.CLICK,(t=>{Fl(t,!0),this.options&&this.options.isMenu||this.onClick(t)}))),this._register(Va(i,Ll.DBLCLICK,(t=>{Fl(t,!0)}))),[Ll.MOUSE_UP,Ll.MOUSE_OUT].forEach((t=>{this._register(Va(i,t,(t=>{Fl(t),i.classList.remove("active")})))}))}onClick(t,i=!1){var e;Fl(t,!0);const s=U(this._context)?(null===(e=this.options)||void 0===e?void 0:e.useEventAsContext)?t:{preserveFocus:i}:this._context;this.actionRunner.run(this._action,s)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(t){this.element&&(this.element.tabIndex=t?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){var t;if(!this.element)return;const i=null!==(t=this.getTooltip())&&void 0!==t?t:"";this.updateAriaLabel(),this.options.hoverDelegate?(this.element.title="",this.customHover?this.customHover.update(i):(this.customHover=z_(this.options.hoverDelegate,this.element,i),this._store.add(this.customHover))):this.element.title=i}updateAriaLabel(){var t;if(this.element){const i=null!==(t=this.getTooltip())&&void 0!==t?t:"";this.element.setAttribute("aria-label",i)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class wB extends mB{constructor(t,i,e){super(t,i,e),this.options=e,this.options.icon=void 0!==e.icon&&e.icon,this.options.label=void 0===e.label||e.label,this.cssClass=""}render(t){super.render(t),q(this.element);const i=document.createElement("a");if(i.classList.add("action-label"),i.setAttribute("role",this.getDefaultAriaRole()),this.label=i,this.element.appendChild(i),this.options.label&&this.options.keybinding){const t=document.createElement("span");t.classList.add("keybinding"),t.textContent=this.options.keybinding,this.element.appendChild(t)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===vr.ID?"presentation":this.options.isMenu?"menuitem":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(t){this.label&&(this.label.tabIndex=t?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let t=null;return this.action.tooltip?t=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(t=this.action.label,this.options.keybinding&&(t=ot(0,"{0} ({1})",t,this.options.keybinding))),null!=t?t:void 0}updateClass(){var t;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):null===(t=this.label)||void 0===t||t.classList.remove("codicon")}updateEnabled(){var t,i;this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),null===(t=this.element)||void 0===t||t.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),null===(i=this.element)||void 0===i||i.classList.add("disabled"))}updateAriaLabel(){var t;if(this.label){const i=null!==(t=this.getTooltip())&&void 0!==t?t:"";this.label.setAttribute("aria-label",i)}}updateChecked(){this.label&&(void 0!==this.action.checked?(this.label.classList.toggle("checked",this.action.checked),this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox")):(this.label.classList.remove("checked"),this.label.removeAttribute("aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class vB extends mB{constructor(t,i,e,s,n,o,r){super(t,i),this.selectBox=new gB(e,s,n,o,r),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(t){this.selectBox.select(t)}registerListeners(){this._register(this.selectBox.onDidSelect((t=>this.runAction(t.selected,t.index))))}runAction(t,i){this.actionRunner.run(this._action,this.getActionContext(t,i))}getActionContext(t,i){return t}setFocusable(t){this.selectBox.setFocusable(t)}focus(){var t;null===(t=this.selectBox)||void 0===t||t.focus()}blur(){var t;null===(t=this.selectBox)||void 0===t||t.blur()}render(t){this.selectBox.render(t)}}class bB extends wr{constructor(t,i){super(),this._onDidChangeVisibility=this._register(new de),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=Ol(t,$l(".monaco-dropdown")),this._label=Ol(this._element,$l(".dropdown-label"));let e=i.labelRenderer;e||(e=t=>(t.textContent=i.label||"",null));for(const t of[Ll.CLICK,Ll.MOUSE_DOWN,ow.Tap])this._register(Va(this.element,t,(t=>Fl(t,!0))));for(const t of[Ll.MOUSE_DOWN,ow.Tap])this._register(Va(this._label,t,(t=>{Al(t)&&(t.detail>1||0!==t.button)||(this.visible?this.hide():this.show())})));this._register(Va(this._label,Ll.KEY_UP,(t=>{const i=new Qh(t);(i.equals(3)||i.equals(10))&&(Fl(t,!0),this.visible?this.hide():this.show())})));const s=e(this._label);s&&this._register(s),this._register(rw.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class yB extends bB{constructor(t,i){super(t,i),this._options=i,this._actions=[],this.actions=i.actions||[]}set menuOptions(t){this._menuOptions=t}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(t){this._actions=t}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(t,i)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(t,i):void 0,getKeyBinding:t=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(t):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class kB extends mB{constructor(t,i,e,s=Object.create(null)){super(null,t,s),this.actionItem=null,this._onDidChangeVisibility=this._register(new de),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=i,this.contextMenuProvider=e,this.options=s,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(t){this.actionItem=t;const i=Array.isArray(this.menuActionsOrProvider);if(this.dropdownMenu=this._register(new yB(t,{contextMenuProvider:this.contextMenuProvider,labelRenderer:t=>{this.element=Ol(t,$l("a.action-label"));let i=[];return"string"==typeof this.options.classNames?i=this.options.classNames.split(/\s+/g).filter((t=>!!t)):this.options.classNames&&(i=this.options.classNames),i.find((t=>"icon"===t))||i.push("codicon"),this.element.classList.add(...i),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this.element.title=this._action.label||"",this.element.ariaLabel=this._action.label||"",null},menuAsChild:this.options.menuAsChild,actions:i?this.menuActionsOrProvider:void 0,actionProvider:i?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry})),this._register(this.dropdownMenu.onDidChangeVisibility((t=>{var i;null===(i=this.element)||void 0===i||i.setAttribute("aria-expanded",`${t}`),this._onDidChangeVisibility.fire(t)}))),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const t=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return t.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let t=null;return this.action.tooltip?t=this.action.tooltip:this.action.label&&(t=this.action.label),null!=t?t:void 0}setActionContext(t){super.setActionContext(t),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=t:this.dropdownMenu.menuOptions={context:t})}show(){var t;null===(t=this.dropdownMenu)||void 0===t||t.show()}updateEnabled(){var t,i;const e=!this.action.enabled;null===(t=this.actionItem)||void 0===t||t.classList.toggle("disabled",e),null===(i=this.element)||void 0===i||i.classList.toggle("disabled",e)}}var xB,CB;!function(t){t[t.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",t[t.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"}(xB||(xB={})),function(t){t[t.None=0]="None",t[t.Initialized=1]="Initialized",t[t.Closed=2]="Closed"}(CB||(CB={}));class SB extends te{constructor(t,i=Object.create(null)){super(),this.database=t,this.options=i,this._onDidChangeStorage=this._register(new pe),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=CB.None,this.cache=new Map,this.flushDelayer=this._register(new cc(SB.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((t=>this.onDidChangeItemsExternal(t))))}onDidChangeItemsExternal(t){var i,e;this._onDidChangeStorage.pause();try{null===(i=t.changed)||void 0===i||i.forEach(((t,i)=>this.acceptExternal(i,t))),null===(e=t.deleted)||void 0===e||e.forEach((t=>this.acceptExternal(t,void 0)))}finally{this._onDidChangeStorage.resume()}}acceptExternal(t,i){if(this.state===CB.Closed)return;let e=!1;U(i)?e=this.cache.delete(t):this.cache.get(t)!==i&&(this.cache.set(t,i),e=!0),e&&this._onDidChangeStorage.fire({key:t,external:!0})}get(t,i){const e=this.cache.get(t);return U(e)?i:e}getBoolean(t,i){const e=this.get(t);return U(e)?i:"true"===e}getNumber(t,i){const e=this.get(t);return U(e)?i:parseInt(e,10)}async set(t,i,e=!1){if(this.state===CB.Closed)return;if(U(i))return this.delete(t,e);const s=P(i)||Array.isArray(i)?JSON.stringify(i,eN):String(i);return this.cache.get(t)!==s?(this.cache.set(t,s),this.pendingInserts.set(t,s),this.pendingDeletes.delete(t),this._onDidChangeStorage.fire({key:t,external:e}),this.doFlush()):void 0}async delete(t,i=!1){if(this.state!==CB.Closed)return this.cache.delete(t)?(this.pendingDeletes.has(t)||this.pendingDeletes.add(t),this.pendingInserts.delete(t),this._onDidChangeStorage.fire({key:t,external:i}),this.doFlush()):void 0}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const t={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(t).finally((()=>{var t;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)null===(t=this.whenFlushedCallbacks.pop())||void 0===t||t()}))}async doFlush(t){return this.options.hint===xB.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger((()=>this.flushPending()),t)}}SB.DEFAULT_FLUSH_DELAY=100;class DB{constructor(){this.onDidChangeItemsExternal=he.None,this.items=new Map}async updateItems(t){var i,e;null===(i=t.insert)||void 0===i||i.forEach(((t,i)=>this.items.set(i,t))),null===(e=t.delete)||void 0===e||e.forEach((t=>this.items.delete(t)))}}const EB="__$__targetStorageMarker",AB=dr("storageService");var MB;!function(t){t[t.NONE=0]="NONE",t[t.SHUTDOWN=1]="SHUTDOWN"}(MB||(MB={}));class LB extends te{constructor(t={flushInterval:LB.DEFAULT_FLUSH_INTERVAL}){super(),this.options=t,this._onDidChangeValue=this._register(new pe),this._onDidChangeTarget=this._register(new pe),this._onWillSaveState=this._register(new de),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(t,i,e){return he.filter(this._onDidChangeValue.event,(e=>e.scope===t&&(void 0===i||e.key===i)),e)}emitDidChangeValue(t,i){const{key:e,external:s}=i;if(e===EB){switch(t){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0}this._onDidChangeTarget.fire({scope:t})}else this._onDidChangeValue.fire({scope:t,key:e,target:this.getKeyTargets(t)[e],external:s})}get(t,i,e){var s;return null===(s=this.getStorage(i))||void 0===s?void 0:s.get(t,e)}getBoolean(t,i,e){var s;return null===(s=this.getStorage(i))||void 0===s?void 0:s.getBoolean(t,e)}getNumber(t,i,e){var s;return null===(s=this.getStorage(i))||void 0===s?void 0:s.getNumber(t,e)}store(t,i,e,s,n=!1){U(i)?this.remove(t,e,n):this.withPausedEmitters((()=>{var o;this.updateKeyTarget(t,e,s),null===(o=this.getStorage(e))||void 0===o||o.set(t,i,n)}))}remove(t,i,e=!1){this.withPausedEmitters((()=>{var s;this.updateKeyTarget(t,i,void 0),null===(s=this.getStorage(i))||void 0===s||s.delete(t,e)}))}withPausedEmitters(t){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{t()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(t,i,e,s=!1){var n,o;const r=this.getKeyTargets(i);"number"==typeof e?r[t]!==e&&(r[t]=e,null===(n=this.getStorage(i))||void 0===n||n.set(EB,JSON.stringify(r),s)):"number"==typeof r[t]&&(delete r[t],null===(o=this.getStorage(i))||void 0===o||o.set(EB,JSON.stringify(r),s))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(t){switch(t){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(t){const i=this.getStorage(t);return i?function(t){const i=t.get(EB);if(i)try{return JSON.parse(i)}catch(t){}return Object.create(null)}(i):Object.create(null)}}LB.DEFAULT_FLUSH_INTERVAL=6e4;const FB={keybindingLabelBackground:aw(yv),keybindingLabelForeground:aw(kv),keybindingLabelBorder:aw(xv),keybindingLabelBottomBorder:aw(Cv),keybindingLabelShadow:aw(yw)},TB={buttonForeground:aw(jw),buttonSeparator:aw(zw),buttonBackground:aw(Hw),buttonHoverBackground:aw(Vw),buttonSecondaryForeground:aw(qw),buttonSecondaryBackground:aw(Kw),buttonSecondaryHoverBackground:aw(Gw),buttonBorder:aw(Uw)},RB={progressBarBackground:aw(iv)},OB={inputActiveOptionBorder:aw(Dw),inputActiveOptionForeground:aw(Aw),inputActiveOptionBackground:aw(Ew)};aw(xb),aw(Sb),aw(Cb),aw(uv),aw(dv),aw(yw),aw(ww),aw(oy),aw(ry),aw(hy),aw(bw);const IB={inputBackground:aw(xw),inputForeground:aw(Cw),inputBorder:aw(Sw),inputValidationInfoBorder:aw(Fw),inputValidationInfoBackground:aw(Mw),inputValidationInfoForeground:aw(Lw),inputValidationWarningBorder:aw(Ow),inputValidationWarningBackground:aw(Tw),inputValidationWarningForeground:aw(Rw),inputValidationErrorBorder:aw(Nw),inputValidationErrorBackground:aw(Iw),inputValidationErrorForeground:aw(_w)},_B={listFilterWidgetBackground:aw(pb),listFilterWidgetOutline:aw(gb),listFilterWidgetNoMatchesOutline:aw(mb),listFilterWidgetShadow:aw(wb),inputBoxStyles:IB,toggleStyles:OB},NB={badgeBackground:aw(Zw),badgeForeground:aw(Qw),badgeBorder:aw(ww)};aw(Pb),aw(Bb),aw($b),aw($b),aw(Wb);const BB={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:aw(Zv),listFocusForeground:aw(Qv),listFocusOutline:aw(Jv),listActiveSelectionBackground:aw(Xv),listActiveSelectionForeground:aw(tb),listActiveSelectionIconForeground:aw(ib),listFocusAndSelectionOutline:aw(Yv),listFocusAndSelectionBackground:aw(Xv),listFocusAndSelectionForeground:aw(tb),listInactiveSelectionBackground:aw(eb),listInactiveSelectionIconForeground:aw(nb),listInactiveSelectionForeground:aw(sb),listInactiveFocusBackground:aw(ob),listInactiveFocusOutline:aw(rb),listHoverBackground:aw(hb),listHoverForeground:aw(cb),listDropBackground:aw(ab),listSelectionOutline:aw(vw),listHoverOutline:aw(vw),treeIndentGuidesStroke:aw(vb),treeInactiveIndentGuidesStroke:aw(bb),tableColumnsBorder:aw(yb),tableOddRowsBackgroundColor:aw(kb)};function PB(t){return function(t){const i={...BB};for(const e in t){const s=t[e];i[e]=void 0!==s?aw(s):void 0}return i}(t)}const $B={selectBackground:aw(Bw),selectListBackground:aw(Pw),selectForeground:aw($w),decoratorRightForeground:aw(vv),selectBorder:aw(Ww),focusBorder:aw(mw),listFocusBackground:aw(Mb),listInactiveSelectionIconForeground:aw(Ab),listFocusForeground:aw(Eb),listFocusOutline:(WB=vw,jB=lg.transparent.toString(),`var(${cw(WB)}, ${jB})`),listHoverBackground:aw(hb),listHoverForeground:aw(cb),listHoverOutline:aw(vw),selectListBorder:aw(fv),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0};var WB,jB;const zB={shadowColor:aw(yw),borderColor:aw(Lb),foregroundColor:aw(Fb),backgroundColor:aw(Tb),selectionForegroundColor:aw(Rb),selectionBackgroundColor:aw(Ob),selectionBorderColor:aw(Ib),separatorColor:aw(_b),scrollbarShadow:aw(Jw),scrollbarSliderBackground:aw(Yw),scrollbarSliderHoverBackground:aw(Xw),scrollbarSliderActiveBackground:aw(tv)};var HB=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},VB=function(t,i){return function(e,s){i(e,s,t)}};function UB(t,i,e,s,n,o){qB(t.getActions(i),e,!1,"string"==typeof s?t=>t===s:s,n,o)}function qB(t,i,e,s=(t=>"navigation"===t),n=(()=>!1),o=!1){let r,h;Array.isArray(i)?(r=i,h=i):(r=i.primary,h=i.secondary);const c=new Set;for(const[i,n]of t){let t;s(i)?(t=r,t.length>0&&o&&t.push(new vr)):(t=h,t.length>0&&t.push(new vr));for(let s of n){e&&(s=s instanceof Bh&&s.alt?s.alt:s);const n=t.push(s);s instanceof br&&c.add({group:i,action:s,index:n-1})}}for(const{group:t,action:i,index:e}of c){const o=s(t)?r:h,c=i.actions;n(i,t,o.length)&&o.splice(e,1,...c)}}let KB=class extends wB{constructor(t,i,e,s,n,o,r,h){super(void 0,t,{icon:!(!t.class&&!t.item.icon),label:!t.class&&!t.item.icon,draggable:null==i?void 0:i.draggable,keybinding:null==i?void 0:i.keybinding,hoverDelegate:null==i?void 0:i.hoverDelegate}),this._keybindingService=e,this._notificationService=s,this._contextKeyService=n,this._themeService=o,this._contextMenuService=r,this._accessibilityService=h,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new ie),this._altKey=Gl.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(t){t.preventDefault(),t.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(t){if(super.render(t),t.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let i=!1;const e=()=>{var t;const e=!!(null===(t=this._menuItemAction.alt)||void 0===t?void 0:t.enabled)&&(!this._accessibilityService.isMotionReduced()||i)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&i);e!==this._wantsAltCommand&&(this._wantsAltCommand=e,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(e)),this._register(Va(t,"mouseleave",(()=>{i=!1,e()}))),this._register(Va(t,"mouseenter",(()=>{i=!0,e()}))),e()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var t;const i=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),e=i&&i.getLabel(),s=this._commandAction.tooltip||this._commandAction.label;let n=e?ot(0,"{0} ({1})",s,e):s;if(!this._wantsAltCommand&&(null===(t=this._menuItemAction.alt)||void 0===t?void 0:t.enabled)){const t=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,i=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),e=i&&i.getLabel(),s=e?ot(0,"{0} ({1})",t,e):t;n=ot(0,"{0}\n[{1}] {2}",n,RO.modifierLabels[It].altKey,s)}return n}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(t){this._itemClassDispose.value=void 0;const{element:i,label:e}=this;if(!i||!e)return;const s=this._commandAction.checked&&(n=t.toggled)&&void 0!==n.condition&&t.toggled.icon?t.toggled.icon:t.icon;var n;if(s)if(Cr.isThemeIcon(s)){const t=Cr.asClassNameArray(s);e.classList.add(...t),this._itemClassDispose.value=Yi((()=>{e.classList.remove(...t)}))}else e.style.backgroundImage=Hy(this._themeService.getColorTheme().type)?Vl(s.dark):Vl(s.light),e.classList.add("icon"),this._itemClassDispose.value=Ji(Yi((()=>{e.style.backgroundImage="",e.classList.remove("icon")})),this._themeService.onDidColorThemeChange((()=>{this.updateClass()})))}};KB=HB([VB(2,oC),VB(3,oT),VB(4,ah),VB(5,Xk),VB(6,lI),VB(7,Zm)],KB);let GB=class extends kB{constructor(t,i,e,s,n){var o,r,h;const c={...i,menuAsChild:null!==(o=null==i?void 0:i.menuAsChild)&&void 0!==o&&o,classNames:null!==(r=null==i?void 0:i.classNames)&&void 0!==r?r:Cr.isThemeIcon(t.item.icon)?Cr.asClassName(t.item.icon):void 0,keybindingProvider:null!==(h=null==i?void 0:i.keybindingProvider)&&void 0!==h?h:t=>e.lookupKeybinding(t.id)};super(t,{getActions:()=>t.actions},s,c),this._keybindingService=e,this._contextMenuService=s,this._themeService=n}render(t){super.render(t),q(this.element),t.classList.add("menu-entry");const i=this._action,{icon:e}=i.item;if(e&&!Cr.isThemeIcon(e)){this.element.classList.add("icon");const t=()=>{this.element&&(this.element.style.backgroundImage=Hy(this._themeService.getColorTheme().type)?Vl(e.dark):Vl(e.light))};t(),this._register(this._themeService.onDidColorThemeChange((()=>{t()})))}}};GB=HB([VB(2,oC),VB(3,lI),VB(4,Xk)],GB);let ZB=class extends mB{constructor(t,i,e,s,n,o,r,h){var c,a,l;let u;super(null,t),this._keybindingService=e,this._notificationService=s,this._contextMenuService=n,this._menuService=o,this._instaService=r,this._storageService=h,this._container=null,this._options=i,this._storageKey=`${t.item.submenu.id}_lastActionId`;const d=(null==i?void 0:i.persistLastActionId)?h.get(this._storageKey,1):void 0;d&&(u=t.actions.find((t=>d===t.id))),u||(u=t.actions[0]),this._defaultAction=this._instaService.createInstance(KB,u,{keybinding:this._getDefaultActionKeybindingLabel(u)});const f={keybindingProvider:t=>this._keybindingService.lookupKeybinding(t.id),...i,menuAsChild:null===(c=null==i?void 0:i.menuAsChild)||void 0===c||c,classNames:null!==(a=null==i?void 0:i.classNames)&&void 0!==a?a:["codicon","codicon-chevron-down"],actionRunner:null!==(l=null==i?void 0:i.actionRunner)&&void 0!==l?l:new wr};this._dropdown=new kB(t,t.actions,this._contextMenuService,f),this._dropdown.actionRunner.onDidRun((t=>{t.action instanceof Bh&&this.update(t.action)}))}update(t){var i;(null===(i=this._options)||void 0===i?void 0:i.persistLastActionId)&&this._storageService.store(this._storageKey,t.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(KB,t,{keybinding:this._getDefaultActionKeybindingLabel(t)}),this._defaultAction.actionRunner=new class extends wr{async runAction(t,i){await t.run(void 0)}},this._container&&this._defaultAction.render(Il(this._container,$l(".action-container")))}_getDefaultActionKeybindingLabel(t){var i;let e;if(null===(i=this._options)||void 0===i?void 0:i.renderKeybindingWithDefaultActionLabel){const i=this._keybindingService.lookupKeybinding(t.id);i&&(e=`(${i.getLabel()})`)}return e}setActionContext(t){super.setActionContext(t),this._defaultAction.setActionContext(t),this._dropdown.setActionContext(t)}render(t){this._container=t,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const i=$l(".action-container");this._defaultAction.render(Ol(this._container,i)),this._register(Va(i,Ll.KEY_DOWN,(t=>{const i=new Qh(t);i.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),i.stopPropagation())})));const e=$l(".dropdown-action-container");this._dropdown.render(Ol(this._container,e)),this._register(Va(e,Ll.KEY_DOWN,(t=>{var i;const e=new Qh(t);e.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),null===(i=this._defaultAction.element)||void 0===i||i.focus(),e.stopPropagation())})))}focus(t){t?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(t){t?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};ZB=HB([VB(2,oC),VB(3,oT),VB(4,lI),VB(5,Oh),VB(6,ur),VB(7,AB)],ZB);let QB=class extends vB{constructor(t,i){super(null,t,t.actions.map((t=>({text:t.id===vr.ID?"─────────":t.label,isDisabled:!t.enabled}))),0,i,$B,{ariaLabel:t.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,t.actions.findIndex((t=>t.checked))))}render(t){super.render(t),t.style.borderColor=aw(Ww)}runAction(t,i){const e=this.action.actions[i];e&&this.actionRunner.run(e)}};function JB(t,i,e){return i instanceof Bh?t.createInstance(KB,i,e):i instanceof Nh?i.item.isSelection?t.createInstance(QB,i):i.item.rememberDefaultAction?t.createInstance(ZB,i,{...e,persistLastActionId:!0}):t.createInstance(GB,i,e):void 0}QB=HB([VB(1,aI)],QB);class YB extends te{constructor(t,i={}){var e,s,n,o,r,h;let c,a;switch(super(),this._actionRunnerDisposables=this._register(new Xi),this.viewItemDisposables=this._register(new ne),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new de),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new de({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new de),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new de),this.onWillRun=this._onWillRun.event,this.options=i,this._context=null!==(e=i.context)&&void 0!==e?e:null,this._orientation=null!==(s=this.options.orientation)&&void 0!==s?s:0,this._triggerKeys={keyDown:null!==(o=null===(n=this.options.triggerKeys)||void 0===n?void 0:n.keyDown)&&void 0!==o&&o,keys:null!==(h=null===(r=this.options.triggerKeys)||void 0===r?void 0:r.keys)&&void 0!==h?h:[3,10]},this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new wr,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((t=>this._onDidRun.fire(t)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((t=>this._onWillRun.fire(t)))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",!1!==i.animated&&this.domNode.classList.add("animated"),this._orientation){case 0:c=[15],a=[17];break;case 1:c=[16],a=[18],this.domNode.className+=" vertical"}this._register(Va(this.domNode,Ll.KEY_DOWN,(t=>{const i=new Qh(t);let e=!0;const s="number"==typeof this.focusedItem?this.viewItems[this.focusedItem]:void 0;c&&(i.equals(c[0])||i.equals(c[1]))?e=this.focusPrevious():a&&(i.equals(a[0])||i.equals(a[1]))?e=this.focusNext():i.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():i.equals(14)?e=this.focusFirst():i.equals(13)?e=this.focusLast():i.equals(2)&&s instanceof mB&&s.trapsArrowNavigation?e=this.focusNext():this.isTriggerKeyEvent(i)?this._triggerKeys.keyDown?this.doTrigger(i):this.triggerKeyDown=!0:e=!1,e&&(i.preventDefault(),i.stopPropagation())}))),this._register(Va(this.domNode,Ll.KEY_UP,(t=>{const i=new Qh(t);this.isTriggerKeyEvent(i)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(i)),i.preventDefault(),i.stopPropagation()):(i.equals(2)||i.equals(1026)||i.equals(16)||i.equals(18)||i.equals(15)||i.equals(17))&&this.updateFocusedItem()}))),this.focusTracker=this._register(Rl(this.domNode)),this._register(this.focusTracker.onDidBlur((()=>{pl()!==this.domNode&&al(pl(),this.domNode)||(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)}))),this._register(this.focusTracker.onDidFocus((()=>this.updateFocusedItem()))),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),t.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(t){if(this.focusable=t,this.focusable){const t=this.viewItems.find((t=>t instanceof mB&&t.isEnabled()));t instanceof mB&&t.setFocusable(!0)}else this.viewItems.forEach((t=>{t instanceof mB&&t.setFocusable(!1)}))}isTriggerKeyEvent(t){let i=!1;return this._triggerKeys.keys.forEach((e=>{i=i||t.equals(e)})),i}updateFocusedItem(){var t,i;for(let e=0;ei.setActionContext(t)))}get actionRunner(){return this._actionRunner}set actionRunner(t){this._actionRunner=t,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((t=>this._onDidRun.fire(t)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((t=>this._onWillRun.fire(t)))),this.viewItems.forEach((i=>i.actionRunner=t))}getContainer(){return this.domNode}getAction(t){var i;if("number"==typeof t)return null===(i=this.viewItems[t])||void 0===i?void 0:i.action;if(t instanceof HTMLElement){for(;t.parentElement!==this.actionsList;){if(!t.parentElement)return;t=t.parentElement}for(let i=0;i{const e=document.createElement("li");let n;e.className="action-item",e.setAttribute("role","presentation");const o={hoverDelegate:this.options.hoverDelegate,...i};this.options.actionViewItemProvider&&(n=this.options.actionViewItemProvider(t,o)),n||(n=new wB(this.context,t,o)),this.options.allowContextMenu||this.viewItemDisposables.set(n,Va(e,Ll.CONTEXT_MENU,(t=>{Fl(t,!0)}))),n.actionRunner=this._actionRunner,n.setActionContext(this.context),n.render(e),this.focusable&&n instanceof mB&&0===this.viewItems.length&&n.setFocusable(!0),null===s||s<0||s>=this.actionsList.children.length?(this.actionsList.appendChild(e),this.viewItems.push(n)):(this.actionsList.insertBefore(e,this.actionsList.children[s]),this.viewItems.splice(s,0,n),s++)})),"number"==typeof this.focusedItem&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=Qi(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),za(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return 0===this.viewItems.length}focus(t){let i,e=!1;if(void 0===t?e=!0:"number"==typeof t?i=t:"boolean"==typeof t&&(e=t),e&&void 0===this.focusedItem){const t=this.viewItems.findIndex((t=>t.isEnabled()));this.focusedItem=-1===t?void 0:t,this.updateFocus(void 0,void 0,!0)}else void 0!==i&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(t){if(void 0===this.focusedItem)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let e;do{if(!t&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,e=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!e.isEnabled()||e.action.id===vr.ID));return this.updateFocus(),!0}focusPrevious(t){if(void 0===this.focusedItem)this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let e;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!t&&this.options.preventLoopNavigation)return this.focusedItem=i,!1;this.focusedItem=this.viewItems.length-1}e=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!e.isEnabled()||e.action.id===vr.ID));return this.updateFocus(!0),!0}updateFocus(t,i,e=!1){var s,n;void 0===this.focusedItem&&this.actionsList.focus({preventScroll:i}),void 0!==this.previouslyFocusedItem&&this.previouslyFocusedItem!==this.focusedItem&&(null===(s=this.viewItems[this.previouslyFocusedItem])||void 0===s||s.blur());const o=void 0!==this.focusedItem?this.viewItems[this.focusedItem]:void 0;if(o){let s=!0;G(o.focus)||(s=!1),this.options.focusOnlyEnabledItems&&G(o.isEnabled)&&!o.isEnabled()&&(s=!1),o.action.id===vr.ID&&(s=!1),s&&(null===(n=o.showHover)||void 0===n||n.call(o)),s?(e||this.previouslyFocusedItem!==this.focusedItem)&&(o.focus(t),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:i}),this.previouslyFocusedItem=void 0)}}doTrigger(t){if(void 0===this.focusedItem)return;const i=this.viewItems[this.focusedItem];i instanceof mB&&this.run(i._action,null==i._context?t:i._context)}async run(t,i){await this._actionRunner.run(t,i)}dispose(){this._context=void 0,this.viewItems=Qi(this.viewItems),this.getContainer().remove(),super.dispose()}}const XB=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,tP=/(&)?(&)([^\s&])/g;var iP;!function(t){t[t.Right=0]="Right",t[t.Left=1]="Left"}(iP||(iP={}));class eP extends YB{constructor(t,i,e,s){t.classList.add("monaco-menu-container"),t.setAttribute("role","presentation");const n=document.createElement("div");n.classList.add("monaco-menu"),n.setAttribute("role","presentation"),super(n,{orientation:1,actionViewItemProvider:t=>this.doGetActionViewItem(t,e,o),context:e.context,actionRunner:e.actionRunner,ariaLabel:e.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...Ct||St?[10]:[]],keyDown:!0}}),this.menuStyles=s,this.menuElement=n,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(t,s),this._register(rw.addTarget(n)),this._register(Va(n,Ll.KEY_DOWN,(t=>{new Qh(t).equals(2)&&t.preventDefault()}))),e.enableMnemonics&&this._register(Va(n,Ll.KEY_DOWN,(t=>{const i=t.key.toLocaleLowerCase();if(this.mnemonics.has(i)){Fl(t,!0);const e=this.mnemonics.get(i);if(1===e.length&&(e[0]instanceof nP&&e[0].container&&this.focusItemByElement(e[0].container),e[0].onClick(t)),e.length>1){const t=e.shift();t&&t.container&&(this.focusItemByElement(t.container),e.push(t)),this.mnemonics.set(i,e)}}}))),St&&this._register(Va(n,Ll.KEY_DOWN,(t=>{const i=new Qh(t);i.equals(14)||i.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),Fl(t,!0)):(i.equals(13)||i.equals(12))&&(this.focusedItem=0,this.focusPrevious(),Fl(t,!0))}))),this._register(Va(this.domNode,Ll.MOUSE_OUT,(t=>{al(t.relatedTarget,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),t.stopPropagation())}))),this._register(Va(this.actionsList,Ll.MOUSE_OVER,(t=>{let i=t.target;if(i&&al(i,this.actionsList)&&i!==this.actionsList){for(;i.parentElement!==this.actionsList&&null!==i.parentElement;)i=i.parentElement;if(i.classList.contains("action-item")){const t=this.focusedItem;this.setFocusedItem(i),t!==this.focusedItem&&this.updateFocus()}}}))),this._register(rw.addTarget(this.actionsList)),this._register(Va(this.actionsList,ow.Tap,(t=>{let i=t.initialTarget;if(i&&al(i,this.actionsList)&&i!==this.actionsList){for(;i.parentElement!==this.actionsList&&null!==i.parentElement;)i=i.parentElement;if(i.classList.contains("action-item")){const t=this.focusedItem;this.setFocusedItem(i),t!==this.focusedItem&&this.updateFocus()}}})));const o={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new Tk(n,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const r=this.scrollableElement.getDomNode();r.style.position="",this.styleScrollElement(r,s),this._register(Va(n,ow.Change,(t=>{Fl(t,!0);const i=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:i-t.translationY})}))),this._register(Va(r,Ll.MOUSE_UP,(t=>{t.preventDefault()})));const h=Na(t);n.style.maxHeight=`${Math.max(10,h.innerHeight-t.getBoundingClientRect().top-35)}px`,i=i.filter((t=>{var i;return!(null===(i=e.submenuIds)||void 0===i?void 0:i.has(t.id))||(console.warn(`Found submenu cycle: ${t.id}`),!1)})),this.push(i,{icon:!0,label:!0,isMenu:!0}),t.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter((t=>!(t instanceof oP))).forEach(((t,i,e)=>{t.updatePositionInSet(i+1,e.length)}))}initializeOrUpdateStyleSheet(t,i){this.styleSheet||(dl(t)?this.styleSheet=vl(t):(eP.globalStyleSheet||(eP.globalStyleSheet=vl()),this.styleSheet=eP.globalStyleSheet)),this.styleSheet.textContent=function(t,i){let e=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${rP(Os.menuSelection)}\n${rP(Os.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(i){e+="\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t";const i=t.scrollbarShadow;i&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${i} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${i} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${i} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`);const s=t.scrollbarSliderBackground;s&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${s};\n\t\t\t\t}\n\t\t\t`);const n=t.scrollbarSliderHoverBackground;n&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${n};\n\t\t\t\t}\n\t\t\t`);const o=t.scrollbarSliderActiveBackground;o&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${o};\n\t\t\t\t}\n\t\t\t`)}return e}(i,dl(t))}styleScrollElement(t,i){var e,s;const n=null!==(e=i.foregroundColor)&&void 0!==e?e:"",o=null!==(s=i.backgroundColor)&&void 0!==s?s:"",r=i.shadowColor?`0 2px 8px ${i.shadowColor}`:"";t.style.outline=i.borderColor?`1px solid ${i.borderColor}`:"",t.style.borderRadius="5px",t.style.color=n,t.style.backgroundColor=o,t.style.boxShadow=r}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(t){const i=this.focusedItem;this.setFocusedItem(t),i!==this.focusedItem&&this.updateFocus()}setFocusedItem(t){for(let i=0;i{this.element&&(this._register(Va(this.element,Ll.MOUSE_UP,(t=>{if(Fl(t,!0),Uo){if(new tc(Na(this.element),t).rightButton)return;this.onClick(t)}else setTimeout((()=>{this.onClick(t)}),0)}))),this._register(Va(this.element,Ll.CONTEXT_MENU,(t=>{Fl(t,!0)}))))}),100),this._register(this.runOnceToEnableMouseUp)}render(t){super.render(t),this.element&&(this.container=t,this.item=Ol(this.element,$l("a.action-menu-item")),this._action.id===vr.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=Ol(this.item,$l("span.menu-item-check"+Cr.asCSSSelector(Os.menuSelection))),this.check.setAttribute("role","none"),this.label=Ol(this.item,$l("span.action-label")),this.options.label&&this.options.keybinding&&(Ol(this.item,$l("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){var t;super.focus(),null===(t=this.item)||void 0===t||t.focus(),this.applyStyle()}updatePositionInSet(t,i){this.item&&(this.item.setAttribute("aria-posinset",`${t}`),this.item.setAttribute("aria-setsize",`${i}`))}updateLabel(){var t;if(this.label&&this.options.label){za(this.label);let i=R_(this.action.label);if(i){const e=function(t){const i=XB,e=i.exec(t);if(!e)return t;return t.replace(i,!e[1]?"$2$3":"").trim()}(i);this.options.enableMnemonics||(i=e),this.label.setAttribute("aria-label",e.replace(/&&/g,"&"));const s=XB.exec(i);if(s){i=Kn(i),tP.lastIndex=0;let e=tP.exec(i);for(;e&&e[1];)e=tP.exec(i);const n=t=>t.replace(/&&/g,"&");e?this.label.append(Qn(n(i.substr(0,e.index))," "),$l("u",{"aria-hidden":"true"},e[3]),Jn(n(i.substr(e.index+e[0].length))," ")):this.label.innerText=n(i).trim(),null===(t=this.item)||void 0===t||t.setAttribute("aria-keyshortcuts",(s[1]?s[1]:s[3]).toLocaleLowerCase())}else this.label.innerText=i.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const t=this.action.checked;this.item.classList.toggle("checked",!!t),void 0!==t?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",t?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const t=this.element&&this.element.classList.contains("focused"),i=t&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,e=t&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,s=t&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",n=t&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=null!=i?i:"",this.item.style.backgroundColor=null!=e?e:"",this.item.style.outline=s,this.item.style.outlineOffset=n),this.check&&(this.check.style.color=null!=i?i:"")}}class nP extends sP{constructor(t,i,e,s,n){super(t,t,s,n),this.submenuActions=i,this.parentData=e,this.submenuOptions=s,this.mysubmenu=null,this.submenuDisposables=this._register(new Xi),this.mouseOver=!1,this.expandDirection=s&&void 0!==s.expandDirection?s.expandDirection:iP.Right,this.showScheduler=new pc((()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))}),250),this.hideScheduler=new pc((()=>{this.element&&!al(pl(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}),750)}render(t){super.render(t),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=Ol(this.item,$l("span.submenu-indicator"+Cr.asCSSSelector(Os.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(Va(this.element,Ll.KEY_UP,(t=>{const i=new Qh(t);(i.equals(17)||i.equals(3))&&(Fl(t,!0),this.createSubmenu(!0))}))),this._register(Va(this.element,Ll.KEY_DOWN,(t=>{const i=new Qh(t);pl()===this.item&&(i.equals(17)||i.equals(3))&&Fl(t,!0)}))),this._register(Va(this.element,Ll.MOUSE_OVER,(()=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())}))),this._register(Va(this.element,Ll.MOUSE_LEAVE,(()=>{this.mouseOver=!1}))),this._register(Va(this.element,Ll.FOCUS_OUT,(()=>{this.element&&!al(pl(),this.element)&&this.hideScheduler.schedule()}))),this._register(this.parentData.parent.onScroll((()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}))))}updateEnabled(){}onClick(t){Fl(t,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(t){if(this.parentData.submenu&&(t||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(t){}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(t,i,e,s){const n={top:0,left:0};return n.left=fI(t.width,i.width,{position:s===iP.Right?0:1,offset:e.left,size:e.width}),n.left>=e.left&&n.left{new Qh(t).equals(15)&&(Fl(t,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))}))),this.submenuDisposables.add(Va(this.submenuContainer,Ll.KEY_DOWN,(t=>{new Qh(t).equals(15)&&Fl(t,!0)}))),this.submenuDisposables.add(this.parentData.submenu.onDidCancel((()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)}))),this.parentData.submenu.focus(t),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(t){var i;this.item&&(null===(i=this.item)||void 0===i||i.setAttribute("aria-expanded",t))}applyStyle(){super.applyStyle();const t=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=null!=t?t:"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class oP extends wB{constructor(t,i,e,s){super(t,i,e),this.menuStyles=s}render(t){super.render(t),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function rP(t){const i=Rs()[t.id];return`.codicon-${t.id}:before { content: '\\${i.toString(16)}'; }`}class hP{constructor(t,i,e,s){this.contextViewService=t,this.telemetryService=i,this.notificationService=e,this.keybindingService=s,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(t){this.options=t}showContextMenu(t){const i=t.getActions();if(!i.length)return;let e;this.focusToReturn=pl();const s=t.domForShadowRoot instanceof HTMLElement?t.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>t.getAnchor(),canRelayout:!1,anchorAlignment:t.anchorAlignment,anchorAxisAlignment:t.anchorAxisAlignment,render:s=>{var n;this.lastContainer=s;const o=t.getMenuClassName?t.getMenuClassName():"";o&&(s.className+=" "+o),this.options.blockMouse&&(this.block=s.appendChild($l(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",null===(n=this.blockDisposable)||void 0===n||n.dispose(),this.blockDisposable=Va(this.block,Ll.MOUSE_DOWN,(t=>t.stopPropagation())));const r=new Xi,h=t.actionRunner||new wr;h.onWillRun((i=>this.onActionRun(i,!t.skipTelemetry)),this,r),h.onDidRun(this.onDidActionRun,this,r),e=new eP(s,i,{actionViewItemProvider:t.getActionViewItem,context:t.getActionsContext?t.getActionsContext():null,actionRunner:h,getKeyBinding:t.getKeyBinding?t.getKeyBinding:t=>this.keybindingService.lookupKeybinding(t.id)},zB),e.onDidCancel((()=>this.contextViewService.hideContextView(!0)),null,r),e.onDidBlur((()=>this.contextViewService.hideContextView(!0)),null,r);const c=Na(s);return r.add(Va(c,Ll.BLUR,(()=>this.contextViewService.hideContextView(!0)))),r.add(Va(c,Ll.MOUSE_DOWN,(t=>{if(t.defaultPrevented)return;const i=new tc(c,t);let e=i.target;if(!i.rightButton){for(;e;){if(e===s)return;e=e.parentElement}this.contextViewService.hideContextView(!0)}}))),Ji(r,e)},focus:()=>{null==e||e.focus(!!t.autoSelectFirstItem)},onHide:i=>{var e,s,n;null===(e=t.onHide)||void 0===e||e.call(t,!!i),this.block&&(this.block.remove(),this.block=null),null===(s=this.blockDisposable)||void 0===s||s.dispose(),this.blockDisposable=null,this.lastContainer&&(pl()===this.lastContainer||al(pl(),this.lastContainer))&&(null===(n=this.focusToReturn)||void 0===n||n.focus()),this.lastContainer=null}},s,!!s)}onActionRun(t,i){i&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(t){t.error&&!ji(t.error)&&this.notificationService.error(t.error)}}var cP=function(t,i){return function(e,s){i(e,s,t)}};let aP=class extends te{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new hP(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(t,i,e,s,n,o){super(),this.telemetryService=t,this.notificationService=i,this.contextViewService=e,this.keybindingService=s,this.menuService=n,this.contextKeyService=o,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new de),this._onDidHideContextMenu=this._store.add(new de)}configure(t){this.contextMenuHandler.configure(t)}showContextMenu(t){t=lP.transform(t,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...t,onHide:i=>{var e;null===(e=t.onHide)||void 0===e||e.call(t,i),this._onDidHideContextMenu.fire()}}),Gl.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};var lP,uP;aP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([cP(0,Wh),cP(1,oT),cP(2,aI),cP(3,oC),cP(4,Oh),cP(5,ah)],aP),function(t){t.transform=function(t,i,e){if(!((s=t)&&s.menuId instanceof Rh))return t;var s;const{menuId:n,menuActionOptions:o,contextKeyService:r}=t;return{...t,getActions:()=>{const s=[];if(n){const t=i.createMenu(n,null!=r?r:e);!function(t,i,e){const s=t.getActions(i),n=Gl.getInstance();qB(s,e,n.keyStatus.altKey||(xt||St)&&n.keyStatus.shiftKey,(t=>"navigation"===t))}(t,o,s),t.dispose()}return t.getActions?vr.join(t.getActions(),s):s}}}}(lP||(lP={})),function(t){t[t.API=0]="API",t[t.USER=1]="USER"}(uP||(uP={}));const dP=dr("openerService");var fP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},pP=function(t,i){return function(e,s){i(e,s,t)}};let gP=class{constructor(t){this._commandService=t}async open(t,i){if(!xa(t,ka.command))return!1;if(!(null==i?void 0:i.allowCommands))return!0;if("string"==typeof t&&(t=ms.parse(t)),Array.isArray(i.allowCommands)&&!i.allowCommands.includes(t.path))return!0;let e=[];try{e=iN(decodeURIComponent(t.query))}catch(i){try{e=iN(t.query)}catch(t){}}return Array.isArray(e)||(e=[e]),await this._commandService.executeCommand(t.path,...e),!0}};gP=fP([pP(0,Sr)],gP);let mP=class{constructor(t){this._editorService=t}async open(t,i){"string"==typeof t&&(t=ms.parse(t));const{selection:e,uri:s}=function(t){let i;const e=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(t.fragment);return e&&(i={startLineNumber:parseInt(e[1]),startColumn:e[2]?parseInt(e[2]):1,endLineNumber:e[4]?parseInt(e[4]):void 0,endColumn:e[4]?e[5]?parseInt(e[5]):1:void 0},t=t.with({fragment:""})),{selection:i,uri:t}}(t);return(t=s).scheme===ka.file&&(t=CA(t)),await this._editorService.openCodeEditor({resource:t,options:{selection:e,source:(null==i?void 0:i.fromUserGesture)?uP.USER:uP.API,...null==i?void 0:i.editorOptions}},this._editorService.getFocusedCodeEditor(),null==i?void 0:i.openToSide),!0}};mP=fP([pP(0,fr)],mP);let wP=class{constructor(t,i){this._openers=new Ut,this._validators=new Ut,this._resolvers=new Ut,this._resolvedUriTargets=new zp((t=>t.with({path:null,fragment:null,query:null}).toString())),this._externalOpeners=new Ut,this._defaultExternalOpener={openExternal:async t=>(Ca(t,ka.http,ka.https)?Hl(t):$n.location.href=t,!0)},this._openers.push({open:async(t,i)=>!(!(null==i?void 0:i.openExternal)&&!Ca(t,ka.mailto,ka.http,ka.https,ka.vsls)||(await this._doOpenExternal(t,i),0))}),this._openers.push(new gP(i)),this._openers.push(new mP(t))}registerOpener(t){return{dispose:this._openers.unshift(t)}}async open(t,i){var e;const s="string"==typeof t?ms.parse(t):t,n=null!==(e=this._resolvedUriTargets.get(s))&&void 0!==e?e:t;for(const t of this._validators)if(!await t.shouldOpen(n,i))return!1;for(const e of this._openers)if(await e.open(t,i))return!0;return!1}async resolveExternalUri(t,i){for(const e of this._resolvers)try{const s=await e.resolveExternalUri(t,i);if(s)return this._resolvedUriTargets.has(s.resolved)||this._resolvedUriTargets.set(s.resolved,t),s}catch(t){}throw new Error("Could not resolve external URI: "+t.toString())}async _doOpenExternal(t,i){const e="string"==typeof t?ms.parse(t):t;let s,n;try{s=(await this.resolveExternalUri(e,i)).resolved}catch(t){s=e}if(n="string"==typeof t&&e.toString()===s.toString()?t:encodeURI(s.toString(!0)),null==i?void 0:i.allowContributedOpeners){const t="string"==typeof(null==i?void 0:i.allowContributedOpeners)?null==i?void 0:i.allowContributedOpeners:void 0;for(const i of this._externalOpeners)if(await i.openExternal(n,{sourceUri:e,preferredOpenerId:t},ke.None))return!0}return this._defaultExternalOpener.openExternal(n,{sourceUri:e},ke.None)}dispose(){this._validators.clear()}};wP=fP([pP(0,fr),pP(1,Sr)],wP);const vP=dr("editorWorkerService");var bP,yP;!function(t){t[t.Hint=1]="Hint",t[t.Info=2]="Info",t[t.Warning=4]="Warning",t[t.Error=8]="Error"}(bP||(bP={})),function(t){t.compare=function(t,i){return i-t};const i=Object.create(null);i[t.Error]=ot(0,"Error"),i[t.Warning]=ot(0,"Warning"),i[t.Info]=ot(0,"Info"),t.toString=function(t){return i[t]||""},t.fromSeverity=function(i){switch(i){case sT.Error:return t.Error;case sT.Warning:return t.Warning;case sT.Info:return t.Info;case sT.Ignore:return t.Hint}},t.toSeverity=function(i){switch(i){case t.Error:return sT.Error;case t.Warning:return sT.Warning;case t.Info:return sT.Info;case t.Hint:return sT.Ignore}}}(bP||(bP={})),function(t){const i="";function e(t,e){const s=[i];return s.push(t.source?t.source.replace("¦","\\¦"):i),s.push(t.code?"string"==typeof t.code?t.code.replace("¦","\\¦"):t.code.value.replace("¦","\\¦"):i),s.push(null!=t.severity?bP.toString(t.severity):i),s.push(t.message&&e?t.message.replace("¦","\\¦"):i),s.push(null!=t.startLineNumber?t.startLineNumber.toString():i),s.push(null!=t.startColumn?t.startColumn.toString():i),s.push(null!=t.endLineNumber?t.endLineNumber.toString():i),s.push(null!=t.endColumn?t.endColumn.toString():i),s.push(i),s.join("¦")}t.makeKey=function(t){return e(t,!0)},t.makeKeyOptionalMessage=e}(yP||(yP={}));const kP=dr("markerService");var xP=function(t,i){return function(e,s){i(e,s,t)}};let CP=class extends te{constructor(t,i){super(),this._markerService=i,this._onDidChangeMarker=this._register(new de),this._markerDecorations=new zp,t.getModels().forEach((t=>this._onModelAdded(t))),this._register(t.onModelAdded(this._onModelAdded,this)),this._register(t.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((t=>t.dispose())),this._markerDecorations.clear()}getMarker(t,i){const e=this._markerDecorations.get(t);return e&&e.getMarker(i)||null}_handleMarkerChange(t){t.forEach((t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)}))}_onModelAdded(t){const i=new SP(t);this._markerDecorations.set(t.uri,i),this._updateDecorations(i)}_onModelRemoved(t){var i;const e=this._markerDecorations.get(t.uri);e&&(e.dispose(),this._markerDecorations.delete(t.uri)),t.uri.scheme!==ka.inMemory&&t.uri.scheme!==ka.internal&&t.uri.scheme!==ka.vscode||null===(i=this._markerService)||void 0===i||i.read({resource:t.uri}).map((t=>t.owner)).forEach((i=>this._markerService.remove(i,[t.uri])))}_updateDecorations(t){const i=this._markerService.read({resource:t.model.uri,take:500});t.update(i)&&this._onDidChangeMarker.fire(t.model)}};CP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([xP(0,pr),xP(1,kP)],CP);class SP extends te{constructor(t){super(),this.model=t,this._map=new Up,this._register(Yi((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(t){const{added:i,removed:e}=function(t,i){const e=[],s=[];for(const s of t)i.has(s)||e.push(s);for(const e of i)t.has(e)||s.push(e);return{removed:e,added:s}}(new Set(this._map.keys()),new Set(t));if(0===i.length&&0===e.length)return!1;const s=e.map((t=>this._map.get(t))),n=i.map((t=>({range:this._createDecorationRange(this.model,t),options:this._createDecorationOption(t)}))),o=this.model.deltaDecorations(s,n);for(const t of e)this._map.delete(t);for(let t=0;t=i)return e;const s=t.getWordAtPosition(e.getStartPosition());s&&(e=new Ms(e.startLineNumber,s.startColumn,e.endLineNumber,s.endColumn))}else if(i.endColumn===Number.MAX_VALUE&&1===i.startColumn&&e.startLineNumber===e.endLineNumber){const s=t.getLineFirstNonWhitespaceColumn(i.startLineNumber);s=0}}var DP,EP=function(t,i){return function(e,s){i(e,s,t)}};function AP(t){return t.toString()}class MP{constructor(t,i,e){this.model=t,this._modelEventListeners=new Xi,this.model=t,this._modelEventListeners.add(t.onWillDispose((()=>i(t)))),this._modelEventListeners.add(t.onDidChangeLanguage((i=>e(t,i))))}dispose(){this._modelEventListeners.dispose()}}const LP=St||Ct?1:2;class FP{constructor(t,i,e,s,n,o,r,h){this.uri=t,this.initialUndoRedoSnapshot=i,this.time=e,this.sharesUndoRedoStack=s,this.heapSize=n,this.sha1=o,this.versionId=r,this.alternativeVersionId=h}}let TP=DP=class extends te{constructor(t,i,e,s,n){super(),this._configurationService=t,this._resourcePropertiesService=i,this._undoRedoService=e,this._languageService=s,this._languageConfigurationService=n,this._onModelAdded=this._register(new de),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new de),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new de),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((t=>this._updateModelOptions(t)))),this._updateModelOptions(void 0)}static _readModelOptions(t,i){var e;let s=zt.tabSize;if(t.editor&&void 0!==t.editor.tabSize){const i=parseInt(t.editor.tabSize,10);isNaN(i)||(s=i),s<1&&(s=1)}let n="tabSize";if(t.editor&&void 0!==t.editor.indentSize&&"tabSize"!==t.editor.indentSize){const i=parseInt(t.editor.indentSize,10);isNaN(i)||(n=Math.max(i,1))}let o=zt.insertSpaces;t.editor&&void 0!==t.editor.insertSpaces&&(o="false"!==t.editor.insertSpaces&&Boolean(t.editor.insertSpaces));let r=LP;const h=t.eol;"\r\n"===h?r=2:"\n"===h&&(r=1);let c=zt.trimAutoWhitespace;t.editor&&void 0!==t.editor.trimAutoWhitespace&&(c="false"!==t.editor.trimAutoWhitespace&&Boolean(t.editor.trimAutoWhitespace));let a=zt.detectIndentation;t.editor&&void 0!==t.editor.detectIndentation&&(a="false"!==t.editor.detectIndentation&&Boolean(t.editor.detectIndentation));let l=zt.largeFileOptimizations;t.editor&&void 0!==t.editor.largeFileOptimizations&&(l="false"!==t.editor.largeFileOptimizations&&Boolean(t.editor.largeFileOptimizations));let u=zt.bracketPairColorizationOptions;return(null===(e=t.editor)||void 0===e?void 0:e.bracketPairColorization)&&"object"==typeof t.editor.bracketPairColorization&&(u={enabled:!!t.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!t.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:i,tabSize:s,indentSize:n,insertSpaces:o,detectIndentation:a,defaultEOL:r,trimAutoWhitespace:c,largeFileOptimizations:l,bracketPairColorizationOptions:u}}_getEOL(t,i){if(t)return this._resourcePropertiesService.getEOL(t,i);const e=this._configurationService.getValue("files.eol",{overrideIdentifier:i});return e&&"string"==typeof e&&"auto"!==e?e:3===It||2===It?"\n":"\r\n"}_shouldRestoreUndoStack(){const t=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof t||t}getCreationOptions(t,i,e){const s="string"==typeof t?t:t.languageId;let n=this._modelCreationOptionsByLanguageAndResource[s+i];if(!n){const t=this._configurationService.getValue("editor",{overrideIdentifier:s,resource:i}),o=this._getEOL(i,s);n=DP._readModelOptions({editor:t,eol:o},e),this._modelCreationOptionsByLanguageAndResource[s+i]=n}return n}_updateModelOptions(t){const i=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const e=Object.keys(this._models);for(let s=0,n=e.length;st){const i=[];for(this._disposedModels.forEach((t=>{t.sharesUndoRedoStack||i.push(t)})),i.sort(((t,i)=>t.time-i.time));i.length>0&&this._disposedModelsHeapSize>t;){const t=i.shift();this._removeDisposedModel(t.uri),null!==t.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(t.initialUndoRedoSnapshot)}}}_createModelData(t,i,e,s){const n=this.getCreationOptions(i,e,s),o=new wL(t,i,n,e,this._undoRedoService,this._languageService,this._languageConfigurationService);if(e&&this._disposedModels.has(AP(e))){const t=this._removeDisposedModel(e),i=this._undoRedoService.getElements(e),s=this._getSHA1Computer(),n=!!s.canComputeSHA1(o)&&s.computeSHA1(o)===t.sha1;if(n||t.sharesUndoRedoStack){for(const t of i.past)IA(t)&&t.matchesResource(e)&&t.setModel(o);for(const t of i.future)IA(t)&&t.matchesResource(e)&&t.setModel(o);this._undoRedoService.setElementsValidFlag(e,!0,(t=>IA(t)&&t.matchesResource(e))),n&&(o._overwriteVersionId(t.versionId),o._overwriteAlternativeVersionId(t.alternativeVersionId),o._overwriteInitialUndoRedoSnapshot(t.initialUndoRedoSnapshot))}else null!==t.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(t.initialUndoRedoSnapshot)}const r=AP(o.uri);if(this._models[r])throw new Error("ModelService: Cannot add model because it already exists!");const h=new MP(o,(t=>this._onWillDispose(t)),((t,i)=>this._onDidChangeLanguage(t,i)));return this._models[r]=h,h}createModel(t,i,e,s=!1){let n;return n=this._createModelData(t,i||Ud,e,s),this._onModelAdded.fire(n.model),n.model}getModels(){const t=[],i=Object.keys(this._models);for(let e=0,s=i.length;e0||i.future.length>0){for(const e of i.past)IA(e)&&e.matchesResource(t.uri)&&(n=!0,o+=e.heapSize(t.uri),e.setModel(t.uri));for(const e of i.future)IA(e)&&e.matchesResource(t.uri)&&(n=!0,o+=e.heapSize(t.uri),e.setModel(t.uri))}}const r=DP.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,h=this._getSHA1Computer();if(n)if(s||!(o>r)&&h.canComputeSHA1(t))this._ensureDisposedModelsHeapSize(r-o),this._undoRedoService.setElementsValidFlag(t.uri,!1,(i=>IA(i)&&i.matchesResource(t.uri))),this._insertDisposedModel(new FP(t.uri,e.model.getInitialUndoRedoSnapshot(),Date.now(),s,o,h.computeSHA1(t),t.getVersionId(),t.getAlternativeVersionId()));else{const t=e.model.getInitialUndoRedoSnapshot();null!==t&&this._undoRedoService.restoreSnapshot(t)}else if(!s){const t=e.model.getInitialUndoRedoSnapshot();null!==t&&this._undoRedoService.restoreSnapshot(t)}delete this._models[i],e.dispose(),delete this._modelCreationOptionsByLanguageAndResource[t.getLanguageId()+t.uri],this._onModelRemoved.fire(t)}_onDidChangeLanguage(t,i){const e=i.oldLanguage,s=t.getLanguageId(),n=this.getCreationOptions(e,t.uri,t.isForSimpleWidget),o=this.getCreationOptions(s,t.uri,t.isForSimpleWidget);DP._setModelOptionsForModel(t,o,n),this._onModelModeChanged.fire({model:t,oldLanguageId:e})}_getSHA1Computer(){return new RP}};TP.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520,TP=DP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([EP(0,pd),EP(1,kg),EP(2,hL),EP(3,yd),EP(4,Xd)],TP);class RP{canComputeSHA1(t){return t.getValueLength()<=RP.MAX_MODEL_SIZE}computeSHA1(t){const i=new _a,e=t.createSnapshot();let s;for(;s=e.read();)i.update(s);return i.digest()}}RP.MAX_MODEL_SIZE=10485760;class OP{get templateId(){return this.renderer.templateId}constructor(t,i){this.renderer=t,this.modelProvider=i}renderTemplate(t){return{data:this.renderer.renderTemplate(t),disposable:te.None}}renderElement(t,i,e,s){var n;if(null===(n=e.disposable)||void 0===n||n.dispose(),!e.data)return;const o=this.modelProvider();if(o.isResolved(t))return this.renderer.renderElement(o.get(t),t,e.data,s);const r=new Ce,h=o.resolve(t,r.token);e.disposable={dispose:()=>r.cancel()},this.renderer.renderPlaceholder(t,e.data),h.then((i=>this.renderer.renderElement(i,t,e.data,s)))}disposeTemplate(t){t.disposable&&(t.disposable.dispose(),t.disposable=void 0),t.data&&(this.renderer.disposeTemplate(t.data),t.data=void 0)}}class IP{constructor(t,i){this.modelProvider=t,this.accessibilityProvider=i}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(t){const i=this.modelProvider();return i.isResolved(t)?this.accessibilityProvider.getAriaLabel(i.get(t)):null}}class _P{constructor(t,i,e,s,n={}){const o=()=>this.model,r=s.map((t=>new OP(t,o)));this.list=new aB(t,i,e,r,function(t,i){return{...i,accessibilityProvider:i.accessibilityProvider&&new IP(t,i.accessibilityProvider)}}(o,n))}updateOptions(t){this.list.updateOptions(t)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return he.map(this.list.onMouseDblClick,(({element:t,index:i,browserEvent:e})=>({element:void 0===t?void 0:this._model.get(t),index:i,browserEvent:e})))}get onPointer(){return he.map(this.list.onPointer,(({element:t,index:i,browserEvent:e})=>({element:void 0===t?void 0:this._model.get(t),index:i,browserEvent:e})))}get onDidChangeSelection(){return he.map(this.list.onDidChangeSelection,(({elements:t,indexes:i,browserEvent:e})=>({elements:t.map((t=>this._model.get(t))),indexes:i,browserEvent:e})))}get model(){return this._model}set model(t){this._model=t,this.list.splice(0,this.list.length,x(t.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((t=>this.model.get(t)))}style(t){this.list.style(t)}dispose(){this.list.dispose()}}var NP,BP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};!function(t){t.North="north",t.South="south",t.East="east",t.West="west"}(NP||(NP={}));const PP=new de,$P=new de;class WP{constructor(t){this.el=t,this.disposables=new Xi}get onPointerMove(){return this.disposables.add(new Bk(Na(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new Bk(Na(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}BP([nw],WP.prototype,"onPointerMove",null),BP([nw],WP.prototype,"onPointerUp",null);class jP{get onPointerMove(){return this.disposables.add(new Bk(this.el,ow.Change)).event}get onPointerUp(){return this.disposables.add(new Bk(this.el,ow.End)).event}constructor(t){this.el=t,this.disposables=new Xi}dispose(){this.disposables.dispose()}}BP([nw],jP.prototype,"onPointerMove",null),BP([nw],jP.prototype,"onPointerUp",null);class zP{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(t){this.factory=t}dispose(){}}BP([nw],zP.prototype,"onPointerMove",null),BP([nw],zP.prototype,"onPointerUp",null);const HP="pointer-events-disabled";class VP extends te{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(t){this._state!==t&&(this.el.classList.toggle("disabled",0===t),this.el.classList.toggle("minimum",1===t),this.el.classList.toggle("maximum",2===t),this._state=t,this.onDidEnablementChange.fire(t))}set orthogonalStartSash(t){if(this._orthogonalStartSash!==t){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),t){const i=i=>{this.orthogonalStartDragHandleDisposables.clear(),0!==i&&(this._orthogonalStartDragHandle=Ol(this.el,$l(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(Yi((()=>this._orthogonalStartDragHandle.remove()))),this.orthogonalStartDragHandleDisposables.add(new Bk(this._orthogonalStartDragHandle,"mouseenter")).event((()=>VP.onMouseEnter(t)),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new Bk(this._orthogonalStartDragHandle,"mouseleave")).event((()=>VP.onMouseLeave(t)),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(t.onDidEnablementChange.event(i,this)),i(t.state)}this._orthogonalStartSash=t}}set orthogonalEndSash(t){if(this._orthogonalEndSash!==t){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),t){const i=i=>{this.orthogonalEndDragHandleDisposables.clear(),0!==i&&(this._orthogonalEndDragHandle=Ol(this.el,$l(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(Yi((()=>this._orthogonalEndDragHandle.remove()))),this.orthogonalEndDragHandleDisposables.add(new Bk(this._orthogonalEndDragHandle,"mouseenter")).event((()=>VP.onMouseEnter(t)),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new Bk(this._orthogonalEndDragHandle,"mouseleave")).event((()=>VP.onMouseLeave(t)),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(t.onDidEnablementChange.event(i,this)),i(t.state)}this._orthogonalEndSash=t}}constructor(t,i,e){super(),this.hoverDelay=300,this.hoverDelayer=this._register(new hc(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new de),this._onDidStart=this._register(new de),this._onDidChange=this._register(new de),this._onDidReset=this._register(new de),this._onDidEnd=this._register(new de),this.orthogonalStartSashDisposables=this._register(new Xi),this.orthogonalStartDragHandleDisposables=this._register(new Xi),this.orthogonalEndSashDisposables=this._register(new Xi),this.orthogonalEndDragHandleDisposables=this._register(new Xi),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=Ol(t,$l(".monaco-sash")),e.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${e.orthogonalEdge}`),Ct&&this.el.classList.add("mac");const s=this._register(new Bk(this.el,"mousedown")).event;this._register(s((i=>this.onPointerStart(i,new WP(t))),this));const n=this._register(new Bk(this.el,"dblclick")).event;this._register(n(this.onPointerDoublePress,this));const o=this._register(new Bk(this.el,"mouseenter")).event;this._register(o((()=>VP.onMouseEnter(this))));const r=this._register(new Bk(this.el,"mouseleave")).event;this._register(r((()=>VP.onMouseLeave(this)))),this._register(rw.addTarget(this.el));const h=this._register(new Bk(this.el,ow.Start)).event;this._register(h((t=>this.onPointerStart(t,new jP(this.el))),this));const c=this._register(new Bk(this.el,ow.Tap)).event;let a;this._register(c((t=>{if(a)return clearTimeout(a),a=void 0,void this.onPointerDoublePress(t);clearTimeout(a),a=setTimeout((()=>a=void 0),250)}),this)),"number"==typeof e.size?(this.size=e.size,0===e.orientation?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=4,this._register(PP.event((t=>{this.size=t,this.layout()})))),this._register($P.event((t=>this.hoverDelay=t))),this.layoutProvider=i,this.orthogonalStartSash=e.orthogonalStartSash,this.orthogonalEndSash=e.orthogonalEndSash,this.orientation=e.orientation||0,1===this.orientation?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",!1),this.layout()}onPointerStart(t,i){Fl(t);let e=!1;if(!t.__orthogonalSashEvent){const s=this.getOrthogonalSash(t);s&&(e=!0,t.__orthogonalSashEvent=!0,s.onPointerStart(t,new zP(i)))}if(this.linkedSash&&!t.__linkedSashEvent&&(t.__linkedSashEvent=!0,this.linkedSash.onPointerStart(t,new zP(i))),!this.state)return;const s=this.el.ownerDocument.getElementsByTagName("iframe");for(const t of s)t.classList.add(HP);const n=t.pageX,o=t.pageY,r=t.altKey,h={startX:n,currentX:n,startY:o,currentY:o,altKey:r};this.el.classList.add("active"),this._onDidStart.fire(h);const c=vl(this.el),a=()=>{let t="";t=e?"all-scroll":1===this.orientation?1===this.state?"s-resize":2===this.state?"n-resize":Ct?"row-resize":"ns-resize":1===this.state?"e-resize":2===this.state?"w-resize":Ct?"col-resize":"ew-resize",c.textContent=`* { cursor: ${t} !important; }`},l=new Xi;a(),e||this.onDidEnablementChange.event(a,null,l),i.onPointerMove((t=>{Fl(t,!1),this._onDidChange.fire({startX:n,currentX:t.pageX,startY:o,currentY:t.pageY,altKey:r})}),null,l),i.onPointerUp((t=>{Fl(t,!1),this.el.removeChild(c),this.el.classList.remove("active"),this._onDidEnd.fire(),l.dispose();for(const t of s)t.classList.remove(HP)}),null,l),l.add(i)}onPointerDoublePress(t){const i=this.getOrthogonalSash(t);i&&i._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(t,i=!1){t.el.classList.contains("active")?(t.hoverDelayer.cancel(),t.el.classList.add("hover")):t.hoverDelayer.trigger((()=>t.el.classList.add("hover")),t.hoverDelay).then(void 0,(()=>{})),!i&&t.linkedSash&&VP.onMouseEnter(t.linkedSash,!0)}static onMouseLeave(t,i=!1){t.hoverDelayer.cancel(),t.el.classList.remove("hover"),!i&&t.linkedSash&&VP.onMouseLeave(t.linkedSash,!0)}clearSashHoverState(){VP.onMouseLeave(this)}layout(){if(0===this.orientation){const t=this.layoutProvider;this.el.style.left=t.getVerticalSashLeft(this)-this.size/2+"px",t.getVerticalSashTop&&(this.el.style.top=t.getVerticalSashTop(this)+"px"),t.getVerticalSashHeight&&(this.el.style.height=t.getVerticalSashHeight(this)+"px")}else{const t=this.layoutProvider;this.el.style.top=t.getHorizontalSashTop(this)-this.size/2+"px",t.getHorizontalSashLeft&&(this.el.style.left=t.getHorizontalSashLeft(this)+"px"),t.getHorizontalSashWidth&&(this.el.style.width=t.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(t){var i;const e=null!==(i=t.initialTarget)&&void 0!==i?i:t.target;if(e&&e instanceof HTMLElement)return e.classList.contains("orthogonal-drag-handle")?e.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash:void 0}dispose(){super.dispose(),this.el.remove()}}const UP={separatorBorder:lg.transparent};class qP{set size(t){this._size=t}get size(){return this._size}get visible(){return void 0===this._cachedVisibleSize}setVisible(t,i){var e,s;if(t!==this.visible){t?(this.size=lR(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof i?i:this.size,this.size=0),this.container.classList.toggle("visible",t);try{null===(s=(e=this.view).setVisible)||void 0===s||s.call(e,t)}catch(t){console.error("Splitview: Failed to set visible view"),console.error(t)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){var t;return null===(t=this.view.proportionalLayout)||void 0===t||t}get snap(){return!!this.view.snap}set enabled(t){this.container.style.pointerEvents=t?"":"none"}constructor(t,i,e,s){this.container=t,this.view=i,this.disposable=s,this._cachedVisibleSize=void 0,"number"==typeof e?(this._size=e,this._cachedVisibleSize=void 0,t.classList.add("visible")):(this._size=0,this._cachedVisibleSize=e.cachedVisibleSize)}layout(t,i){this.layoutContainer(t);try{this.view.layout(this.size,t,i)}catch(t){console.error("Splitview: Failed to layout view"),console.error(t)}}dispose(){this.disposable.dispose()}}class KP extends qP{layoutContainer(t){this.container.style.top=`${t}px`,this.container.style.height=`${this.size}px`}}class GP extends qP{layoutContainer(t){this.container.style.left=`${t}px`,this.container.style.width=`${this.size}px`}}var ZP,QP;!function(t){t[t.Idle=0]="Idle",t[t.Busy=1]="Busy"}(ZP||(ZP={})),function(t){t.Distribute={type:"distribute"},t.Split=function(t){return{type:"split",index:t}},t.Auto=function(t){return{type:"auto",index:t}},t.Invisible=function(t){return{type:"invisible",cachedVisibleSize:t}}}(QP||(QP={}));class JP extends te{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(t){for(const i of this.sashItems)i.sash.orthogonalStartSash=t;this._orthogonalStartSash=t}set orthogonalEndSash(t){for(const i of this.sashItems)i.sash.orthogonalEndSash=t;this._orthogonalEndSash=t}set startSnappingEnabled(t){this._startSnappingEnabled!==t&&(this._startSnappingEnabled=t,this.updateSashEnablement())}set endSnappingEnabled(t){this._endSnappingEnabled!==t&&(this._endSnappingEnabled=t,this.updateSashEnablement())}constructor(t,i={}){var e,s,n,o,r;super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=ZP.Idle,this._onDidSashChange=this._register(new de),this._onDidSashReset=this._register(new de),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=null!==(e=i.orientation)&&void 0!==e?e:0,this.inverseAltBehavior=null!==(s=i.inverseAltBehavior)&&void 0!==s&&s,this.proportionalLayout=null===(n=i.proportionalLayout)||void 0===n||n,this.getSashOrthogonalSize=i.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(0===this.orientation?"vertical":"horizontal"),t.appendChild(this.el),this.sashContainer=Ol(this.el,$l(".sash-container")),this.viewContainer=$l(".split-view-container"),this.scrollable=this._register(new xk({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:t=>Qa(Na(this.el),t)})),this.scrollableElement=this._register(new Fk(this.viewContainer,{vertical:0===this.orientation?null!==(o=i.scrollbarVisibility)&&void 0!==o?o:1:2,horizontal:1===this.orientation?null!==(r=i.scrollbarVisibility)&&void 0!==r?r:1:2},this.scrollable));const h=this._register(new Bk(this.viewContainer,"scroll")).event;this._register(h((()=>{const t=this.scrollableElement.getScrollPosition(),i=Math.abs(this.viewContainer.scrollLeft-t.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,e=Math.abs(this.viewContainer.scrollTop-t.scrollTop)<=1?void 0:this.viewContainer.scrollTop;void 0===i&&void 0===e||this.scrollableElement.setScrollPosition({scrollLeft:i,scrollTop:e})}))),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll((t=>{t.scrollTopChanged&&(this.viewContainer.scrollTop=t.scrollTop),t.scrollLeftChanged&&(this.viewContainer.scrollLeft=t.scrollLeft)}))),Ol(this.el,this.scrollableElement.getDomNode()),this.style(i.styles||UP),i.descriptor&&(this.size=i.descriptor.size,i.descriptor.views.forEach(((t,i)=>{const e=H(t.visible)||t.visible?t.size:{type:"invisible",cachedVisibleSize:t.size};this.doAddView(t.view,e,i,!0)})),this._contentSize=this.viewItems.reduce(((t,i)=>t+i.size),0),this.saveProportions())}style(t){t.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",t.separatorBorder.toString()))}addView(t,i,e=this.viewItems.length,s){this.doAddView(t,i,e,s)}layout(t,i){const e=Math.max(this.size,this._contentSize);if(this.size=t,this.layoutContext=i,this.proportions){let i=0;for(let e=0;e0&&(s.size=lR(Math.round(n*t/i),s.minimumSize,s.maximumSize))}}else{const i=x(this.viewItems.length),s=i.filter((t=>1===this.viewItems[t].priority)),n=i.filter((t=>2===this.viewItems[t].priority));this.resize(this.viewItems.length-1,t-e,void 0,s,n)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map((t=>t.proportionalLayout&&t.visible?t.size/this._contentSize:void 0)))}onSashStart({sash:t,start:i,alt:e}){for(const t of this.viewItems)t.enabled=!1;const s=this.sashItems.findIndex((i=>i.sash===t)),n=Ji(Va(this.el.ownerDocument.body,"keydown",(t=>o(this.sashDragState.current,t.altKey))),Va(this.el.ownerDocument.body,"keyup",(()=>o(this.sashDragState.current,!1)))),o=(t,i)=>{const e=this.viewItems.map((t=>t.size));let o,r,h=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(i=!i),i)if(s===this.sashItems.length-1){const t=this.viewItems[s];h=(t.minimumSize-t.size)/2,c=(t.maximumSize-t.size)/2}else{const t=this.viewItems[s+1];h=(t.size-t.maximumSize)/2,c=(t.size-t.minimumSize)/2}if(!i){const t=x(s,-1),i=x(s+1,this.viewItems.length),n=t.reduce(((t,i)=>t+(this.viewItems[i].minimumSize-e[i])),0),h=t.reduce(((t,i)=>t+(this.viewItems[i].viewMaximumSize-e[i])),0),c=0===i.length?Number.POSITIVE_INFINITY:i.reduce(((t,i)=>t+(e[i]-this.viewItems[i].minimumSize)),0),a=0===i.length?Number.NEGATIVE_INFINITY:i.reduce(((t,i)=>t+(e[i]-this.viewItems[i].viewMaximumSize)),0),l=Math.max(n,a),u=Math.min(c,h),d=this.findFirstSnapIndex(t),f=this.findFirstSnapIndex(i);if("number"==typeof d){const t=this.viewItems[d],i=Math.floor(t.viewMinimumSize/2);o={index:d,limitDelta:t.visible?l-i:l+i,size:t.size}}if("number"==typeof f){const t=this.viewItems[f],i=Math.floor(t.viewMinimumSize/2);r={index:f,limitDelta:t.visible?u+i:u-i,size:t.size}}}this.sashDragState={start:t,current:t,index:s,sizes:e,minDelta:h,maxDelta:c,alt:i,snapBefore:o,snapAfter:r,disposable:n}};o(i,e)}onSashChange({current:t}){const{index:i,start:e,sizes:s,alt:n,minDelta:o,maxDelta:r,snapBefore:h,snapAfter:c}=this.sashDragState;this.sashDragState.current=t;const a=this.resize(i,t-e,s,void 0,void 0,o,r,h,c);if(n){const t=i===this.sashItems.length-1,e=this.viewItems.map((t=>t.size)),s=this.viewItems[t?i:i+1];this.resize(t?i-1:i+1,-a,e,void 0,void 0,s.size-s.maximumSize,s.size-s.minimumSize)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(t){this._onDidSashChange.fire(t),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(t,i){const e=this.viewItems.indexOf(t);e<0||e>=this.viewItems.length||(i=lR(i="number"==typeof i?i:t.size,t.minimumSize,t.maximumSize),this.inverseAltBehavior&&e>0?(this.resize(e-1,Math.floor((t.size-i)/2)),this.distributeEmptySpace(),this.layoutViews()):(t.size=i,this.relayout([e],void 0)))}resizeView(t,i){if(!(t<0||t>=this.viewItems.length)){if(this.state!==ZP.Idle)throw new Error("Cant modify splitview");this.state=ZP.Busy;try{const e=x(this.viewItems.length).filter((i=>i!==t)),s=[...e.filter((t=>1===this.viewItems[t].priority)),t],n=e.filter((t=>2===this.viewItems[t].priority)),o=this.viewItems[t];i=lR(i=Math.round(i),o.minimumSize,Math.min(o.maximumSize,this.size)),o.size=i,this.relayout(s,n)}finally{this.state=ZP.Idle}}}distributeViewSizes(){const t=[];let i=0;for(const e of this.viewItems)e.maximumSize-e.minimumSize>0&&(t.push(e),i+=e.size);const e=Math.floor(i/t.length);for(const i of t)i.size=lR(e,i.minimumSize,i.maximumSize);const s=x(this.viewItems.length),n=s.filter((t=>1===this.viewItems[t].priority)),o=s.filter((t=>2===this.viewItems[t].priority));this.relayout(n,o)}getViewSize(t){return t<0||t>=this.viewItems.length?-1:this.viewItems[t].size}doAddView(t,i,e=this.viewItems.length,s){if(this.state!==ZP.Idle)throw new Error("Cant modify splitview");this.state=ZP.Busy;try{const n=$l(".split-view-view");e===this.viewItems.length?this.viewContainer.appendChild(n):this.viewContainer.insertBefore(n,this.viewContainer.children.item(e));const o=t.onDidChange((t=>this.onViewChange(c,t))),r=Ji(o,Yi((()=>this.viewContainer.removeChild(n))));let h;"number"==typeof i?h=i:("auto"===i.type&&(i=this.areViewsDistributed()?{type:"distribute"}:{type:"split",index:i.index}),h="split"===i.type?this.getViewSize(i.index)/2:"invisible"===i.type?{cachedVisibleSize:i.cachedVisibleSize}:t.minimumSize);const c=0===this.orientation?new KP(n,t,h,r):new GP(n,t,h,r);if(this.viewItems.splice(e,0,c),this.viewItems.length>1){const t={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},i=0===this.orientation?new VP(this.sashContainer,{getHorizontalSashTop:t=>this.getSashPosition(t),getHorizontalSashWidth:this.getSashOrthogonalSize},{...t,orientation:1}):new VP(this.sashContainer,{getVerticalSashLeft:t=>this.getSashPosition(t),getVerticalSashHeight:this.getSashOrthogonalSize},{...t,orientation:0}),s=0===this.orientation?t=>({sash:i,start:t.startY,current:t.currentY,alt:t.altKey}):t=>({sash:i,start:t.startX,current:t.currentX,alt:t.altKey}),n=he.map(i.onDidStart,s)(this.onSashStart,this),o=he.map(i.onDidChange,s)(this.onSashChange,this),r=he.map(i.onDidEnd,(()=>this.sashItems.findIndex((t=>t.sash===i)))),h=r(this.onSashEnd,this),c=i.onDidReset((()=>{const t=this.sashItems.findIndex((t=>t.sash===i)),e=x(t,-1),s=x(t+1,this.viewItems.length),n=this.findFirstSnapIndex(e),o=this.findFirstSnapIndex(s);("number"!=typeof n||this.viewItems[n].visible)&&("number"!=typeof o||this.viewItems[o].visible)&&this._onDidSashReset.fire(t)})),a=Ji(n,o,h,c,i);this.sashItems.splice(e-1,0,{sash:i,disposable:a})}let a;n.appendChild(t.element),"number"!=typeof i&&"split"===i.type&&(a=[i.index]),s||this.relayout([e],a),s||"number"==typeof i||"distribute"!==i.type||this.distributeViewSizes()}finally{this.state=ZP.Idle}}relayout(t,i){const e=this.viewItems.reduce(((t,i)=>t+i.size),0);this.resize(this.viewItems.length-1,this.size-e,void 0,t,i),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(t,i,e=this.viewItems.map((t=>t.size)),s,n,o=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY,h,c){if(t<0||t>=this.viewItems.length)return 0;const a=x(t,-1),l=x(t+1,this.viewItems.length);if(n)for(const t of n)S(a,t),S(l,t);if(s)for(const t of s)D(a,t),D(l,t);const u=a.map((t=>this.viewItems[t])),d=a.map((t=>e[t])),f=l.map((t=>this.viewItems[t])),p=l.map((t=>e[t])),g=a.reduce(((t,i)=>t+(this.viewItems[i].minimumSize-e[i])),0),m=a.reduce(((t,i)=>t+(this.viewItems[i].maximumSize-e[i])),0),w=0===l.length?Number.POSITIVE_INFINITY:l.reduce(((t,i)=>t+(e[i]-this.viewItems[i].minimumSize)),0),v=0===l.length?Number.NEGATIVE_INFINITY:l.reduce(((t,i)=>t+(e[i]-this.viewItems[i].maximumSize)),0),b=Math.max(g,v,o),y=Math.min(w,m,r);let k=!1;if(h){const t=this.viewItems[h.index],e=i>=h.limitDelta;k=e!==t.visible,t.setVisible(e,h.size)}if(!k&&c){const t=this.viewItems[c.index],e=it+i.size),0);let e=this.size-i;const s=x(this.viewItems.length-1,-1),n=s.filter((t=>1===this.viewItems[t].priority)),o=s.filter((t=>2===this.viewItems[t].priority));for(const t of o)S(s,t);for(const t of n)D(s,t);"number"==typeof t&&D(s,t);for(let t=0;0!==e&&tt+i.size),0);let t=0;for(const i of this.viewItems)i.layout(t,this.layoutContext),t+=i.size;this.sashItems.forEach((t=>t.sash.layout())),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.scrollableElement.setScrollDimensions(0===this.orientation?{height:this.size,scrollHeight:this._contentSize}:{width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let t=!1;const i=this.viewItems.map((i=>t=i.size-i.minimumSize>0||t));t=!1;const e=this.viewItems.map((i=>t=i.maximumSize-i.size>0||t)),s=[...this.viewItems].reverse();t=!1;const n=s.map((i=>t=i.size-i.minimumSize>0||t)).reverse();t=!1;const o=s.map((i=>t=i.maximumSize-i.size>0||t)).reverse();let r=0;for(let t=0;t0||this.startSnappingEnabled)?1:"number"==typeof c&&!this.viewItems[c].visible&&i[t]&&(r0)return;if(!t.visible&&t.snap)return i}}areViewsDistributed(){let t,i;for(const e of this.viewItems)if(t=void 0===t?e.size:Math.min(t,e.size),i=void 0===i?e.size:Math.max(i,e.size),i-t>2)return!1;return!0}dispose(){var t;null===(t=this.sashDragState)||void 0===t||t.disposable.dispose(),Qi(this.viewItems),this.viewItems=[],this.sashItems.forEach((t=>t.disposable.dispose())),this.sashItems=[],super.dispose()}}class YP{constructor(t,i,e){this.columns=t,this.getColumnSize=e,this.templateId=YP.TemplateId,this.renderedTemplates=new Set;const s=new Map(i.map((t=>[t.templateId,t])));this.renderers=[];for(const i of t){const t=s.get(i.templateId);if(!t)throw new Error(`Table cell renderer for template id ${i.templateId} not found.`);this.renderers.push(t)}}renderTemplate(t){const i=Ol(t,$l(".monaco-table-tr")),e=[],s=[];for(let t=0;tnew XP(t,i))),h={size:r.reduce(((t,i)=>t+i.column.weight),0),views:r.map((t=>({size:t.column.weight,view:t})))};this.splitview=this.disposables.add(new JP(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:h})),this.splitview.el.style.height=`${e.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${e.headerRowHeight}px`;const c=new YP(s,n,(t=>this.splitview.getViewSize(t)));var a;this.list=this.disposables.add(new aB(t,this.domNode,(a=e,{getHeight:t=>a.getHeight(t),getTemplateId:()=>YP.TemplateId}),[c],o)),he.any(...r.map((t=>t.onDidLayout)))((([t,i])=>c.layoutColumn(t,i)),null,this.disposables),this.splitview.onDidSashReset((t=>{const i=s.reduce(((t,i)=>t+i.weight),0);this.splitview.resizeView(t,s[t].weight/i*this.cachedWidth)}),null,this.disposables),this.styleElement=vl(this.domNode),this.style(eB)}updateOptions(t){this.list.updateOptions(t)}splice(t,i,e=[]){this.list.splice(t,i,e)}getHTMLElement(){return this.domNode}style(t){const i=[];i.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=i.join("\n"),this.list.style(t)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}t$.InstanceCount=0;class i$ extends pk{constructor(t){super(),this._onChange=this._register(new de),this.onChange=this._onChange.event,this._onKeyDown=this._register(new de),this.onKeyDown=this._onKeyDown.event,this._opts=t,this._checked=this._opts.isChecked;const i=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,i.push(...Cr.asClassNameArray(this._icon))),this._opts.actionClassName&&i.push(...this._opts.actionClassName.split(" ")),this._checked&&i.push("checked"),this.domNode=document.createElement("div"),this.domNode.title=this._opts.title,this.domNode.classList.add(...i),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,(t=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),t.preventDefault())})),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,(t=>{if(10===t.keyCode||3===t.keyCode)return this.checked=!this._checked,this._onChange.fire(!0),t.preventDefault(),void t.stopPropagation();this._onKeyDown.fire(t)}))}get enabled(){return"true"!==this.domNode.getAttribute("aria-disabled")}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(t){this._checked=t,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}const e$=ot(0,"Match Case"),s$=ot(0,"Match Whole Word"),n$=ot(0,"Use Regular Expression");class o$ extends i${constructor(t){super({icon:Os.caseSensitive,title:e$+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class r$ extends i${constructor(t){super({icon:Os.wholeWord,title:s$+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class h$ extends i${constructor(t){super({icon:Os.regex,title:n$+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class c${constructor(t,i=0,e=t.length,s=i-1){this.items=t,this.start=i,this.end=e,this.index=s}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class a${constructor(t=[],i=10){this._initialize(t),this._limit=i,this._onChange()}getHistory(){return this._elements}add(t){this._history.delete(t),this._history.add(t),this._onChange()}next(){return this._navigator.next()}previous(){return 0!==this._currentPosition()?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return null===this._navigator.current()}has(t){return this._history.has(t)}_onChange(){this._reduceToLimit();const t=this._elements;this._navigator=new c$(t,0,t.length,t.length)}_reduceToLimit(){const t=this._elements;t.length>this._limit&&this._initialize(t.slice(t.length-this._limit))}_currentPosition(){const t=this._navigator.current();return t?this._elements.indexOf(t):-1}_initialize(t){this._history=new Set;for(const i of t)this._history.add(i)}get _elements(){const t=[];return this._history.forEach((i=>t.push(i))),t}}const l$=$l;class u$ extends pk{constructor(t,i,e){var s;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new de),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new de),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=i,this.options=e,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=null!==(s=this.options.tooltip)&&void 0!==s?s:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=Ol(t,l$(".monaco-inputbox.idle"));const n=this.options.flexibleHeight?"textarea":"input",o=Ol(this.element,l$(".ibwrapper"));if(this.input=Ol(o,l$(n+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,(()=>this.element.classList.add("synthetic-focus"))),this.onblur(this.input,(()=>this.element.classList.remove("synthetic-focus"))),this.options.flexibleHeight){this.maxHeight="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=Ol(o,l$("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new Lk(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),Ol(t,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll((t=>this.input.scrollTop=t.scrollTop)));const i=this._register(new Bk(t.ownerDocument,"selectionchange")),e=he.filter(i.event,(()=>{const i=t.ownerDocument.getSelection();return(null==i?void 0:i.anchorNode)===o}));this._register(e(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,(()=>this.onValueChange())),this.onblur(this.input,(()=>this.onBlur())),this.onfocus(this.input,(()=>this.onFocus())),this._register(this.ignoreGesture(this.input)),setTimeout((()=>this.updateMirror()),0),this.options.actions&&(this.actionbar=this._register(new YB(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(t){this.placeholder=t,this.input.setAttribute("placeholder",t)}setTooltip(t){this.tooltip=t,this.input.title=t}get inputElement(){return this.input}get value(){return this.input.value}set value(t){this.input.value!==t&&(this.input.value=t,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:cl(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return gl(this.input)}select(t=null){this.input.select(),t&&(this.input.setSelectionRange(t.start,t.end),t.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(t){this.input.style.width=`calc(100% - ${t}px)`,this.mirror&&(this.mirror.style.paddingRight=t+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;const t=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:this.cachedContentHeight,height:this.cachedHeight}),this.scrollableElement.setScrollPosition({scrollTop:t})}showMessage(t,i){if("open"===this.state&&it(this.message,t))return;this.message=t,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(t.type));const e=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${ql(e.border,"transparent")}`,this.message.content&&(this.hasFocus()||i)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let t=null;return this.validation&&(t=this.validation(this.value),t?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(t)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),null==t?void 0:t.type}stylesForType(t){const i=this.options.inputBoxStyles;switch(t){case 1:return{border:i.inputValidationInfoBorder,background:i.inputValidationInfoBackground,foreground:i.inputValidationInfoForeground};case 2:return{border:i.inputValidationWarningBorder,background:i.inputValidationWarningBackground,foreground:i.inputValidationWarningForeground};default:return{border:i.inputValidationErrorBorder,background:i.inputValidationErrorBackground,foreground:i.inputValidationErrorForeground}}}classForType(t){switch(t){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let t;const i=()=>t.style.width=ol(this.element)+"px";let e;this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:e=>{var s,n;if(!this.message)return null;t=Ol(e,l$(".monaco-inputbox-container")),i();const o={inline:!0,className:"monaco-inputbox-message"},r=this.message.formatContent?H_(this.message.content,o):function(t,i={}){const e=V_(i);return e.textContent=t,e}(this.message.content,o);r.classList.add(this.classForType(this.message.type));const h=this.stylesForType(this.message.type);return r.style.backgroundColor=null!==(s=h.background)&&void 0!==s?s:"",r.style.color=null!==(n=h.foreground)&&void 0!==n?n:"",r.style.border=h.border?`1px solid ${h.border}`:"",Ol(t,r),null},onHide:()=>{this.state="closed"},layout:i}),e=ot(0,3===this.message.type?"Error: {0}":2===this.message.type?"Warning: {0}":"Info: {0}",this.message.content),Pm(e),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const t=this.value,i=10===t.charCodeAt(t.length-1)?" ":"";(t+i).replace(/\u000c/g,"")?this.mirror.textContent=t+i:this.mirror.innerText=" ",this.layout()}applyStyles(){var t,i,e;const s=this.options.inputBoxStyles,n=null!==(t=s.inputBackground)&&void 0!==t?t:"",o=null!==(i=s.inputForeground)&&void 0!==i?i:"",r=null!==(e=s.inputBorder)&&void 0!==e?e:"";this.element.style.backgroundColor=n,this.element.style.color=o,this.input.style.backgroundColor="inherit",this.input.style.color=o,this.element.style.border=`1px solid ${ql(r,"transparent")}`}layout(){if(!this.mirror)return;const t=this.cachedContentHeight;this.cachedContentHeight=cl(this.mirror),t!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(t){const i=this.inputElement,e=i.selectionStart,s=i.selectionEnd,n=i.value;null!==e&&null!==s&&(this.value=n.substr(0,e)+t+n.substr(s),i.setSelectionRange(e+1,e+1),this.layout())}dispose(){var t;this._hideMessage(),this.message=null,null===(t=this.actionbar)||void 0===t||t.dispose(),super.dispose()}}class d$ extends u${constructor(t,i,e){const s=ot(0," or {0} for history","⇅"),n=ot(0," ({0} for history)","⇅");super(t,i,e),this._onDidFocus=this._register(new de),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new de),this.onDidBlur=this._onDidBlur.event,this.history=new a$(e.history,100);const o=()=>{if(e.showHistoryHint&&e.showHistoryHint()&&!this.placeholder.endsWith(s)&&!this.placeholder.endsWith(n)&&this.history.getHistory().length){const t=this.placeholder.endsWith(")")?s:n,i=this.placeholder+t;e.showPlaceholderOnFocus&&!gl(this.input)?this.placeholder=i:this.setPlaceHolder(i)}};this.observer=new MutationObserver((t=>{t.forEach((t=>{t.target.textContent||o()}))})),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,(()=>o())),this.onblur(this.input,(()=>{const t=t=>{if(this.placeholder.endsWith(t)){const i=this.placeholder.slice(0,this.placeholder.length-t.length);return e.showPlaceholderOnFocus?this.placeholder=i:this.setPlaceHolder(i),!0}return!1};t(n)||t(s)}))}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(t){this.value&&(t||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let t=this.getNextValue();t&&(t=t===this.value?this.getNextValue():t),this.value=null!=t?t:"",$m(this.value?this.value:ot(0,"Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let t=this.getPreviousValue();t&&(t=t===this.value?this.getPreviousValue():t),t&&(this.value=t,$m(this.value))}setPlaceHolder(t){super.setPlaceHolder(t),this.setTooltip(t)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let t=this.history.current();return t||(t=this.history.last(),this.history.next()),t}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const f$=ot(0,"input");class p$ extends pk{constructor(t,i,e){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new ie),this.additionalToggles=[],this._onDidOptionChange=this._register(new de),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new de),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new de),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new de),this._onKeyUp=this._register(new de),this._onCaseSensitiveKeyDown=this._register(new de),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new de),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=e.placeholder||"",this.validation=e.validation,this.label=e.label||f$,this.showCommonFindToggles=!!e.showCommonFindToggles;const s=e.appendCaseSensitiveLabel||"",n=e.appendWholeWordsLabel||"",o=e.appendRegexLabel||"",r=e.history||[],h=!!e.flexibleHeight,c=!!e.flexibleWidth,a=e.flexibleMaxHeight;if(this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new d$(this.domNode,i,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:e.showHistoryHint,flexibleHeight:h,flexibleWidth:c,flexibleMaxHeight:a,inputBoxStyles:e.inputBoxStyles})),this.showCommonFindToggles){this.regex=this._register(new h$({appendTitle:o,isChecked:!1,...e.toggleStyles})),this._register(this.regex.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.regex.onKeyDown((t=>{this._onRegexKeyDown.fire(t)}))),this.wholeWords=this._register(new r$({appendTitle:n,isChecked:!1,...e.toggleStyles})),this._register(this.wholeWords.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this.caseSensitive=this._register(new o$({appendTitle:s,isChecked:!1,...e.toggleStyles})),this._register(this.caseSensitive.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.caseSensitive.onKeyDown((t=>{this._onCaseSensitiveKeyDown.fire(t)})));const t=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(i=>{if(i.equals(15)||i.equals(17)||i.equals(9)){const e=t.indexOf(this.domNode.ownerDocument.activeElement);if(e>=0){let s=-1;i.equals(17)?s=(e+1)%t.length:i.equals(15)&&(s=0===e?t.length-1:e-1),i.equals(9)?(t[e].blur(),this.inputBox.focus()):s>=0&&t[s].focus(),Fl(i,!0)}}}))}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(null==e?void 0:e.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),null==t||t.appendChild(this.domNode),this._register(Va(this.inputBox.inputElement,"compositionstart",(()=>{this.imeSessionInProgress=!0}))),this._register(Va(this.inputBox.inputElement,"compositionend",(()=>{this.imeSessionInProgress=!1,this._onInput.fire()}))),this.onkeydown(this.inputBox.inputElement,(t=>this._onKeyDown.fire(t))),this.onkeyup(this.inputBox.inputElement,(t=>this._onKeyUp.fire(t))),this.oninput(this.inputBox.inputElement,(()=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(t=>this._onMouseDown.fire(t)))}get onDidChange(){return this.inputBox.onDidChange}layout(t){this.inputBox.layout(),this.updateInputBoxPadding(t.collapsedFindWidget)}enable(){var t,i,e;this.domNode.classList.remove("disabled"),this.inputBox.enable(),null===(t=this.regex)||void 0===t||t.enable(),null===(i=this.wholeWords)||void 0===i||i.enable(),null===(e=this.caseSensitive)||void 0===e||e.enable();for(const t of this.additionalToggles)t.enable()}disable(){var t,i,e;this.domNode.classList.add("disabled"),this.inputBox.disable(),null===(t=this.regex)||void 0===t||t.disable(),null===(i=this.wholeWords)||void 0===i||i.disable(),null===(e=this.caseSensitive)||void 0===e||e.disable();for(const t of this.additionalToggles)t.disable()}setFocusInputOnOptionClick(t){this.fixFocusOnOptionClickEnabled=t}setEnabled(t){t?this.enable():this.disable()}setAdditionalToggles(t){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new Xi;for(const i of null!=t?t:[])this.additionalTogglesDisposables.value.add(i),this.controls.appendChild(i.domNode),this.additionalTogglesDisposables.value.add(i.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()}))),this.additionalToggles.push(i);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(t=!1){var i,e,s,n,o,r;this.inputBox.paddingRight=t?0:(null!==(e=null===(i=this.caseSensitive)||void 0===i?void 0:i.width())&&void 0!==e?e:0)+(null!==(n=null===(s=this.wholeWords)||void 0===s?void 0:s.width())&&void 0!==n?n:0)+(null!==(r=null===(o=this.regex)||void 0===o?void 0:o.width())&&void 0!==r?r:0)+this.additionalToggles.reduce(((t,i)=>t+i.width()),0)}getValue(){return this.inputBox.value}setValue(t){this.inputBox.value!==t&&(this.inputBox.value=t)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var t,i;return null!==(i=null===(t=this.caseSensitive)||void 0===t?void 0:t.checked)&&void 0!==i&&i}setCaseSensitive(t){this.caseSensitive&&(this.caseSensitive.checked=t)}getWholeWords(){var t,i;return null!==(i=null===(t=this.wholeWords)||void 0===t?void 0:t.checked)&&void 0!==i&&i}setWholeWords(t){this.wholeWords&&(this.wholeWords.checked=t)}getRegex(){var t,i;return null!==(i=null===(t=this.regex)||void 0===t?void 0:t.checked)&&void 0!==i&&i}setRegex(t){this.regex&&(this.regex.checked=t,this.validate())}focusOnCaseSensitive(){var t;null===(t=this.caseSensitive)||void 0===t||t.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(t){this.inputBox.showMessage(t)}clearMessage(){this.inputBox.hideMessage()}}var g$,m$,w$,v$,b$;!function(t){t[t.Expanded=0]="Expanded",t[t.Collapsed=1]="Collapsed",t[t.PreserveOrExpanded=2]="PreserveOrExpanded",t[t.PreserveOrCollapsed=3]="PreserveOrCollapsed"}(g$||(g$={})),function(t){t[t.Unknown=0]="Unknown",t[t.Twistie=1]="Twistie",t[t.Element=2]="Element",t[t.Filter=3]="Filter"}(m$||(m$={}));class y$ extends Error{constructor(t,i){super(`TreeError [${t}] ${i}`)}}class k${constructor(t){this.fn=t,this._map=new WeakMap}map(t){let i=this._map.get(t);return i||(i=this.fn(t),this._map.set(t,i)),i}}function x$(t){return"object"==typeof t&&"visibility"in t&&"data"in t}function C$(t){switch(t){case!0:return 1;case!1:return 0;default:return t}}function S$(t){return"boolean"==typeof t.collapsible}class D${constructor(t,i,e,s={}){this.user=t,this.list=i,this.rootRef=[],this.eventBufferer=new ve,this._onDidChangeCollapseState=new de,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new de,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new de,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new hc(ec),this.collapseByDefault=void 0!==s.collapseByDefault&&s.collapseByDefault,this.filter=s.filter,this.autoExpandSingleChildren=void 0!==s.autoExpandSingleChildren&&s.autoExpandSingleChildren,this.root={parent:void 0,element:e,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(t,i,e=Ht.empty(),s={}){if(0===t.length)throw new y$(this.user,"Invalid tree location");s.diffIdentityProvider?this.spliceSmart(s.diffIdentityProvider,t,i,e,s):this.spliceSimple(t,i,e,s)}spliceSmart(t,i,e,s,n,o){var r;void 0===s&&(s=Ht.empty()),void 0===o&&(o=null!==(r=n.diffDepth)&&void 0!==r?r:0);const{parentNode:h}=this.getParentNodeWithListIndex(i);if(!h.lastDiffIds)return this.spliceSimple(i,e,s,n);const c=[...s],a=i[i.length-1],l=new vf({getElements:()=>h.lastDiffIds},{getElements:()=>[...h.children.slice(0,a),...c,...h.children.slice(a+e)].map((i=>t.getId(i.element).toString()))}).ComputeDiff(!1);if(l.quitEarly)return h.lastDiffIds=void 0,this.spliceSimple(i,e,c,n);const u=i.slice(0,-1),d=(i,e,s)=>{if(o>0)for(let r=0;ri.originalStart-t.originalStart)))d(f,p,f-(t.originalStart+t.originalLength)),f=t.originalStart,p=t.modifiedStart-a,this.spliceSimple([...u,f],t.originalLength,Ht.slice(c,p,p+t.modifiedLength),n);d(f,p,f)}spliceSimple(t,i,e=Ht.empty(),{onDidCreateNode:s,onDidDeleteNode:n,diffIdentityProvider:o}){const{parentNode:r,listIndex:h,revealed:c,visible:a}=this.getParentNodeWithListIndex(t),l=[],u=Ht.map(e,(t=>this.createTreeNode(t,r,r.visible?1:0,c,l,s))),d=t[t.length-1],f=r.children.length>0;let p=0;for(let t=d;t>=0&&to.getId(t.element).toString()))):r.lastDiffIds=r.children.map((t=>o.getId(t.element).toString())):r.lastDiffIds=void 0;let b=0;for(const t of v)t.visible&&b++;if(0!==b)for(let t=d+g.length;tt+(i.visible?i.renderNodeCount:0)),0);this._updateAncestorsRenderNodeCount(r,w-t),this.list.splice(h,t,l)}if(v.length>0&&n){const t=i=>{n(i),i.children.forEach(t)};v.forEach(t)}this._onDidSplice.fire({insertedNodes:g,deletedNodes:v});const y=r.children.length>0;f!==y&&this.setCollapsible(t.slice(0,-1),y);let k=r;for(;k;){if(2===k.visibility){this.refilterDelayer.trigger((()=>this.refilter()));break}k=k.parent}}rerender(t){if(0===t.length)throw new y$(this.user,"Invalid tree location");const{node:i,listIndex:e,revealed:s}=this.getTreeNodeWithListIndex(t);i.visible&&s&&this.list.splice(e,1,[i])}has(t){return this.hasTreeNode(t)}getListIndex(t){const{listIndex:i,visible:e,revealed:s}=this.getTreeNodeWithListIndex(t);return e&&s?i:-1}getListRenderCount(t){return this.getTreeNode(t).renderNodeCount}isCollapsible(t){return this.getTreeNode(t).collapsible}setCollapsible(t,i){const e=this.getTreeNode(t);void 0===i&&(i=!e.collapsible);const s={collapsible:i};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(t,s)))}isCollapsed(t){return this.getTreeNode(t).collapsed}setCollapsed(t,i,e){const s=this.getTreeNode(t);void 0===i&&(i=!s.collapsed);const n={collapsed:i,recursive:e||!1};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(t,n)))}_setCollapseState(t,i){const{node:e,listIndex:s,revealed:n}=this.getTreeNodeWithListIndex(t),o=this._setListNodeCollapseState(e,s,n,i);if(e!==this.root&&this.autoExpandSingleChildren&&o&&!S$(i)&&e.collapsible&&!e.collapsed&&!i.recursive){let s=-1;for(let t=0;t-1){s=-1;break}s=t}s>-1&&this._setCollapseState([...t,s],i)}return o}_setListNodeCollapseState(t,i,e,s){const n=this._setNodeCollapseState(t,s,!1);if(!e||!t.visible||!n)return n;const o=t.renderNodeCount,r=this.updateNodeAfterCollapseChange(t);return this.list.splice(i+1,o-(-1===i?0:1),r.slice(1)),n}_setNodeCollapseState(t,i,e){let s;if(t===this.root?s=!1:(S$(i)?(s=t.collapsible!==i.collapsible,t.collapsible=i.collapsible):t.collapsible?(s=t.collapsed!==i.collapsed,t.collapsed=i.collapsed):s=!1,s&&this._onDidChangeCollapseState.fire({node:t,deep:e})),!S$(i)&&i.recursive)for(const e of t.children)s=this._setNodeCollapseState(e,i,!0)||s;return s}expandTo(t){this.eventBufferer.bufferEvents((()=>{let i=this.getTreeNode(t);for(;i.parent;)i=i.parent,t=t.slice(0,t.length-1),i.collapsed&&this._setCollapseState(t,{collapsed:!1,recursive:!1})}))}refilter(){const t=this.root.renderNodeCount,i=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,t,i),this.refilterDelayer.cancel()}createTreeNode(t,i,e,s,n,o){const r={parent:i,element:t.element,children:[],depth:i.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:"boolean"==typeof t.collapsible?t.collapsible:void 0!==t.collapsed,collapsed:void 0===t.collapsed?this.collapseByDefault:t.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},h=this._filterNode(r,e);r.visibility=h,s&&n.push(r);const c=t.children||Ht.empty(),a=s&&0!==h&&!r.collapsed;let l=0,u=1;for(const t of c){const i=this.createTreeNode(t,r,h,a,n,o);r.children.push(i),u+=i.renderNodeCount,i.visible&&(i.visibleChildIndex=l++)}return r.collapsible=r.collapsible||r.children.length>0,r.visibleChildrenCount=l,r.visible=2===h?l>0:1===h,r.visible?r.collapsed||(r.renderNodeCount=u):(r.renderNodeCount=0,s&&n.pop()),null==o||o(r),r}updateNodeAfterCollapseChange(t){const i=t.renderNodeCount,e=[];return this._updateNodeAfterCollapseChange(t,e),this._updateAncestorsRenderNodeCount(t.parent,e.length-i),e}_updateNodeAfterCollapseChange(t,i){if(!1===t.visible)return 0;if(i.push(t),t.renderNodeCount=1,!t.collapsed)for(const e of t.children)t.renderNodeCount+=this._updateNodeAfterCollapseChange(e,i);return this._onDidChangeRenderNodeCount.fire(t),t.renderNodeCount}updateNodeAfterFilterChange(t){const i=t.renderNodeCount,e=[];return this._updateNodeAfterFilterChange(t,t.visible?1:0,e),this._updateAncestorsRenderNodeCount(t.parent,e.length-i),e}_updateNodeAfterFilterChange(t,i,e,s=!0){let n;if(t!==this.root){if(n=this._filterNode(t,i),0===n)return t.visible=!1,t.renderNodeCount=0,!1;s&&e.push(t)}const o=e.length;t.renderNodeCount=t===this.root?0:1;let r=!1;if(t.collapsed&&0===n)t.visibleChildrenCount=0;else{let i=0;for(const o of t.children)r=this._updateNodeAfterFilterChange(o,n,e,s&&!t.collapsed)||r,o.visible&&(o.visibleChildIndex=i++);t.visibleChildrenCount=i}return t!==this.root&&(t.visible=2===n?r:1===n,t.visibility=n),t.visible?t.collapsed||(t.renderNodeCount+=e.length-o):(t.renderNodeCount=0,s&&e.pop()),this._onDidChangeRenderNodeCount.fire(t),t.visible}_updateAncestorsRenderNodeCount(t,i){if(0!==i)for(;t;)t.renderNodeCount+=i,this._onDidChangeRenderNodeCount.fire(t),t=t.parent}_filterNode(t,i){const e=this.filter?this.filter.filter(t.element,i):1;return"boolean"==typeof e?(t.filterData=void 0,e?1:0):x$(e)?(t.filterData=e.data,C$(e.visibility)):(t.filterData=void 0,C$(e))}hasTreeNode(t,i=this.root){if(!t||0===t.length)return!0;const[e,...s]=t;return!(e<0||e>i.children.length)&&this.hasTreeNode(s,i.children[e])}getTreeNode(t,i=this.root){if(!t||0===t.length)return i;const[e,...s]=t;if(e<0||e>i.children.length)throw new y$(this.user,"Invalid tree location");return this.getTreeNode(s,i.children[e])}getTreeNodeWithListIndex(t){if(0===t.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:i,listIndex:e,revealed:s,visible:n}=this.getParentNodeWithListIndex(t),o=t[t.length-1];if(o<0||o>i.children.length)throw new y$(this.user,"Invalid tree location");const r=i.children[o];return{node:r,listIndex:e,revealed:s,visible:n&&r.visible}}getParentNodeWithListIndex(t,i=this.root,e=0,s=!0,n=!0){const[o,...r]=t;if(o<0||o>i.children.length)throw new y$(this.user,"Invalid tree location");for(let t=0;tt.element))),this.data=t}}function A$(t){return t instanceof TN?new E$(t):t}class M${constructor(t,i){this.modelProvider=t,this.dnd=i,this.autoExpandDisposable=te.None,this.disposables=new Xi}getDragURI(t){return this.dnd.getDragURI(t.element)}getDragLabel(t,i){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(t.map((t=>t.element)),i)}onDragStart(t,i){var e,s;null===(s=(e=this.dnd).onDragStart)||void 0===s||s.call(e,A$(t),i)}onDragOver(t,i,e,s,n=!0){const o=this.dnd.onDragOver(A$(t),i&&i.element,e,s),r=this.autoExpandNode!==i;if(r&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=i),void 0===i)return o;if(r&&"boolean"!=typeof o&&o.autoExpand&&(this.autoExpandDisposable=lc((()=>{const t=this.modelProvider(),e=t.getNodeLocation(i);t.isCollapsed(e)&&t.setCollapsed(e,!1),this.autoExpandNode=void 0}),500,this.disposables)),"boolean"==typeof o||!o.accept||void 0===o.bubble||o.feedback)return n?o:{accept:"boolean"==typeof o?o:o.accept,effect:"boolean"==typeof o?void 0:o.effect,feedback:[e]};if(1===o.bubble){const e=this.modelProvider(),n=e.getNodeLocation(i),o=e.getParentNodeLocation(n),r=e.getNode(o),h=o&&e.getListIndex(o);return this.onDragOver(t,r,h,s,!1)}const h=this.modelProvider(),c=h.getNodeLocation(i),a=h.getListIndex(c),l=h.getListRenderCount(c);return{...o,feedback:x(a,a+l)}}drop(t,i,e,s){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(A$(t),i&&i.element,e,s)}onDragEnd(t){var i,e;null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}class L${constructor(t){this.delegate=t}getHeight(t){return this.delegate.getHeight(t.element)}getTemplateId(t){return this.delegate.getTemplateId(t.element)}hasDynamicHeight(t){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(t.element)}setDynamicHeight(t,i){var e,s;null===(s=(e=this.delegate).setDynamicHeight)||void 0===s||s.call(e,t.element,i)}}!function(t){t.None="none",t.OnHover="onHover",t.Always="always"}(w$||(w$={}));class F${get elements(){return this._elements}constructor(t,i=[]){this._elements=i,this.disposables=new Xi,this.onDidChange=he.forEach(t,(t=>this._elements=t),this.disposables)}dispose(){this.disposables.dispose()}}class T${constructor(t,i,e,s,n,o={}){var r;this.renderer=t,this.modelProvider=i,this.activeNodes=s,this.renderedIndentGuides=n,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=T$.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=te.None,this.disposables=new Xi,this.templateId=t.templateId,this.updateOptions(o),he.map(e,(t=>t.node))(this.onDidChangeNodeTwistieState,this,this.disposables),null===(r=t.onDidChangeTwistieState)||void 0===r||r.call(t,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(t={}){if(void 0!==t.indent){const i=lR(t.indent,0,40);if(i!==this.indent){this.indent=i;for(const[t,i]of this.renderedNodes)this.renderTreeElement(t,i)}}if(void 0!==t.renderIndentGuides){const i=t.renderIndentGuides!==w$.None;if(i!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=i;for(const[t,i]of this.renderedNodes)this._renderIndentGuides(t,i);if(this.indentGuidesDisposable.dispose(),i){const t=new Xi;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,t),this.indentGuidesDisposable=t,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}void 0!==t.hideTwistiesOfChildlessElements&&(this.hideTwistiesOfChildlessElements=t.hideTwistiesOfChildlessElements)}renderTemplate(t){const i=Ol(t,$l(".monaco-tl-row")),e=Ol(i,$l(".monaco-tl-indent")),s=Ol(i,$l(".monaco-tl-twistie")),n=Ol(i,$l(".monaco-tl-contents")),o=this.renderer.renderTemplate(n);return{container:t,indent:e,twistie:s,indentGuidesDisposable:te.None,templateData:o}}renderElement(t,i,e,s){this.renderedNodes.set(t,e),this.renderedElements.set(t.element,t),this.renderTreeElement(t,e),this.renderer.renderElement(t,i,e.templateData,s)}disposeElement(t,i,e,s){var n,o;e.indentGuidesDisposable.dispose(),null===(o=(n=this.renderer).disposeElement)||void 0===o||o.call(n,t,i,e.templateData,s),"number"==typeof s&&(this.renderedNodes.delete(t),this.renderedElements.delete(t.element))}disposeTemplate(t){this.renderer.disposeTemplate(t.templateData)}onDidChangeTwistieState(t){const i=this.renderedElements.get(t);i&&this.onDidChangeNodeTwistieState(i)}onDidChangeNodeTwistieState(t){const i=this.renderedNodes.get(t);i&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(t,i))}renderTreeElement(t,i){const e=T$.DefaultIndent+(t.depth-1)*this.indent;i.twistie.style.paddingLeft=`${e}px`,i.indent.style.width=e+this.indent-16+"px",t.collapsible?i.container.setAttribute("aria-expanded",String(!t.collapsed)):i.container.removeAttribute("aria-expanded"),i.twistie.classList.remove(...Cr.asClassNameArray(Os.treeItemExpanded));let s=!1;this.renderer.renderTwistie&&(s=this.renderer.renderTwistie(t.element,i.twistie)),t.collapsible&&(!this.hideTwistiesOfChildlessElements||t.visibleChildrenCount>0)?(s||i.twistie.classList.add(...Cr.asClassNameArray(Os.treeItemExpanded)),i.twistie.classList.add("collapsible"),i.twistie.classList.toggle("collapsed",t.collapsed)):i.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(t,i)}_renderIndentGuides(t,i){if(za(i.indent),i.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const e=new Xi,s=this.modelProvider();for(;;){const n=s.getNodeLocation(t),o=s.getParentNodeLocation(n);if(!o)break;const r=s.getNode(o),h=$l(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(r)&&h.classList.add("active"),0===i.indent.childElementCount?i.indent.appendChild(h):i.indent.insertBefore(h,i.indent.firstElementChild),this.renderedIndentGuides.add(r,h),e.add(Yi((()=>this.renderedIndentGuides.delete(r,h)))),t=r}i.indentGuidesDisposable=e}_onDidChangeActiveNodes(t){if(!this.shouldRenderIndentGuides)return;const i=new Set,e=this.modelProvider();t.forEach((t=>{const s=e.getNodeLocation(t);try{const n=e.getParentNodeLocation(s);t.collapsible&&t.children.length>0&&!t.collapsed?i.add(t):n&&i.add(e.getNode(n))}catch(t){}})),this.activeIndentNodes.forEach((t=>{i.has(t)||this.renderedIndentGuides.forEach(t,(t=>t.classList.remove("active")))})),i.forEach((t=>{this.activeIndentNodes.has(t)||this.renderedIndentGuides.forEach(t,(t=>t.classList.add("active")))})),this.activeIndentNodes=i}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),Qi(this.disposables)}}T$.DefaultIndent=8;class R${get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(t,i,e){this.tree=t,this.keyboardNavigationLabelProvider=i,this._filter=e,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new Xi,t.onWillRefilter(this.reset,this,this.disposables)}filter(t,i){let e=1;if(this._filter){const s=this._filter.filter(t,i);if(e="boolean"==typeof s?s?1:0:x$(s)?C$(s.visibility):s,0===e)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:x_.Default,visibility:e};const s=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t),n=Array.isArray(s)?s:[s];for(const t of n){const i=t&&t.toString();if(void 0===i)return{data:x_.Default,visibility:e};let s;if(this.tree.findMatchType===b$.Contiguous){const t=i.toLowerCase().indexOf(this._lowercasePattern);if(t>-1){s=[Number.MAX_SAFE_INTEGER,0];for(let i=this._lowercasePattern.length;i>0;i--)s.push(t+i-1)}}else s=S_(this._pattern,this._lowercasePattern,0,i,i.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(s)return this._matchCount++,1===n.length?{data:s,visibility:e}:{data:{label:i,score:s},visibility:e}}return this.tree.findMode===v$.Filter?"number"==typeof this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(t):2:{data:x_.Default,visibility:e}}reset(){this._totalCount=0,this._matchCount=0}dispose(){Qi(this.disposables)}}!function(t){t[t.Highlight=0]="Highlight",t[t.Filter=1]="Filter"}(v$||(v$={})),function(t){t[t.Fuzzy=0]="Fuzzy",t[t.Contiguous=1]="Contiguous"}(b$||(b$={}));class O${get pattern(){return this._pattern}get mode(){return this._mode}set mode(t){t!==this._mode&&(this._mode=t,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(t))}get matchType(){return this._matchType}set matchType(t){t!==this._matchType&&(this._matchType=t,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(t))}constructor(t,i,e,s,n,o={}){var r,h;this.tree=t,this.view=e,this.filter=s,this.contextViewProvider=n,this.options=o,this._pattern="",this.width=0,this._onDidChangeMode=new de,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new de,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new de,this._onDidChangeOpenState=new de,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new Xi,this.disposables=new Xi,this._mode=null!==(r=t.options.defaultFindMode)&&void 0!==r?r:v$.Highlight,this._matchType=null!==(h=t.options.defaultFindMatchType)&&void 0!==h?h:b$.Fuzzy,i.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(t={}){void 0!==t.defaultFindMode&&(this.mode=t.defaultFindMode),void 0!==t.defaultFindMatchType&&(this.matchType=t.defaultFindMatchType)}onDidSpliceModel(){this.widget&&0!==this.pattern.length&&(this.tree.refilter(),this.render())}render(){var t,i,e,s;this.pattern&&this.filter.totalCount>0&&0===this.filter.matchCount?null===(t=this.tree.options.showNotFoundMessage)||void 0===t||t?null===(i=this.widget)||void 0===i||i.showMessage({type:2,content:ot(0,"No elements found.")}):null===(e=this.widget)||void 0===e||e.showMessage({type:2}):null===(s=this.widget)||void 0===s||s.clearMessage()}shouldAllowFocus(t){return!this.widget||!this.pattern||this._mode===v$.Filter||this.filter.totalCount>0&&this.filter.matchCount<=1||!x_.isDefault(t.filterData)}layout(t){var i;this.width=t,null===(i=this.widget)||void 0===i||i.layout(t)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function I$(t,i){return t.position===i.position&&t.node.element===i.node.element&&t.startIndex===i.startIndex&&t.height===i.height&&t.endIndex===i.endIndex}class _$ extends te{constructor(t=[]){super(),this.stickyNodes=t}get count(){return this.stickyNodes.length}equal(t){return l(this.stickyNodes,t.stickyNodes,I$)}addDisposable(t){this._register(t)}}class N$ extends te{get firstVisibleNode(){const t=this.view.firstVisibleIndex;if(!(t<0||t>=this.view.length))return this.view.element(t)}constructor(t,i,e,s,n,o={}){super(),this.tree=t,this.model=i,this.view=e,this.treeDelegate=n,this.maxWidgetViewRatio=.4;const r=this.validateStickySettings(o);this.stickyScrollMaxItemCount=r.stickyScrollMaxItemCount,this._widget=this._register(new B$(e.getScrollableElement(),e,i,s,n)),this._register(e.onDidScroll((()=>this.update()))),this._register(e.onDidChangeContentHeight((()=>this.update()))),this._register(t.onDidChangeCollapseState((()=>this.update()))),this.update()}update(){const t=this.firstVisibleNode;if(!t||0===this.tree.scrollTop)return void this._widget.setState(void 0);const i=this.findStickyState(t);this._widget.setState(i)}findStickyState(t){const i=[],e=this.view.renderHeight*this.maxWidgetViewRatio;let s=t,n=0,o=this.getNextStickyNode(s,void 0,n);for(;o&&n+o.height=this.stickyScrollMaxItemCount))&&(s=this.getNextVisibleNode(s),s);)o=this.getNextStickyNode(s,o.node,n);return i.length?new _$(i):void 0}getNextVisibleNode(t){const i=this.getNodeIndex(t);if(-1!==i&&i!==this.view.length-1)return this.view.element(i+1)}getNextStickyNode(t,i,e){const s=this.getAncestorUnderPrevious(t,i);if(s){if(s===t){if(!this.nodeIsUncollapsedParent(t))return;if(this.nodeTopAlignsWithStickyNodesBottom(t,e))return}return this.createStickyScrollNode(s,e)}}nodeTopAlignsWithStickyNodesBottom(t,i){const e=this.getNodeIndex(t),s=this.view.getElementTop(e);return this.view.scrollTop===s-i}createStickyScrollNode(t,i){const e=this.treeDelegate.getHeight(t),{startIndex:s,endIndex:n}=this.getNodeRange(t);return{node:t,position:this.calculateStickyNodePosition(n,i),height:e,startIndex:s,endIndex:n}}getAncestorUnderPrevious(t,i){let e=t,s=this.getParentNode(e);for(;s;){if(s===i)return e;e=s,s=this.getParentNode(e)}if(void 0===i)return e}calculateStickyNodePosition(t,i){let e=this.view.getRelativeTop(t);if(null===e&&this.view.firstVisibleIndex===t&&t+1o&&i<=o+n?o:i}getParentNode(t){const i=this.model.getNodeLocation(t),e=this.model.getParentNodeLocation(i);return e?this.model.getNode(e):void 0}nodeIsUncollapsedParent(t){const i=this.model.getNodeLocation(t);return this.model.getListRenderCount(i)>1}getNodeIndex(t,i){return void 0===i&&(i=this.model.getNodeLocation(t)),this.model.getListIndex(i)}getNodeRange(t){const i=this.model.getNodeLocation(t),e=this.model.getListIndex(i);if(e<0)throw new Error("Node not found in tree");return{startIndex:e,endIndex:e+this.model.getListRenderCount(i)-1}}nodePositionTopBelowWidget(t){const i=[];let e=this.getParentNode(t);for(;e;)i.push(e),e=this.getParentNode(e);let s=0;for(let t=0;t0,s=!!t&&t.count>0;if(!e&&!s||e&&s&&this._previousState.equal(t))return;if(e!==s&&this.setVisible(s),null===(i=this._previousState)||void 0===i||i.dispose(),this._previousState=t,!s)return;for(let i=t.count-1;i>=0;i--){const e=t.stickyNodes[i],s=i?t.stickyNodes[i-1]:void 0,n=s?s.position+s.height:0,{element:o,disposable:r}=this.createElement(e,n);this._rootDomNode.appendChild(o),t.addDisposable(r)}const n=$l(".monaco-tree-sticky-container-shadow");this._rootDomNode.appendChild(n),t.addDisposable(Yi((()=>n.remove())));const o=t.stickyNodes[t.count-1];this._rootDomNode.style.height=`${o.position+o.height}px`}createElement(t,i){const e=this.model.getNodeLocation(t.node),s=this.model.getListIndex(e),n=document.createElement("div");n.style.top=`${t.position}px`,n.style.height=`${t.height}px`,n.style.lineHeight=`${t.height}px`,n.classList.add("monaco-tree-sticky-row"),n.classList.add("monaco-list-row"),n.setAttribute("data-index",`${s}`),n.setAttribute("data-parity",s%2==0?"even":"odd"),n.setAttribute("id",this.view.getElementID(s));const o=this.treeDelegate.getTemplateId(t.node),r=this.treeRenderers.find((t=>t.templateId===o));if(!r)throw new Error(`No renderer found for template id ${o}`);const h=new Proxy(t.node,{}),c=r.renderTemplate(n);r.renderElement(h,t.startIndex,c,t.height);const a=Yi((()=>{r.disposeElement(h,t.startIndex,c,t.height),r.disposeTemplate(c),n.remove()}));return{element:n,disposable:a}}setVisible(t){this._rootDomNode.style.display=t?"block":"none"}dispose(){var t;null===(t=this._previousState)||void 0===t||t.dispose(),this._rootDomNode.remove()}}function P$(t){let i=m$.Unknown;return ll(t.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?i=m$.Twistie:ll(t.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?i=m$.Element:ll(t.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(i=m$.Filter),{browserEvent:t.browserEvent,element:t.element?t.element.element:null,target:i}}function $$(t,i){i(t),t.children.forEach((t=>$$(t,i)))}class W${get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(t,i){this.getFirstViewElementWithTrait=t,this.identityProvider=i,this.nodes=[],this._onDidChange=new de,this.onDidChange=this._onDidChange.event}set(t,i){!(null==i?void 0:i.__forceEvent)&&l(this.nodes,t)||this._set(t,!1,i)}_set(t,i,e){if(this.nodes=[...t],this.elements=void 0,this._nodeSet=void 0,!i){const t=this;this._onDidChange.fire({get elements(){return t.get()},browserEvent:e})}}get(){return this.elements||(this.elements=this.nodes.map((t=>t.element))),[...this.elements]}getNodes(){return this.nodes}has(t){return this.nodeSet.has(t)}onDidModelSplice({insertedNodes:t,deletedNodes:i}){if(!this.identityProvider){const t=this.createNodeSet(),e=i=>t.delete(i);return i.forEach((t=>$$(t,e))),void this.set([...t.values()])}const e=new Set,s=t=>e.add(this.identityProvider.getId(t.element).toString());i.forEach((t=>$$(t,s)));const n=new Map,o=t=>n.set(this.identityProvider.getId(t.element).toString(),t);t.forEach((t=>$$(t,o)));const r=[];for(const t of this.nodes){const i=this.identityProvider.getId(t.element).toString();if(e.has(i)){const t=n.get(i);t&&t.visible&&r.push(t)}else r.push(t)}if(this.nodes.length>0&&0===r.length){const t=this.getFirstViewElementWithTrait();t&&r.push(t)}this._set(r,!0)}createNodeSet(){const t=new Set;for(const i of this.nodes)t.add(i);return t}}class j$ extends tB{constructor(t,i,e){super(t),this.tree=i,this.stickyScrollProvider=e}onViewPointer(t){if(qN(t.browserEvent.target)||HN(t.browserEvent.target)||UN(t.browserEvent.target))return;if(t.browserEvent.isHandledByList)return;const i=t.element;if(!i)return super.onViewPointer(t);if(this.isSelectionRangeChangeEvent(t)||this.isSelectionSingleChangeEvent(t))return super.onViewPointer(t);const e=t.browserEvent.target,s=e.classList.contains("monaco-tl-twistie")||e.classList.contains("monaco-icon-label")&&e.classList.contains("folder-icon")&&t.browserEvent.offsetX<16,n=function(t){return VN(t,"monaco-tree-sticky-row")}(t.browserEvent.target);let o=!1;if(o=!!n||("function"==typeof this.tree.expandOnlyOnTwistieClick?this.tree.expandOnlyOnTwistieClick(i.element):!!this.tree.expandOnlyOnTwistieClick),n)this.handleStickyScrollMouseEvent(t,i);else{if(o&&!s&&2!==t.browserEvent.detail)return super.onViewPointer(t);if(!this.tree.expandOnDoubleClick&&2===t.browserEvent.detail)return super.onViewPointer(t)}if(i.collapsible&&(!n||s)){const e=this.tree.getNodeLocation(i),n=t.browserEvent.altKey;if(this.tree.setFocus([e]),this.tree.toggleCollapsed(e,n),o&&s)return void(t.browserEvent.isHandledByList=!0)}n||super.onViewPointer(t)}handleStickyScrollMouseEvent(t,i){if(function(t){return VN(t,"monaco-custom-toggle")}(t.browserEvent.target)||function(t){return VN(t,"action-item")}(t.browserEvent.target))return;const e=this.stickyScrollProvider();if(!e)throw new Error("Sticky scroll controller not found");const s=this.list.indexOf(i),n=this.list.getElementTop(s),o=e.nodePositionTopBelowWidget(i);this.tree.scrollTop=n-o,this.list.setFocus([s]),this.list.setSelection([s])}onDoubleClick(t){!t.browserEvent.target.classList.contains("monaco-tl-twistie")&&this.tree.expandOnDoubleClick&&(t.browserEvent.isHandledByList||super.onDoubleClick(t))}}class z$ extends aB{constructor(t,i,e,s,n,o,r,h){super(t,i,e,s,h),this.focusTrait=n,this.selectionTrait=o,this.anchorTrait=r}createMouseController(t){return new j$(this,t.tree,t.stickyScrollProvider)}splice(t,i,e=[]){if(super.splice(t,i,e),0===e.length)return;const s=[],n=[];let o;e.forEach(((i,e)=>{this.focusTrait.has(i)&&s.push(t+e),this.selectionTrait.has(i)&&n.push(t+e),this.anchorTrait.has(i)&&(o=t+e)})),s.length>0&&super.setFocus(y([...super.getFocus(),...s])),n.length>0&&super.setSelection(y([...super.getSelection(),...n])),"number"==typeof o&&super.setAnchor(o)}setFocus(t,i,e=!1){super.setFocus(t,i),e||this.focusTrait.set(t.map((t=>this.element(t))),i)}setSelection(t,i,e=!1){super.setSelection(t,i),e||this.selectionTrait.set(t.map((t=>this.element(t))),i)}setAnchor(t,i=!1){super.setAnchor(t),i||this.anchorTrait.set(void 0===t?[]:[this.element(t)])}}class H${get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return he.filter(he.map(this.view.onMouseDblClick,P$),(t=>t.target!==m$.Filter))}get onPointer(){return he.map(this.view.onPointer,P$)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return he.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var t,i;return null!==(i=null===(t=this.findController)||void 0===t?void 0:t.mode)&&void 0!==i?i:v$.Highlight}set findMode(t){this.findController&&(this.findController.mode=t)}get findMatchType(){var t,i;return null!==(i=null===(t=this.findController)||void 0===t?void 0:t.matchType)&&void 0!==i?i:b$.Fuzzy}set findMatchType(t){this.findController&&(this.findController.matchType=t)}get expandOnDoubleClick(){return void 0===this._options.expandOnDoubleClick||this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return void 0===this._options.expandOnlyOnTwistieClick||this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(t,i,e,s,n={}){var o;this._user=t,this._options=n,this.eventBufferer=new ve,this.onDidChangeFindOpenState=he.None,this.disposables=new Xi,this._onWillRefilter=new de,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new de,this.treeDelegate=new L$(e);const r=new be,h=new be,c=this.disposables.add(new F$(h.event)),a=new qp;this.renderers=s.map((t=>new T$(t,(()=>this.model),r.event,c,a,n)));for(const t of this.renderers)this.disposables.add(t);let l;var u,d;n.keyboardNavigationLabelProvider&&(l=new R$(this,n.keyboardNavigationLabelProvider,n.filter),n={...n,filter:l},this.disposables.add(l)),this.focus=new W$((()=>this.view.getFocusedElements()[0]),n.identityProvider),this.selection=new W$((()=>this.view.getSelectedElements()[0]),n.identityProvider),this.anchor=new W$((()=>this.view.getAnchorElement()),n.identityProvider),this.view=new z$(t,i,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...(u=()=>this.model,d=n,d&&{...d,identityProvider:d.identityProvider&&{getId:t=>d.identityProvider.getId(t.element)},dnd:d.dnd&&new M$(u,d.dnd),multipleSelectionController:d.multipleSelectionController&&{isSelectionSingleChangeEvent:t=>d.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element}),isSelectionRangeChangeEvent:t=>d.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})},accessibilityProvider:d.accessibilityProvider&&{...d.accessibilityProvider,getSetSize(t){const i=u(),e=i.getNodeLocation(t),s=i.getParentNodeLocation(e);return i.getNode(s).visibleChildrenCount},getPosInSet:t=>t.visibleChildIndex+1,isChecked:d.accessibilityProvider&&d.accessibilityProvider.isChecked?t=>d.accessibilityProvider.isChecked(t.element):void 0,getRole:d.accessibilityProvider&&d.accessibilityProvider.getRole?t=>d.accessibilityProvider.getRole(t.element):()=>"treeitem",getAriaLabel:t=>d.accessibilityProvider.getAriaLabel(t.element),getWidgetAriaLabel:()=>d.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:d.accessibilityProvider&&d.accessibilityProvider.getWidgetRole?()=>d.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:d.accessibilityProvider&&d.accessibilityProvider.getAriaLevel?t=>d.accessibilityProvider.getAriaLevel(t.element):t=>t.depth,getActiveDescendantId:d.accessibilityProvider.getActiveDescendantId&&(t=>d.accessibilityProvider.getActiveDescendantId(t.element))},keyboardNavigationLabelProvider:d.keyboardNavigationLabelProvider&&{...d.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:t=>d.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}}),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(t,this.view,n),r.input=this.model.onDidChangeCollapseState;const f=he.forEach(this.model.onDidSplice,(t=>{this.eventBufferer.bufferEvents((()=>{this.focus.onDidModelSplice(t),this.selection.onDidModelSplice(t)}))}),this.disposables);f((()=>null),null,this.disposables);const p=this.disposables.add(new de),g=this.disposables.add(new hc(0));if(this.disposables.add(he.any(f,this.focus.onDidChange,this.selection.onDidChange)((()=>{g.trigger((()=>{const t=new Set;for(const i of this.focus.getNodes())t.add(i);for(const i of this.selection.getNodes())t.add(i);p.fire([...t.values()])}))}))),h.input=p.event,!1!==n.keyboardSupport){const t=he.chain(this.view.onKeyDown,(t=>t.filter((t=>!HN(t.target))).map((t=>new Qh(t)))));he.chain(t,(t=>t.filter((t=>15===t.keyCode))))(this.onLeftArrow,this,this.disposables),he.chain(t,(t=>t.filter((t=>17===t.keyCode))))(this.onRightArrow,this,this.disposables),he.chain(t,(t=>t.filter((t=>10===t.keyCode))))(this.onSpace,this,this.disposables)}(null===(o=n.findWidgetEnabled)||void 0===o||o)&&n.keyboardNavigationLabelProvider&&n.contextViewProvider?(this.findController=new O$(this,this.model,this.view,l,n.contextViewProvider,this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0),this.focusNavigationFilter=t=>this.findController.shouldAllowFocus(t),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType):(this.onDidChangeFindMode=he.None,this.onDidChangeFindMatchType=he.None),n.enableStickyScroll&&(this.stickyScrollController=new N$(this,this.model,this.view,this.renderers,this.treeDelegate,n)),this.styleElement=vl(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===w$.Always)}updateOptions(t={}){var i;this._options={...this._options,...t};for(const i of this.renderers)i.updateOptions(t);this.view.updateOptions(this._options),null===(i=this.findController)||void 0===i||i.updateOptions(t),this.updateStickyScroll(t),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===w$.Always)}get options(){return this._options}updateStickyScroll(t){var i;!this.stickyScrollController&&this._options.enableStickyScroll?this.stickyScrollController=new N$(this,this.model,this.view,this.renderers,this.treeDelegate,this._options):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.stickyScrollController.dispose(),this.stickyScrollController=void 0),null===(i=this.stickyScrollController)||void 0===i||i.updateOptions(t)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(t){this.view.scrollTop=t}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}domFocus(){this.view.domFocus()}layout(t,i){var e;this.view.layout(t,i),W(i)&&(null===(e=this.findController)||void 0===e||e.layout(i))}style(t){const i=`.${this.view.domId}`,e=[];t.treeIndentGuidesStroke&&(e.push(`.monaco-list${i}:hover .monaco-tl-indent > .indent-guide, .monaco-list${i}.always .monaco-tl-indent > .indent-guide { border-color: ${t.treeInactiveIndentGuidesStroke}; }`),e.push(`.monaco-list${i} .monaco-tl-indent > .indent-guide.active { border-color: ${t.treeIndentGuidesStroke}; }`)),t.listBackground&&(e.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${t.listBackground}; }`),e.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${t.listBackground}; }`)),this.styleElement.textContent=e.join("\n"),this.view.style(t)}getParentElement(t){const i=this.model.getParentNodeLocation(t);return this.model.getNode(i).element}getFirstElementChild(t){return this.model.getFirstElementChild(t)}getNode(t){return this.model.getNode(t)}getNodeLocation(t){return this.model.getNodeLocation(t)}collapse(t,i=!1){return this.model.setCollapsed(t,!0,i)}expand(t,i=!1){return this.model.setCollapsed(t,!1,i)}toggleCollapsed(t,i=!1){return this.model.setCollapsed(t,void 0,i)}isCollapsible(t){return this.model.isCollapsible(t)}setCollapsible(t,i){return this.model.setCollapsible(t,i)}isCollapsed(t){return this.model.isCollapsed(t)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(t,i){const e=t.map((t=>this.model.getNode(t)));this.selection.set(e,i);const s=t.map((t=>this.model.getListIndex(t))).filter((t=>t>-1));this.view.setSelection(s,i,!0)}getSelection(){return this.selection.get()}setFocus(t,i){const e=t.map((t=>this.model.getNode(t)));this.focus.set(e,i);const s=t.map((t=>this.model.getListIndex(t))).filter((t=>t>-1));this.view.setFocus(s,i,!0)}getFocus(){return this.focus.get()}reveal(t,i){this.model.expandTo(t);const e=this.model.getListIndex(t);if(-1!==e)if(this.stickyScrollController){const s=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(t));this.view.reveal(e,i,s)}else this.view.reveal(e,i)}onLeftArrow(t){t.preventDefault(),t.stopPropagation();const i=this.view.getFocusedElements();if(0===i.length)return;const e=this.model.getNodeLocation(i[0]);if(!this.model.setCollapsed(e,!0)){const t=this.model.getParentNodeLocation(e);if(!t)return;const i=this.model.getListIndex(t);this.view.reveal(i),this.view.setFocus([i])}}onRightArrow(t){t.preventDefault(),t.stopPropagation();const i=this.view.getFocusedElements();if(0===i.length)return;const e=i[0],s=this.model.getNodeLocation(e);if(!this.model.setCollapsed(s,!1)){if(!e.children.some((t=>t.visible)))return;const[t]=this.view.getFocus(),i=t+1;this.view.reveal(i),this.view.setFocus([i])}}onSpace(t){t.preventDefault(),t.stopPropagation();const i=this.view.getFocusedElements();if(0===i.length)return;const e=this.model.getNodeLocation(i[0]);this.model.setCollapsed(e,void 0,t.browserEvent.altKey)}dispose(){var t;Qi(this.disposables),null===(t=this.stickyScrollController)||void 0===t||t.dispose(),this.view.dispose()}}class V${constructor(t,i,e={}){this.user=t,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new D$(t,i,null,e),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,e.sorter&&(this.sorter={compare:(t,i)=>e.sorter.compare(t.element,i.element)}),this.identityProvider=e.identityProvider}setChildren(t,i=Ht.empty(),e={}){const s=this.getElementLocation(t);this._setChildren(s,this.preserveCollapseState(i),e)}_setChildren(t,i=Ht.empty(),e){const s=new Set,n=new Set;this.model.splice([...t,0],Number.MAX_VALUE,i,{...e,onDidCreateNode:t=>{var i;if(null===t.element)return;const o=t;if(s.add(o.element),this.nodes.set(o.element,o),this.identityProvider){const t=this.identityProvider.getId(o.element).toString();n.add(t),this.nodesByIdentity.set(t,o)}null===(i=e.onDidCreateNode)||void 0===i||i.call(e,o)},onDidDeleteNode:t=>{var i;if(null===t.element)return;const o=t;if(s.has(o.element)||this.nodes.delete(o.element),this.identityProvider){const t=this.identityProvider.getId(o.element).toString();n.has(t)||this.nodesByIdentity.delete(t)}null===(i=e.onDidDeleteNode)||void 0===i||i.call(e,o)}})}preserveCollapseState(t=Ht.empty()){return this.sorter&&(t=[...t].sort(this.sorter.compare.bind(this.sorter))),Ht.map(t,(t=>{let i=this.nodes.get(t.element);if(!i&&this.identityProvider){const e=this.identityProvider.getId(t.element).toString();i=this.nodesByIdentity.get(e)}if(!i){let i;return i=void 0===t.collapsed?void 0:t.collapsed===g$.Collapsed||t.collapsed===g$.PreserveOrCollapsed||t.collapsed!==g$.Expanded&&t.collapsed!==g$.PreserveOrExpanded&&Boolean(t.collapsed),{...t,children:this.preserveCollapseState(t.children),collapsed:i}}const e="boolean"==typeof t.collapsible?t.collapsible:i.collapsible;let s;return s=void 0===t.collapsed||t.collapsed===g$.PreserveOrCollapsed||t.collapsed===g$.PreserveOrExpanded?i.collapsed:t.collapsed===g$.Collapsed||t.collapsed!==g$.Expanded&&Boolean(t.collapsed),{...t,collapsible:e,collapsed:s,children:this.preserveCollapseState(t.children)}}))}rerender(t){const i=this.getElementLocation(t);this.model.rerender(i)}getFirstElementChild(t=null){const i=this.getElementLocation(t);return this.model.getFirstElementChild(i)}has(t){return this.nodes.has(t)}getListIndex(t){const i=this.getElementLocation(t);return this.model.getListIndex(i)}getListRenderCount(t){const i=this.getElementLocation(t);return this.model.getListRenderCount(i)}isCollapsible(t){const i=this.getElementLocation(t);return this.model.isCollapsible(i)}setCollapsible(t,i){const e=this.getElementLocation(t);return this.model.setCollapsible(e,i)}isCollapsed(t){const i=this.getElementLocation(t);return this.model.isCollapsed(i)}setCollapsed(t,i,e){const s=this.getElementLocation(t);return this.model.setCollapsed(s,i,e)}expandTo(t){const i=this.getElementLocation(t);this.model.expandTo(i)}refilter(){this.model.refilter()}getNode(t=null){if(null===t)return this.model.getNode(this.model.rootRef);const i=this.nodes.get(t);if(!i)throw new y$(this.user,`Tree element not found: ${t}`);return i}getNodeLocation(t){return t.element}getParentNodeLocation(t){if(null===t)throw new y$(this.user,"Invalid getParentNodeLocation call");const i=this.nodes.get(t);if(!i)throw new y$(this.user,`Tree element not found: ${t}`);const e=this.model.getNodeLocation(i),s=this.model.getParentNodeLocation(e);return this.model.getNode(s).element}getElementLocation(t){if(null===t)return[];const i=this.nodes.get(t);if(!i)throw new y$(this.user,`Tree element not found: ${t}`);return this.model.getNodeLocation(i)}}function U$(t){return{element:{elements:[t.element],incompressible:t.incompressible||!1},children:Ht.map(Ht.from(t.children),U$),collapsible:t.collapsible,collapsed:t.collapsed}}function q$(t){const i=[t.element],e=t.incompressible||!1;let s,n;for(;[n,s]=Ht.consume(Ht.from(t.children),2),1===n.length&&!n[0].incompressible;)i.push((t=n[0]).element);return{element:{elements:i,incompressible:e},children:Ht.map(Ht.concat(n,s),q$),collapsible:t.collapsible,collapsed:t.collapsed}}function K$(t,i=0){let e;return e=iK$(t,0))),0===i&&t.element.incompressible?{element:t.element.elements[i],children:e,incompressible:!0,collapsible:t.collapsible,collapsed:t.collapsed}:{element:t.element.elements[i],children:e,collapsible:t.collapsible,collapsed:t.collapsed}}function G$(t){return K$(t,0)}function Z$(t,i,e){return t.element===i?{...t,children:e}:{...t,children:Ht.map(Ht.from(t.children),(t=>Z$(t,i,e)))}}class Q${get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(t,i,e={}){this.user=t,this.rootRef=null,this.nodes=new Map,this.model=new V$(t,i,e),this.enabled=void 0===e.compressionEnabled||e.compressionEnabled,this.identityProvider=e.identityProvider}setChildren(t,i=Ht.empty(),e){const s=e.diffIdentityProvider&&(n=e.diffIdentityProvider,{getId:t=>t.elements.map((t=>n.getId(t).toString())).join("\0")});var n;if(null===t){const t=Ht.map(i,this.enabled?q$:U$);return void this._setChildren(null,t,{diffIdentityProvider:s,diffDepth:1/0})}const o=this.nodes.get(t);if(!o)throw new y$(this.user,"Unknown compressed tree node");const r=this.model.getNode(o),h=this.model.getParentNodeLocation(o),c=this.model.getNode(h),a=Z$(G$(r),t,i),u=(this.enabled?q$:U$)(a);if(l(u.element.elements,r.element.elements,e.diffIdentityProvider?(t,i)=>e.diffIdentityProvider.getId(t)===e.diffIdentityProvider.getId(i):void 0))return void this._setChildren(o,u.children||Ht.empty(),{diffIdentityProvider:s,diffDepth:1});const d=c.children.map((t=>t===r?u:t));this._setChildren(c.element,d,{diffIdentityProvider:s,diffDepth:r.depth-c.depth})}setCompressionEnabled(t){if(t===this.enabled)return;this.enabled=t;const i=this.model.getNode(),e=Ht.map(i.children,G$),s=Ht.map(e,t?q$:U$);this._setChildren(null,s,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(t,i,e){const s=new Set;this.model.setChildren(t,i,{...e,onDidCreateNode:t=>{for(const i of t.element.elements)s.add(i),this.nodes.set(i,t.element)},onDidDeleteNode:t=>{for(const i of t.element.elements)s.has(i)||this.nodes.delete(i)}})}has(t){return this.nodes.has(t)}getListIndex(t){const i=this.getCompressedNode(t);return this.model.getListIndex(i)}getListRenderCount(t){const i=this.getCompressedNode(t);return this.model.getListRenderCount(i)}getNode(t){if(void 0===t)return this.model.getNode();const i=this.getCompressedNode(t);return this.model.getNode(i)}getNodeLocation(t){const i=this.model.getNodeLocation(t);return null===i?null:i.elements[i.elements.length-1]}getParentNodeLocation(t){const i=this.getCompressedNode(t),e=this.model.getParentNodeLocation(i);return null===e?null:e.elements[e.elements.length-1]}getFirstElementChild(t){const i=this.getCompressedNode(t);return this.model.getFirstElementChild(i)}isCollapsible(t){const i=this.getCompressedNode(t);return this.model.isCollapsible(i)}setCollapsible(t,i){const e=this.getCompressedNode(t);return this.model.setCollapsible(e,i)}isCollapsed(t){const i=this.getCompressedNode(t);return this.model.isCollapsed(i)}setCollapsed(t,i,e){const s=this.getCompressedNode(t);return this.model.setCollapsed(s,i,e)}expandTo(t){const i=this.getCompressedNode(t);this.model.expandTo(i)}rerender(t){const i=this.getCompressedNode(t);this.model.rerender(i)}refilter(){this.model.refilter()}getCompressedNode(t){if(null===t)return null;const i=this.nodes.get(t);if(!i)throw new y$(this.user,`Tree element not found: ${t}`);return i}}const J$=t=>t[t.length-1];class Y${get element(){return null===this.node.element?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((t=>new Y$(this.unwrapper,t)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(t,i){this.unwrapper=t,this.node=i}}class X${get onDidSplice(){return he.map(this.model.onDidSplice,(({insertedNodes:t,deletedNodes:i})=>({insertedNodes:t.map((t=>this.nodeMapper.map(t))),deletedNodes:i.map((t=>this.nodeMapper.map(t)))})))}get onDidChangeCollapseState(){return he.map(this.model.onDidChangeCollapseState,(({node:t,deep:i})=>({node:this.nodeMapper.map(t),deep:i})))}get onDidChangeRenderNodeCount(){return he.map(this.model.onDidChangeRenderNodeCount,(t=>this.nodeMapper.map(t)))}constructor(t,i,e={}){this.rootRef=null,this.elementMapper=e.elementMapper||J$;const s=t=>this.elementMapper(t.elements);this.nodeMapper=new k$((t=>new Y$(s,t))),this.model=new Q$(t,function(t,i){return{splice(e,s,n){i.splice(e,s,n.map((i=>t.map(i))))},updateElementHeight(t,e){i.updateElementHeight(t,e)}}}(this.nodeMapper,i),function(t,i){return{...i,identityProvider:i.identityProvider&&{getId:e=>i.identityProvider.getId(t(e))},sorter:i.sorter&&{compare:(t,e)=>i.sorter.compare(t.elements[0],e.elements[0])},filter:i.filter&&{filter:(e,s)=>i.filter.filter(t(e),s)}}}(s,e))}setChildren(t,i=Ht.empty(),e={}){this.model.setChildren(t,i,e)}setCompressionEnabled(t){this.model.setCompressionEnabled(t)}has(t){return this.model.has(t)}getListIndex(t){return this.model.getListIndex(t)}getListRenderCount(t){return this.model.getListRenderCount(t)}getNode(t){return this.nodeMapper.map(this.model.getNode(t))}getNodeLocation(t){return t.element}getParentNodeLocation(t){return this.model.getParentNodeLocation(t)}getFirstElementChild(t){const i=this.model.getFirstElementChild(t);return null==i?i:this.elementMapper(i.elements)}isCollapsible(t){return this.model.isCollapsible(t)}setCollapsible(t,i){return this.model.setCollapsible(t,i)}isCollapsed(t){return this.model.isCollapsed(t)}setCollapsed(t,i,e){return this.model.setCollapsed(t,i,e)}expandTo(t){return this.model.expandTo(t)}rerender(t){return this.model.rerender(t)}refilter(){return this.model.refilter()}getCompressedTreeNode(t=null){return this.model.getNode(t)}}class tW extends H${get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(t,i,e,s,n={}){super(t,i,e,s,n),this.user=t}setChildren(t,i=Ht.empty(),e){this.model.setChildren(t,i,e)}rerender(t){void 0!==t?this.model.rerender(t):this.view.rerender()}hasElement(t){return this.model.has(t)}createModel(t,i,e){return new V$(t,i,e)}}class iW{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(t,i){this._compressedTreeNodeProvider=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(t){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(t)}}renderElement(t,i,e,s){const n=this.compressedTreeNodeProvider.getCompressedTreeNode(t.element);1===n.element.elements.length?(e.compressedTreeNode=void 0,this.renderer.renderElement(t,i,e.data,s)):(e.compressedTreeNode=n,this.renderer.renderCompressedElements(n,i,e.data,s))}disposeElement(t,i,e,s){var n,o,r,h;e.compressedTreeNode?null===(o=(n=this.renderer).disposeCompressedElements)||void 0===o||o.call(n,e.compressedTreeNode,i,e.data,s):null===(h=(r=this.renderer).disposeElement)||void 0===h||h.call(r,t,i,e.data,s)}disposeTemplate(t){this.renderer.disposeTemplate(t.data)}renderTwistie(t,i){return!!this.renderer.renderTwistie&&this.renderer.renderTwistie(t,i)}}!function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);o>3&&r&&Object.defineProperty(i,e,r)}([nw],iW.prototype,"compressedTreeNodeProvider",null);class eW extends tW{constructor(t,i,e,s,n={}){const o=()=>this;super(t,i,e,s.map((t=>new iW(o,t))),function(t,i){return i&&{...i,keyboardNavigationLabelProvider:i.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(e){let s;try{s=t().getCompressedTreeNode(e)}catch(t){return i.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e)}return 1===s.element.elements.length?i.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e):i.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(s.element.elements)}}}}(o,n))}setChildren(t,i=Ht.empty(),e){this.model.setChildren(t,i,e)}createModel(t,i,e){return new X$(t,i,e)}updateOptions(t={}){super.updateOptions(t),void 0!==t.compressionEnabled&&this.model.setCompressionEnabled(t.compressionEnabled)}getCompressedTreeNode(t=null){return this.model.getCompressedTreeNode(t)}}function sW(t){return{...t,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function nW(t,i){return!!i.parent&&(i.parent===t||nW(t,i.parent))}class oW{get element(){return this.node.element.element}get children(){return this.node.children.map((t=>new oW(t)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(t){this.node=t}}class rW{constructor(t,i,e){this.renderer=t,this.nodeMapper=i,this.onDidChangeTwistieState=e,this.renderedNodes=new Map,this.templateId=t.templateId}renderTemplate(t){return{templateData:this.renderer.renderTemplate(t)}}renderElement(t,i,e,s){this.renderer.renderElement(this.nodeMapper.map(t),i,e.templateData,s)}renderTwistie(t,i){return t.slow?(i.classList.add(...Cr.asClassNameArray(Os.treeItemLoading)),!0):(i.classList.remove(...Cr.asClassNameArray(Os.treeItemLoading)),!1)}disposeElement(t,i,e,s){var n,o;null===(o=(n=this.renderer).disposeElement)||void 0===o||o.call(n,this.nodeMapper.map(t),i,e.templateData,s)}disposeTemplate(t){this.renderer.disposeTemplate(t.templateData)}dispose(){this.renderedNodes.clear()}}function hW(t){return{browserEvent:t.browserEvent,elements:t.elements.map((t=>t.element))}}function cW(t){return{browserEvent:t.browserEvent,element:t.element&&t.element.element,target:t.target}}class aW extends TN{constructor(t){super(t.elements.map((t=>t.element))),this.data=t}}function lW(t){return t instanceof TN?new aW(t):t}class uW{constructor(t){this.dnd=t}getDragURI(t){return this.dnd.getDragURI(t.element)}getDragLabel(t,i){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(t.map((t=>t.element)),i)}onDragStart(t,i){var e,s;null===(s=(e=this.dnd).onDragStart)||void 0===s||s.call(e,lW(t),i)}onDragOver(t,i,e,s,n=!0){return this.dnd.onDragOver(lW(t),i&&i.element,e,s)}drop(t,i,e,s){this.dnd.drop(lW(t),i&&i.element,e,s)}onDragEnd(t){var i,e;null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}dispose(){this.dnd.dispose()}}function dW(t){return t&&{...t,collapseByDefault:!0,identityProvider:t.identityProvider&&{getId:i=>t.identityProvider.getId(i.element)},dnd:t.dnd&&new uW(t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent:i=>t.multipleSelectionController.isSelectionSingleChangeEvent({...i,element:i.element}),isSelectionRangeChangeEvent:i=>t.multipleSelectionController.isSelectionRangeChangeEvent({...i,element:i.element})},accessibilityProvider:t.accessibilityProvider&&{...t.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:t.accessibilityProvider.getRole?i=>t.accessibilityProvider.getRole(i.element):()=>"treeitem",isChecked:t.accessibilityProvider.isChecked?i=>{var e;return!!(null===(e=t.accessibilityProvider)||void 0===e?void 0:e.isChecked(i.element))}:void 0,getAriaLabel:i=>t.accessibilityProvider.getAriaLabel(i.element),getWidgetAriaLabel:()=>t.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:t.accessibilityProvider.getAriaLevel&&(i=>t.accessibilityProvider.getAriaLevel(i.element)),getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(i=>t.accessibilityProvider.getActiveDescendantId(i.element))},filter:t.filter&&{filter:(i,e)=>t.filter.filter(i.element,e)},keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:i=>t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i.element)},sorter:void 0,expandOnlyOnTwistieClick:void 0===t.expandOnlyOnTwistieClick?void 0:"function"!=typeof t.expandOnlyOnTwistieClick?t.expandOnlyOnTwistieClick:i=>t.expandOnlyOnTwistieClick(i.element),defaultFindVisibility:i=>i.hasChildren&&i.stale?1:"number"==typeof t.defaultFindVisibility?t.defaultFindVisibility:void 0===t.defaultFindVisibility?2:t.defaultFindVisibility(i.element)}}function fW(t,i){i(t),t.children.forEach((t=>fW(t,i)))}class pW{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return he.map(this.tree.onDidChangeFocus,hW)}get onDidChangeSelection(){return he.map(this.tree.onDidChangeSelection,hW)}get onMouseDblClick(){return he.map(this.tree.onMouseDblClick,cW)}get onPointer(){return he.map(this.tree.onPointer,cW)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidDispose(){return this.tree.onDidDispose}constructor(t,i,e,s,n,o={}){this.user=t,this.dataSource=n,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new de,this._onDidChangeNodeSlowState=new de,this.nodeMapper=new k$((t=>new oW(t))),this.disposables=new Xi,this.identityProvider=o.identityProvider,this.autoExpandSingleChildren=void 0!==o.autoExpandSingleChildren&&o.autoExpandSingleChildren,this.sorter=o.sorter,this.getDefaultCollapseState=t=>o.collapseByDefault?o.collapseByDefault(t)?g$.PreserveOrCollapsed:g$.PreserveOrExpanded:void 0,this.tree=this.createTree(t,i,e,s,o),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.root=sW({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(t,i,e,s,n){const o=new L$(e),r=s.map((t=>new rW(t,this.nodeMapper,this._onDidChangeNodeSlowState.event))),h=dW(n)||{};return new tW(t,i,o,r,h)}updateOptions(t={}){this.tree.updateOptions(t)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(t){this.tree.scrollTop=t}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(t,i){this.tree.layout(t,i)}style(t){this.tree.style(t)}getInput(){return this.root.element}async setInput(t,i){this.refreshPromises.forEach((t=>t.cancel())),this.refreshPromises.clear(),this.root.element=t;const e=i&&{viewState:i,focus:[],selection:[]};await this._updateChildren(t,!0,!1,e),e&&(this.tree.setFocus(e.focus),this.tree.setSelection(e.selection)),i&&"number"==typeof i.scrollTop&&(this.scrollTop=i.scrollTop)}async _updateChildren(t=this.root.element,i=!0,e=!1,s,n){if(void 0===this.root.element)throw new y$(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await he.toPromise(this._onDidRender.event));const o=this.getDataNode(t);if(await this.refreshAndRenderNode(o,i,s,n),e)try{this.tree.rerender(o)}catch(t){}}rerender(t){if(void 0===t||t===this.root.element)return void this.tree.rerender();const i=this.getDataNode(t);this.tree.rerender(i)}getNode(t=this.root.element){const i=this.getDataNode(t),e=this.tree.getNode(i===this.root?null:i);return this.nodeMapper.map(e)}collapse(t,i=!1){const e=this.getDataNode(t);return this.tree.collapse(e===this.root?null:e,i)}async expand(t,i=!1){if(void 0===this.root.element)throw new y$(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await he.toPromise(this._onDidRender.event));const e=this.getDataNode(t);if(this.tree.hasElement(e)&&!this.tree.isCollapsible(e))return!1;if(e.refreshPromise&&(await this.root.refreshPromise,await he.toPromise(this._onDidRender.event)),e!==this.root&&!e.refreshPromise&&!this.tree.isCollapsed(e))return!1;const s=this.tree.expand(e===this.root?null:e,i);return e.refreshPromise&&(await this.root.refreshPromise,await he.toPromise(this._onDidRender.event)),s}setSelection(t,i){const e=t.map((t=>this.getDataNode(t)));this.tree.setSelection(e,i)}getSelection(){return this.tree.getSelection().map((t=>t.element))}setFocus(t,i){const e=t.map((t=>this.getDataNode(t)));this.tree.setFocus(e,i)}getFocus(){return this.tree.getFocus().map((t=>t.element))}reveal(t,i){this.tree.reveal(this.getDataNode(t),i)}getParentElement(t){const i=this.tree.getParentElement(this.getDataNode(t));return i&&i.element}getFirstElementChild(t=this.root.element){const i=this.getDataNode(t),e=this.tree.getFirstElementChild(i===this.root?null:i);return e&&e.element}getDataNode(t){const i=this.nodes.get(t===this.root.element?null:t);if(!i)throw new y$(this.user,`Data tree node not found: ${t}`);return i}async refreshAndRenderNode(t,i,e,s){await this.refreshNode(t,i,e),this.render(t,e,s)}async refreshNode(t,i,e){let s;return this.subTreeRefreshPromises.forEach(((n,o)=>{!s&&function(t,i){return t===i||nW(t,i)||nW(i,t)}(o,t)&&(s=n.then((()=>this.refreshNode(t,i,e))))})),s||(t!==this.root&&this.tree.getNode(t).collapsed?(t.hasChildren=!!this.dataSource.hasChildren(t.element),void(t.stale=!0)):this.doRefreshSubTree(t,i,e))}async doRefreshSubTree(t,i,e){let s;t.refreshPromise=new Promise((t=>s=t)),this.subTreeRefreshPromises.set(t,t.refreshPromise),t.refreshPromise.finally((()=>{t.refreshPromise=void 0,this.subTreeRefreshPromises.delete(t)}));try{const s=await this.doRefreshNode(t,i,e);t.stale=!1,await yc.settled(s.map((t=>this.doRefreshSubTree(t,i,e))))}finally{s()}}async doRefreshNode(t,i,e){let s;if(t.hasChildren=!!this.dataSource.hasChildren(t.element),t.hasChildren){const i=this.doGetChildren(t);if(j(i))s=Promise.resolve(i);else{const e=ac(800);e.then((()=>{t.slow=!0,this._onDidChangeNodeSlowState.fire(t)}),(()=>null)),s=i.finally((()=>e.cancel()))}}else s=Promise.resolve(Ht.empty());try{const n=await s;return this.setChildren(t,n,i,e)}catch(i){if(t!==this.root&&this.tree.hasElement(t)&&this.tree.collapse(t),ji(i))return[];throw i}finally{t.slow&&(t.slow=!1,this._onDidChangeNodeSlowState.fire(t))}}doGetChildren(t){let i=this.refreshPromises.get(t);if(i)return i;const e=this.dataSource.getChildren(t.element);return j(e)?this.processChildren(e):(i=nc((async()=>this.processChildren(await e))),this.refreshPromises.set(t,i),i.finally((()=>{this.refreshPromises.delete(t)})))}_onDidChangeCollapseState({node:t,deep:i}){null!==t.element&&!t.collapsed&&t.element.stale&&(i?this.collapse(t.element.element):this.refreshAndRenderNode(t.element,!1).catch(Bi))}setChildren(t,i,e,s){const n=[...i];if(0===t.children.length&&0===n.length)return[];const o=new Map,r=new Map;for(const i of t.children)o.set(i.element,i),this.identityProvider&&r.set(i.id,{node:i,collapsed:this.tree.hasElement(i)&&this.tree.isCollapsed(i)});const h=[],c=n.map((i=>{const n=!!this.dataSource.hasChildren(i);if(!this.identityProvider){const e=sW({element:i,parent:t,hasChildren:n,defaultCollapseState:this.getDefaultCollapseState(i)});return n&&e.defaultCollapseState===g$.PreserveOrExpanded&&h.push(e),e}const c=this.identityProvider.getId(i).toString(),a=r.get(c);if(a){const t=a.node;return o.delete(t.element),this.nodes.delete(t.element),this.nodes.set(i,t),t.element=i,t.hasChildren=n,e?a.collapsed?(t.children.forEach((t=>fW(t,(t=>this.nodes.delete(t.element))))),t.children.splice(0,t.children.length),t.stale=!0):h.push(t):n&&!a.collapsed&&h.push(t),t}const l=sW({element:i,parent:t,id:c,hasChildren:n,defaultCollapseState:this.getDefaultCollapseState(i)});return s&&s.viewState.focus&&s.viewState.focus.indexOf(c)>-1&&s.focus.push(l),s&&s.viewState.selection&&s.viewState.selection.indexOf(c)>-1&&s.selection.push(l),(s&&s.viewState.expanded&&s.viewState.expanded.indexOf(c)>-1||n&&l.defaultCollapseState===g$.PreserveOrExpanded)&&h.push(l),l}));for(const t of o.values())fW(t,(t=>this.nodes.delete(t.element)));for(const t of c)this.nodes.set(t.element,t);return t.children.splice(0,t.children.length,...c),t!==this.root&&this.autoExpandSingleChildren&&1===c.length&&0===h.length&&(c[0].forceExpanded=!0,h.push(c[0])),h}render(t,i,e){const s=t.children.map((t=>this.asTreeElement(t,i))),n=e&&{...e,diffIdentityProvider:e.diffIdentityProvider&&{getId:t=>e.diffIdentityProvider.getId(t.element)}};this.tree.setChildren(t===this.root?null:t,s,n),t!==this.root&&this.tree.setCollapsible(t,t.hasChildren),this._onDidRender.fire()}asTreeElement(t,i){if(t.stale)return{element:t,collapsible:t.hasChildren,collapsed:!0};let e;return i&&i.viewState.expanded&&t.id&&i.viewState.expanded.indexOf(t.id)>-1?e=!1:t.forceExpanded?(e=!1,t.forceExpanded=!1):e=t.defaultCollapseState,{element:t,children:t.hasChildren?Ht.map(t.children,(t=>this.asTreeElement(t,i))):[],collapsible:t.hasChildren,collapsed:e}}processChildren(t){return this.sorter&&(t=[...t].sort(this.sorter.compare.bind(this.sorter))),t}dispose(){this.disposables.dispose(),this.tree.dispose()}}class gW{get element(){return{elements:this.node.element.elements.map((t=>t.element)),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((t=>new gW(t)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(t){this.node=t}}class mW{constructor(t,i,e,s){this.renderer=t,this.nodeMapper=i,this.compressibleNodeMapperProvider=e,this.onDidChangeTwistieState=s,this.renderedNodes=new Map,this.disposables=[],this.templateId=t.templateId}renderTemplate(t){return{templateData:this.renderer.renderTemplate(t)}}renderElement(t,i,e,s){this.renderer.renderElement(this.nodeMapper.map(t),i,e.templateData,s)}renderCompressedElements(t,i,e,s){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(t),i,e.templateData,s)}renderTwistie(t,i){return t.slow?(i.classList.add(...Cr.asClassNameArray(Os.treeItemLoading)),!0):(i.classList.remove(...Cr.asClassNameArray(Os.treeItemLoading)),!1)}disposeElement(t,i,e,s){var n,o;null===(o=(n=this.renderer).disposeElement)||void 0===o||o.call(n,this.nodeMapper.map(t),i,e.templateData,s)}disposeCompressedElements(t,i,e,s){var n,o;null===(o=(n=this.renderer).disposeCompressedElements)||void 0===o||o.call(n,this.compressibleNodeMapperProvider().map(t),i,e.templateData,s)}disposeTemplate(t){this.renderer.disposeTemplate(t.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=Qi(this.disposables)}}class wW extends pW{constructor(t,i,e,s,n,o,r={}){super(t,i,e,n,o,r),this.compressionDelegate=s,this.compressibleNodeMapper=new k$((t=>new gW(t))),this.filter=r.filter}createTree(t,i,e,s,n){const o=new L$(e),r=s.map((t=>new mW(t,this.nodeMapper,(()=>this.compressibleNodeMapper),this._onDidChangeNodeSlowState.event))),h=function(t){const i=t&&dW(t);return i&&{...i,keyboardNavigationLabelProvider:i.keyboardNavigationLabelProvider&&{...i.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel:i=>t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(i.map((t=>t.element)))}}}(n)||{};return new eW(t,i,o,r,h)}asTreeElement(t,i){return{incompressible:this.compressionDelegate.isIncompressible(t.element),...super.asTreeElement(t,i)}}updateOptions(t={}){this.tree.updateOptions(t)}render(t,i){if(!this.identityProvider)return super.render(t,i);const e=t=>this.identityProvider.getId(t).toString(),s=t=>{const i=new Set;for(const s of t){const t=this.tree.getCompressedTreeNode(s===this.root?null:s);if(t.element)for(const s of t.element.elements)i.add(e(s.element))}return i},n=s(this.tree.getSelection()),o=s(this.tree.getFocus());super.render(t,i);const r=this.getSelection();let h=!1;const c=this.getFocus();let a=!1;const l=t=>{const i=t.element;if(i)for(let t=0;t{const i="boolean"==typeof(e=this.filter.filter(t,1))?e?1:0:x$(e)?C$(e.visibility):C$(e);var e;if(2===i)throw new Error("Recursive tree visibility not supported in async data compressed trees");return 1===i}))),super.processChildren(t)}}class vW extends H${constructor(t,i,e,s,n,o={}){super(t,i,e,s,o),this.user=t,this.dataSource=n,this.identityProvider=o.identityProvider}createModel(t,i,e){return new V$(t,i,e)}}new ch("isMac",Ct,ot(0,"Whether the operating system is macOS")),new ch("isLinux",St,ot(0,"Whether the operating system is Linux"));const bW=new ch("isWindows",xt,ot(0,"Whether the operating system is Windows")),yW=new ch("isWeb",Et,ot(0,"Whether the platform is a web browser"));new ch("isMacNative",Ct&&!Et,ot(0,"Whether the operating system is macOS on a non-browser platform")),new ch("isIOS",Mt,ot(0,"Whether the operating system is iOS")),new ch("isMobile",Lt,ot(0,"Whether the platform is a mobile web browser")),new ch("isDevelopment",!1,!0),new ch("productQualityType","",ot(0,"Quality type of VS Code"));const kW="inputFocus";let xW;new ch(kW,!1,ot(0,"Whether keyboard focus is inside an input box"));const CW=globalThis.vscode;if(void 0!==CW&&void 0!==CW.context){const t=CW.context.configuration();if(!t)throw new Error("Sandbox: unable to resolve product configuration from preload script.");xW=t.product}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){if(xW=globalThis._VSCODE_PRODUCT_JSON,We.VSCODE_DEV&&Object.assign(xW,{nameShort:`${xW.nameShort} Dev`,nameLong:`${xW.nameLong} Dev`,dataFolderName:`${xW.dataFolderName}-dev`,serverDataFolderName:xW.serverDataFolderName?`${xW.serverDataFolderName}-dev`:void 0}),!xW.version){const t=globalThis._VSCODE_PACKAGE_JSON;Object.assign(xW,{version:t.version})}}else xW={},0===Object.keys(xW).length&&Object.assign(xW,{version:"1.82.0-dev",nameShort:"Code - OSS Dev",nameLong:"Code - OSS Dev",applicationName:"code-oss",dataFolderName:".vscode-oss",urlProtocol:"code-oss",reportIssueUrl:"https://github.com/microsoft/vscode/issues/new",licenseName:"MIT",licenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt"});const SW=xW;var DW=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},EW=function(t,i){return function(e,s){i(e,s,t)}};const AW=dr("listService"),MW=new ch("listScrollAtBoundary","none");zr.or(MW.isEqualTo("top"),MW.isEqualTo("both")),zr.or(MW.isEqualTo("bottom"),MW.isEqualTo("both"));const LW=new ch("listFocus",!0),FW=new ch("listSupportsMultiselect",!0),TW=zr.and(LW,zr.not(kW)),RW=new ch("listHasSelectionOrFocus",!1),OW=new ch("listDoubleSelection",!1),IW=new ch("listMultiSelection",!1),_W=new ch("listSelectionNavigation",!1),NW=new ch("listSupportsFind",!0),BW=new ch("treeElementCanCollapse",!1),PW=new ch("treeElementHasParent",!1),$W=new ch("treeElementCanExpand",!1),WW=new ch("treeElementHasChild",!1),jW=new ch("treeFindOpen",!1),zW="listTypeNavigationMode",HW="listAutomaticKeyboardNavigation";function VW(t,i){const e=t.createScoped(i.getHTMLElement());return LW.bindTo(e),e}function UW(t,i){const e=MW.bindTo(t),s=()=>{const t=0===i.scrollTop,s=i.scrollHeight-i.renderHeight-i.scrollTop<1;e.set(t&&s?"both":t?"top":s?"bottom":"none")};return s(),i.onDidScroll(s)}const qW="workbench.list.multiSelectModifier",KW="workbench.list.openMode",GW="workbench.list.horizontalScrolling",ZW="workbench.list.defaultFindMode",QW="workbench.list.typeNavigationMode",JW="workbench.list.keyboardNavigation",YW="workbench.list.scrollByPage",XW="workbench.list.defaultFindMatchType",tj="workbench.tree.indent",ij="workbench.tree.renderIndentGuides",ej="workbench.list.smoothScrolling",sj="workbench.list.mouseWheelScrollSensitivity",nj="workbench.list.fastScrollSensitivity",oj="workbench.tree.expandMode",rj="workbench.tree.enableStickyScroll",hj="workbench.tree.stickyScrollMaxItemCount";function cj(t){return"alt"===t.getValue(qW)}class aj extends te{constructor(t){super(),this.configurationService=t,this.useAltAsMultipleSelectionModifier=cj(t),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(qW)&&(this.useAltAsMultipleSelectionModifier=cj(this.configurationService))})))}isSelectionSingleChangeEvent(t){return this.useAltAsMultipleSelectionModifier?t.browserEvent.altKey:JN(t)}isSelectionRangeChangeEvent(t){return YN(t)}}function lj(t,i){var e;const s=t.get(pd),n=t.get(oC),o=new Xi;return[{...i,keyboardNavigationDelegate:{mightProducePrintableCharacter:t=>n.mightProducePrintableCharacter(t)},smoothScrolling:Boolean(s.getValue(ej)),mouseWheelScrollSensitivity:s.getValue(sj),fastScrollSensitivity:s.getValue(nj),multipleSelectionController:null!==(e=i.multipleSelectionController)&&void 0!==e?e:o.add(new aj(s)),keyboardNavigationEventFilter:vj(n),scrollByPage:Boolean(s.getValue(YW))},o]}let uj=class extends aB{constructor(t,i,e,s,n,o,r,h,c){const a=void 0!==n.horizontalScrolling?n.horizontalScrolling:Boolean(h.getValue(GW)),[l,u]=c.invokeFunction(lj,n);super(t,i,e,s,{keyboardSupport:!1,...l,horizontalScrolling:a}),this.disposables.add(u),this.contextKeyService=VW(o,this),this.disposables.add(UW(this.contextKeyService,this)),this.listSupportsMultiSelect=FW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==n.multipleSelectionSupport),_W.bindTo(this.contextKeyService).set(Boolean(n.selectionNavigation)),this.listHasSelectionOrFocus=RW.bindTo(this.contextKeyService),this.listDoubleSelection=OW.bindTo(this.contextKeyService),this.listMultiSelection=IW.bindTo(this.contextKeyService),this.horizontalScrolling=n.horizontalScrolling,this._useAltAsMultipleSelectionModifier=cj(h),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(n.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const t=this.getSelection(),i=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(t.length>0||i.length>0),this.listMultiSelection.set(t.length>1),this.listDoubleSelection.set(2===t.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const t=this.getSelection(),i=this.getFocus();this.listHasSelectionOrFocus.set(t.length>0||i.length>0)}))),this.disposables.add(h.onDidChangeConfiguration((t=>{t.affectsConfiguration(qW)&&(this._useAltAsMultipleSelectionModifier=cj(h));let i={};if(t.affectsConfiguration(GW)&&void 0===this.horizontalScrolling){const t=Boolean(h.getValue(GW));i={...i,horizontalScrolling:t}}if(t.affectsConfiguration(YW)){const t=Boolean(h.getValue(YW));i={...i,scrollByPage:t}}if(t.affectsConfiguration(ej)){const t=Boolean(h.getValue(ej));i={...i,smoothScrolling:t}}if(t.affectsConfiguration(sj)){const t=h.getValue(sj);i={...i,mouseWheelScrollSensitivity:t}}if(t.affectsConfiguration(nj)){const t=h.getValue(nj);i={...i,fastScrollSensitivity:t}}Object.keys(i).length>0&&this.updateOptions(i)}))),this.navigator=new gj(this,{configurationService:h,...n}),this.disposables.add(this.navigator)}updateOptions(t){super.updateOptions(t),void 0!==t.overrideStyles&&this.updateStyles(t.overrideStyles),void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyles(t){this.style(t?PB(t):BB)}};uj=DW([EW(5,ah),EW(6,AW),EW(7,pd),EW(8,ur)],uj);let dj=class extends _P{constructor(t,i,e,s,n,o,r,h,c){const a=void 0!==n.horizontalScrolling?n.horizontalScrolling:Boolean(h.getValue(GW)),[l,u]=c.invokeFunction(lj,n);super(t,i,e,s,{keyboardSupport:!1,...l,horizontalScrolling:a}),this.disposables=new Xi,this.disposables.add(u),this.contextKeyService=VW(o,this),this.disposables.add(UW(this.contextKeyService,this.widget)),this.horizontalScrolling=n.horizontalScrolling,this.listSupportsMultiSelect=FW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==n.multipleSelectionSupport),_W.bindTo(this.contextKeyService).set(Boolean(n.selectionNavigation)),this._useAltAsMultipleSelectionModifier=cj(h),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(n.overrideStyles),this.disposables.add(h.onDidChangeConfiguration((t=>{t.affectsConfiguration(qW)&&(this._useAltAsMultipleSelectionModifier=cj(h));let i={};if(t.affectsConfiguration(GW)&&void 0===this.horizontalScrolling){const t=Boolean(h.getValue(GW));i={...i,horizontalScrolling:t}}if(t.affectsConfiguration(YW)){const t=Boolean(h.getValue(YW));i={...i,scrollByPage:t}}if(t.affectsConfiguration(ej)){const t=Boolean(h.getValue(ej));i={...i,smoothScrolling:t}}if(t.affectsConfiguration(sj)){const t=h.getValue(sj);i={...i,mouseWheelScrollSensitivity:t}}if(t.affectsConfiguration(nj)){const t=h.getValue(nj);i={...i,fastScrollSensitivity:t}}Object.keys(i).length>0&&this.updateOptions(i)}))),this.navigator=new gj(this,{configurationService:h,...n}),this.disposables.add(this.navigator)}updateOptions(t){super.updateOptions(t),void 0!==t.overrideStyles&&this.updateStyles(t.overrideStyles),void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyles(t){this.style(t?PB(t):BB)}dispose(){this.disposables.dispose(),super.dispose()}};dj=DW([EW(5,ah),EW(6,AW),EW(7,pd),EW(8,ur)],dj);let fj=class extends t${constructor(t,i,e,s,n,o,r,h,c,a){const l=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(c.getValue(GW)),[u,d]=a.invokeFunction(lj,o);super(t,i,e,s,n,{keyboardSupport:!1,...u,horizontalScrolling:l}),this.disposables.add(d),this.contextKeyService=VW(r,this),this.disposables.add(UW(this.contextKeyService,this)),this.listSupportsMultiSelect=FW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport),_W.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this.listHasSelectionOrFocus=RW.bindTo(this.contextKeyService),this.listDoubleSelection=OW.bindTo(this.contextKeyService),this.listMultiSelection=IW.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=cj(c),this.disposables.add(this.contextKeyService),this.disposables.add(h.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const t=this.getSelection(),i=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(t.length>0||i.length>0),this.listMultiSelection.set(t.length>1),this.listDoubleSelection.set(2===t.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const t=this.getSelection(),i=this.getFocus();this.listHasSelectionOrFocus.set(t.length>0||i.length>0)}))),this.disposables.add(c.onDidChangeConfiguration((t=>{t.affectsConfiguration(qW)&&(this._useAltAsMultipleSelectionModifier=cj(c));let i={};if(t.affectsConfiguration(GW)&&void 0===this.horizontalScrolling){const t=Boolean(c.getValue(GW));i={...i,horizontalScrolling:t}}if(t.affectsConfiguration(YW)){const t=Boolean(c.getValue(YW));i={...i,scrollByPage:t}}if(t.affectsConfiguration(ej)){const t=Boolean(c.getValue(ej));i={...i,smoothScrolling:t}}if(t.affectsConfiguration(sj)){const t=c.getValue(sj);i={...i,mouseWheelScrollSensitivity:t}}if(t.affectsConfiguration(nj)){const t=c.getValue(nj);i={...i,fastScrollSensitivity:t}}Object.keys(i).length>0&&this.updateOptions(i)}))),this.navigator=new mj(this,{configurationService:c,...o}),this.disposables.add(this.navigator)}updateOptions(t){super.updateOptions(t),void 0!==t.overrideStyles&&this.updateStyles(t.overrideStyles),void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyles(t){this.style(t?PB(t):BB)}dispose(){this.disposables.dispose(),super.dispose()}};fj=DW([EW(6,ah),EW(7,AW),EW(8,pd),EW(9,ur)],fj);class pj extends te{constructor(t,i){var e;super(),this.widget=t,this._onDidOpen=this._register(new de),this.onDidOpen=this._onDidOpen.event,this._register(he.filter(this.widget.onDidChangeSelection,(t=>Ml(t.browserEvent)))((t=>this.onSelectionFromKeyboard(t)))),this._register(this.widget.onPointer((t=>this.onPointer(t.element,t.browserEvent)))),this._register(this.widget.onMouseDblClick((t=>this.onMouseDblClick(t.element,t.browserEvent)))),"boolean"!=typeof(null==i?void 0:i.openOnSingleClick)&&(null==i?void 0:i.configurationService)?(this.openOnSingleClick="doubleClick"!==(null==i?void 0:i.configurationService.getValue(KW)),this._register(null==i?void 0:i.configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(KW)&&(this.openOnSingleClick="doubleClick"!==(null==i?void 0:i.configurationService.getValue(KW)))})))):this.openOnSingleClick=null===(e=null==i?void 0:i.openOnSingleClick)||void 0===e||e}onSelectionFromKeyboard(t){if(1!==t.elements.length)return;const i=t.browserEvent,e="boolean"!=typeof i.preserveFocus||i.preserveFocus,s="boolean"==typeof i.pinned?i.pinned:!e;this._open(this.getSelectedElement(),e,s,!1,t.browserEvent)}onPointer(t,i){this.openOnSingleClick&&2!==i.detail&&this._open(t,!0,1===i.button,i.ctrlKey||i.metaKey||i.altKey,i)}onMouseDblClick(t,i){if(!i)return;const e=i.target;e.classList.contains("monaco-tl-twistie")||e.classList.contains("monaco-icon-label")&&e.classList.contains("folder-icon")&&i.offsetX<16||this._open(t,!1,!0,i.ctrlKey||i.metaKey||i.altKey,i)}_open(t,i,e,s,n){t&&this._onDidOpen.fire({editorOptions:{preserveFocus:i,pinned:e,revealIfVisible:!0},sideBySide:s,element:t,browserEvent:n})}}class gj extends pj{constructor(t,i){super(t,i),this.widget=t}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class mj extends pj{constructor(t,i){super(t,i)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class wj extends pj{constructor(t,i){super(t,i)}getSelectedElement(){var t;return null!==(t=this.widget.getSelection()[0])&&void 0!==t?t:void 0}}function vj(t){let i=!1;return e=>{if(e.toKeyCodeChord().isModifierKey())return!1;if(i)return i=!1,!1;const s=t.softDispatch(e,e.target);return 1===s.kind?(i=!0,!1):(i=!1,0===s.kind)}}let bj=class extends tW{constructor(t,i,e,s,n,o,r,h,c){const{options:a,getTypeNavigationMode:l,disposable:u}=o.invokeFunction(Ej,n);super(t,i,e,s,a),this.disposables.add(u),this.internals=new Aj(this,n,l,n.overrideStyles,r,h,c),this.disposables.add(this.internals)}updateOptions(t){super.updateOptions(t),this.internals.updateOptions(t)}};bj=DW([EW(5,ur),EW(6,ah),EW(7,AW),EW(8,pd)],bj);let yj=class extends eW{constructor(t,i,e,s,n,o,r,h,c){const{options:a,getTypeNavigationMode:l,disposable:u}=o.invokeFunction(Ej,n);super(t,i,e,s,a),this.disposables.add(u),this.internals=new Aj(this,n,l,n.overrideStyles,r,h,c),this.disposables.add(this.internals)}updateOptions(t={}){super.updateOptions(t),t.overrideStyles&&this.internals.updateStyleOverrides(t.overrideStyles),this.internals.updateOptions(t)}};yj=DW([EW(5,ur),EW(6,ah),EW(7,AW),EW(8,pd)],yj);let kj=class extends vW{constructor(t,i,e,s,n,o,r,h,c,a){const{options:l,getTypeNavigationMode:u,disposable:d}=r.invokeFunction(Ej,o);super(t,i,e,s,n,l),this.disposables.add(d),this.internals=new Aj(this,o,u,o.overrideStyles,h,c,a),this.disposables.add(this.internals)}updateOptions(t={}){super.updateOptions(t),void 0!==t.overrideStyles&&this.internals.updateStyleOverrides(t.overrideStyles),this.internals.updateOptions(t)}};kj=DW([EW(6,ur),EW(7,ah),EW(8,AW),EW(9,pd)],kj);let xj=class extends pW{get onDidOpen(){return this.internals.onDidOpen}constructor(t,i,e,s,n,o,r,h,c,a){const{options:l,getTypeNavigationMode:u,disposable:d}=r.invokeFunction(Ej,o);super(t,i,e,s,n,l),this.disposables.add(d),this.internals=new Aj(this,o,u,o.overrideStyles,h,c,a),this.disposables.add(this.internals)}updateOptions(t={}){super.updateOptions(t),t.overrideStyles&&this.internals.updateStyleOverrides(t.overrideStyles),this.internals.updateOptions(t)}};xj=DW([EW(6,ur),EW(7,ah),EW(8,AW),EW(9,pd)],xj);let Cj=class extends wW{constructor(t,i,e,s,n,o,r,h,c,a,l){const{options:u,getTypeNavigationMode:d,disposable:f}=h.invokeFunction(Ej,r);super(t,i,e,s,n,o,u),this.disposables.add(f),this.internals=new Aj(this,r,d,r.overrideStyles,c,a,l),this.disposables.add(this.internals)}updateOptions(t){super.updateOptions(t),this.internals.updateOptions(t)}};function Sj(t){const i=t.getValue(ZW);if("highlight"===i)return v$.Highlight;if("filter"===i)return v$.Filter;const e=t.getValue(JW);return"simple"===e||"highlight"===e?v$.Highlight:"filter"===e?v$.Filter:void 0}function Dj(t){const i=t.getValue(XW);return"fuzzy"===i?b$.Fuzzy:"contiguous"===i?b$.Contiguous:void 0}function Ej(t,i){var e;const s=t.get(pd),n=t.get(aI),o=t.get(ah),r=t.get(ur),h=void 0!==i.horizontalScrolling?i.horizontalScrolling:Boolean(s.getValue(GW)),[c,a]=r.invokeFunction(lj,i),l=i.paddingBottom,u=void 0!==i.renderIndentGuides?i.renderIndentGuides:s.getValue(ij);return{getTypeNavigationMode:()=>{const t=o.getContextKeyValue(zW);if("automatic"===t)return NN.Automatic;if("trigger"===t)return NN.Trigger;if(!1===o.getContextKeyValue(HW))return NN.Trigger;const i=s.getValue(QW);return"automatic"===i?NN.Automatic:"trigger"===i?NN.Trigger:void 0},disposable:a,options:{keyboardSupport:!1,...c,indent:"number"==typeof s.getValue(tj)?s.getValue(tj):void 0,renderIndentGuides:u,smoothScrolling:Boolean(s.getValue(ej)),defaultFindMode:Sj(s),defaultFindMatchType:Dj(s),horizontalScrolling:h,scrollByPage:Boolean(s.getValue(YW)),paddingBottom:l,hideTwistiesOfChildlessElements:i.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:null!==(e=i.expandOnlyOnTwistieClick)&&void 0!==e?e:"doubleClick"===s.getValue(oj),contextViewProvider:n,findWidgetStyles:_B,enableStickyScroll:Boolean(s.getValue(rj)),stickyScrollMaxItemCount:Number(s.getValue(hj))}}}Cj=DW([EW(7,ur),EW(8,ah),EW(9,AW),EW(10,pd)],Cj);let Aj=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(t,i,e,s,n,o,r){var h;this.tree=t,this.disposables=[],this.contextKeyService=VW(n,t),this.disposables.push(UW(this.contextKeyService,t)),this.listSupportsMultiSelect=FW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==i.multipleSelectionSupport),_W.bindTo(this.contextKeyService).set(Boolean(i.selectionNavigation)),this.listSupportFindWidget=NW.bindTo(this.contextKeyService),this.listSupportFindWidget.set(null===(h=i.findWidgetEnabled)||void 0===h||h),this.hasSelectionOrFocus=RW.bindTo(this.contextKeyService),this.hasDoubleSelection=OW.bindTo(this.contextKeyService),this.hasMultiSelection=IW.bindTo(this.contextKeyService),this.treeElementCanCollapse=BW.bindTo(this.contextKeyService),this.treeElementHasParent=PW.bindTo(this.contextKeyService),this.treeElementCanExpand=$W.bindTo(this.contextKeyService),this.treeElementHasChild=WW.bindTo(this.contextKeyService),this.treeFindOpen=jW.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=cj(r),this.updateStyleOverrides(s);const c=()=>{const i=t.getFocus()[0];if(!i)return;const e=t.getNode(i);this.treeElementCanCollapse.set(e.collapsible&&!e.collapsed),this.treeElementHasParent.set(!!t.getParentElement(i)),this.treeElementCanExpand.set(e.collapsible&&e.collapsed),this.treeElementHasChild.set(!!t.getFirstElementChild(i))},a=new Set;a.add(zW),a.add(HW),this.disposables.push(this.contextKeyService,o.register(t),t.onDidChangeSelection((()=>{const i=t.getSelection(),e=t.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.hasSelectionOrFocus.set(i.length>0||e.length>0),this.hasMultiSelection.set(i.length>1),this.hasDoubleSelection.set(2===i.length)}))})),t.onDidChangeFocus((()=>{const i=t.getSelection(),e=t.getFocus();this.hasSelectionOrFocus.set(i.length>0||e.length>0),c()})),t.onDidChangeCollapseState(c),t.onDidChangeModel(c),t.onDidChangeFindOpenState((t=>this.treeFindOpen.set(t))),r.onDidChangeConfiguration((s=>{let n={};if(s.affectsConfiguration(qW)&&(this._useAltAsMultipleSelectionModifier=cj(r)),s.affectsConfiguration(tj)){const t=r.getValue(tj);n={...n,indent:t}}if(s.affectsConfiguration(ij)&&void 0===i.renderIndentGuides){const t=r.getValue(ij);n={...n,renderIndentGuides:t}}if(s.affectsConfiguration(ej)){const t=Boolean(r.getValue(ej));n={...n,smoothScrolling:t}}if(s.affectsConfiguration(ZW)||s.affectsConfiguration(JW)){const t=Sj(r);n={...n,defaultFindMode:t}}if(s.affectsConfiguration(QW)||s.affectsConfiguration(JW)){const t=e();n={...n,typeNavigationMode:t}}if(s.affectsConfiguration(XW)){const t=Dj(r);n={...n,defaultFindMatchType:t}}if(s.affectsConfiguration(GW)&&void 0===i.horizontalScrolling){const t=Boolean(r.getValue(GW));n={...n,horizontalScrolling:t}}if(s.affectsConfiguration(YW)){const t=Boolean(r.getValue(YW));n={...n,scrollByPage:t}}if(s.affectsConfiguration(oj)&&void 0===i.expandOnlyOnTwistieClick&&(n={...n,expandOnlyOnTwistieClick:"doubleClick"===r.getValue(oj)}),s.affectsConfiguration(rj)){const t=r.getValue(rj);n={...n,enableStickyScroll:t}}if(s.affectsConfiguration(hj)){const t=Math.max(1,r.getValue(hj));n={...n,stickyScrollMaxItemCount:t}}if(s.affectsConfiguration(sj)){const t=r.getValue(sj);n={...n,mouseWheelScrollSensitivity:t}}if(s.affectsConfiguration(nj)){const t=r.getValue(nj);n={...n,fastScrollSensitivity:t}}Object.keys(n).length>0&&t.updateOptions(n)})),this.contextKeyService.onDidChangeContext((i=>{i.affectsSome(a)&&t.updateOptions({typeNavigationMode:e()})}))),this.navigator=new wj(t,{configurationService:r,...i}),this.disposables.push(this.navigator)}updateOptions(t){void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyleOverrides(t){this.tree.style(t?PB(t):BB)}dispose(){this.disposables=Qi(this.disposables)}};var Mj;Aj=DW([EW(4,ah),EW(5,AW),EW(6,pd)],Aj),Dh.as(Md).registerConfiguration({id:"workbench",order:7,title:ot(0,"Workbench"),type:"object",properties:{[qW]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[ot(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),ot(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:ot(0,"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[KW]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:ot(0,"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[GW]:{type:"boolean",default:!1,description:ot(0,"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[YW]:{type:"boolean",default:!1,description:ot(0,"Controls whether clicks in the scrollbar scroll page by page.")},[tj]:{type:"number",default:8,minimum:4,maximum:40,description:ot(0,"Controls tree indentation in pixels.")},[ij]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:ot(0,"Controls whether the tree should render indent guides.")},[ej]:{type:"boolean",default:!1,description:ot(0,"Controls whether lists and trees have smooth scrolling.")},[sj]:{type:"number",default:1,markdownDescription:ot(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[nj]:{type:"number",default:5,markdownDescription:ot(0,"Scrolling speed multiplier when pressing `Alt`.")},[ZW]:{type:"string",enum:["highlight","filter"],enumDescriptions:[ot(0,"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),ot(0,"Filter elements when searching.")],default:"highlight",description:ot(0,"Controls the default find mode for lists and trees in the workbench.")},[JW]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[ot(0,"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),ot(0,"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),ot(0,"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:ot(0,"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:ot(0,"Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.")},[XW]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[ot(0,"Use fuzzy matching when searching."),ot(0,"Use contiguous matching when searching.")],default:"fuzzy",description:ot(0,"Controls the type of matching used when searching lists and trees in the workbench.")},[oj]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:ot(0,"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[rj]:{type:"boolean",default:"string"==typeof SW.quality&&"stable"!==SW.quality,description:ot(0,"Controls whether sticky scrolling is enabled in trees.")},[hj]:{type:"number",minimum:1,default:7,markdownDescription:ot(0,"Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled.")},[QW]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:ot(0,"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}}),function(t){t[t.PRESERVE=0]="PRESERVE",t[t.LAST=1]="LAST"}(Mj||(Mj={}));const Lj="workbench.contributions.quickaccess";Dh.add(Lj,new class{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(t){return 0===t.prefix.length?this.defaultProvider=t:this.providers.push(t),this.providers.sort(((t,i)=>i.prefix.length-t.prefix.length)),Yi((()=>{this.providers.splice(this.providers.indexOf(t),1),this.defaultProvider===t&&(this.defaultProvider=void 0)}))}getQuickAccessProviders(){return m([this.defaultProvider,...this.providers])}getQuickAccessProvider(t){return t&&this.providers.find((i=>t.startsWith(i.prefix)))||this.defaultProvider}});const Fj={ctrlCmd:!1,alt:!1};var Tj,Rj;!function(t){t[t.Blur=1]="Blur",t[t.Gesture=2]="Gesture",t[t.Other=3]="Other"}(Tj||(Tj={})),function(t){t[t.NONE=0]="NONE",t[t.FIRST=1]="FIRST",t[t.SECOND=2]="SECOND",t[t.LAST=3]="LAST"}(Rj||(Rj={}));const Oj=dr("quickInputService");var Ij=function(t,i){return function(e,s){i(e,s,t)}};let _j=class extends te{constructor(t,i){super(),this.quickInputService=t,this.instantiationService=i,this.registry=Dh.as(Lj),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(t="",i){this.doShowOrPick(t,!1,i)}doShowOrPick(t,i,e){var s;const[n,o]=this.getOrInstantiateProvider(t),r=this.visibleQuickAccess,h=null==r?void 0:r.descriptor;if(r&&o&&h===o)return t===o.prefix||(null==e?void 0:e.preserveValue)||(r.picker.value=t),void this.adjustValueSelection(r.picker,o,e);if(o&&!(null==e?void 0:e.preserveValue)){let i;if(r&&h&&h!==o){const t=r.value.substr(h.prefix.length);t&&(i=`${o.prefix}${t}`)}if(!i){const t=null==n?void 0:n.defaultFilterValue;t===Mj.LAST?i=this.lastAcceptedPickerValues.get(o):"string"==typeof t&&(i=`${o.prefix}${t}`)}"string"==typeof i&&(t=i)}const c=new Xi,a=c.add(this.quickInputService.createQuickPick());let l;a.value=t,this.adjustValueSelection(a,o,e),a.placeholder=null==o?void 0:o.placeholder,a.quickNavigate=null==e?void 0:e.quickNavigateConfiguration,a.hideInput=!!a.quickNavigate&&!r,("number"==typeof(null==e?void 0:e.itemActivation)||(null==e?void 0:e.quickNavigateConfiguration))&&(a.itemActivation=null!==(s=null==e?void 0:e.itemActivation)&&void 0!==s?s:Rj.SECOND),a.contextKey=null==o?void 0:o.contextKey,a.filterValue=t=>t.substring(o?o.prefix.length:0),i&&(l=new bc,c.add(he.once(a.onWillAccept)((t=>{t.veto(),a.hide()})))),c.add(this.registerPickerListeners(a,n,o,t,null==e?void 0:e.providerOptions));const u=c.add(new Ce);return n&&c.add(n.provide(a,u.token,null==e?void 0:e.providerOptions)),he.once(a.onDidHide)((()=>{0===a.selectedItems.length&&u.cancel(),c.dispose(),null==l||l.complete(a.selectedItems.slice(0))})),a.show(),i?null==l?void 0:l.p:void 0}adjustValueSelection(t,i,e){var s;let n;n=(null==e?void 0:e.preserveValue)?[t.value.length,t.value.length]:[null!==(s=null==i?void 0:i.prefix.length)&&void 0!==s?s:0,t.value.length],t.valueSelection=n}registerPickerListeners(t,i,e,s,n){const o=new Xi,r=this.visibleQuickAccess={picker:t,descriptor:e,value:s};return o.add(Yi((()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)}))),o.add(t.onDidChangeValue((t=>{const[e]=this.getOrInstantiateProvider(t);e!==i?this.show(t,{preserveValue:!0,providerOptions:n}):r.value=t}))),e&&o.add(t.onDidAccept((()=>{this.lastAcceptedPickerValues.set(e,t.value)}))),o}getOrInstantiateProvider(t){const i=this.registry.getQuickAccessProvider(t);if(!i)return[void 0,void 0];let e=this.mapProviderToDescriptor.get(i);return e||(e=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,e)),[e,i]}};_j=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Ij(0,Oj),Ij(1,ur)],_j),lg.white.toString(),lg.white.toString();class Nj extends te{get onDidClick(){return this._onDidClick.event}constructor(t,i){super(),this._label="",this._onDidClick=this._register(new de),this.options=i,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!i.secondary);const e=i.secondary?i.buttonSecondaryBackground:i.buttonBackground;this._element.style.color=(i.secondary?i.buttonSecondaryForeground:i.buttonForeground)||"",this._element.style.backgroundColor=e||"",i.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),t.appendChild(this._element),this._register(rw.addTarget(this._element)),[Ll.CLICK,ow.Tap].forEach((t=>{this._register(Va(this._element,t,(t=>{this.enabled?this._onDidClick.fire(t):Fl(t)})))})),this._register(Va(this._element,Ll.KEY_DOWN,(t=>{const i=new Qh(t);let e=!1;this.enabled&&(i.equals(3)||i.equals(10))?(this._onDidClick.fire(t),e=!0):i.equals(9)&&(this._element.blur(),e=!0),e&&Fl(i,!0)}))),this._register(Va(this._element,Ll.MOUSE_OVER,(()=>{this._element.classList.contains("disabled")||this.updateBackground(!0)}))),this._register(Va(this._element,Ll.MOUSE_OUT,(()=>{this.updateBackground(!1)}))),this.focusTracker=this._register(Rl(this._element)),this._register(this.focusTracker.onDidFocus((()=>{this.enabled&&this.updateBackground(!0)}))),this._register(this.focusTracker.onDidBlur((()=>{this.enabled&&this.updateBackground(!1)})))}dispose(){super.dispose(),this._element.remove()}getContentElements(t){const i=[];for(let e of Z_(t))if("string"==typeof e){if(e=e.trim(),""===e)continue;const t=document.createElement("span");t.textContent=e,i.push(t)}else i.push(e);return i}updateBackground(t){let i;i=this.options.secondary?t?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:t?this.options.buttonHoverBackground:this.options.buttonBackground,i&&(this._element.style.backgroundColor=i)}get element(){return this._element}set label(t){var i,e,s;if(this._label===t)return;if(P_(this._label)&&P_(t)&&((e=this._label)===(s=t)||e&&s&&e.value===s.value&&e.isTrusted===s.isTrusted&&e.supportThemeIcons===s.supportThemeIcons&&e.supportHtml===s.supportHtml&&(e.baseUri===s.baseUri||e.baseUri&&s.baseUri&&wA(ms.from(e.baseUri),ms.from(s.baseUri)))))return;this._element.classList.add("monaco-text-button");const n=this.options.supportShortLabel?this._labelElement:this._element;if(P_(t)){const e=oN(t,{inline:!0});e.dispose();const s=null===(i=e.element.querySelector("p"))||void 0===i?void 0:i.innerHTML;if(s){const t=va(s,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});n.innerHTML=t}else _l(n)}else this.options.supportIcons?_l(n,...this.getContentElements(t)):n.textContent=t;"string"==typeof this.options.title?this._element.title=this.options.title:this.options.title&&(this._element.title=function(t){return"string"==typeof t?t:function(t){var i;let e=null!==(i=t.value)&&void 0!==i?i:"";e.length>1e5&&(e=`${e.substr(0,1e5)}…`);const s=tN.parse(e,{renderer:uN.value}).replace(/&(#\d+|[a-zA-Z]+);/g,(t=>{var i;return null!==(i=lN.get(t))&&void 0!==i?i:t}));return cN({isTrusted:!1},s).toString()}(t)}(t)),this._label=t}get label(){return this._label}set icon(t){this._element.classList.add(...Cr.asClassNameArray(t))}set enabled(t){t?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}}class Bj{constructor(t,i,e){this.options=i,this.styles=e,this.count=0,this.element=Ol(t,$l(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(t){this.count=t,this.render()}setTitleFormat(t){this.titleFormat=t,this.render()}render(){var t,i;this.element.textContent=qn(this.countFormat,this.count),this.element.title=qn(this.titleFormat,this.count),this.element.style.backgroundColor=null!==(t=this.styles.badgeBackground)&&void 0!==t?t:"",this.element.style.color=null!==(i=this.styles.badgeForeground)&&void 0!==i?i:"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}const Pj="done",$j="active",Wj="infinite",jj="infinite-long-running",zj="discrete";class Hj extends te{constructor(t,i){super(),this.workedVal=0,this.showDelayedScheduler=this._register(new pc((()=>Wl(this.element)),0)),this.longRunningScheduler=this._register(new pc((()=>this.infiniteLongRunning()),Hj.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(t,i)}create(t,i){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),t.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=(null==i?void 0:i.progressBarBackground)||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove($j,Wj,jj,zj),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(t){return this.element.classList.add(Pj),this.element.classList.contains(Wj)?(this.bit.style.opacity="0",t?setTimeout((()=>this.off()),200):this.off()):(this.bit.style.width="inherit",t?setTimeout((()=>this.off()),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(zj,Pj,jj),this.element.classList.add($j,Wj),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(jj)}getContainer(){return this.element}}Hj.LONG_RUNNING_INFINITE_THRESHOLD=1e4;const Vj=$l;class Uj extends te{constructor(t,i,e){super(),this.parent=t,this.onKeyDown=t=>qa(this.findInput.inputBox.inputElement,Ll.KEY_DOWN,t),this.onMouseDown=t=>qa(this.findInput.inputBox.inputElement,Ll.MOUSE_DOWN,t),this.onDidChange=t=>this.findInput.onDidChange(t),this.container=Ol(this.parent,Vj(".quick-input-box")),this.findInput=this._register(new p$(this.container,void 0,{label:"",inputBoxStyles:i,toggleStyles:e}));const s=this.findInput.inputBox.inputElement;s.role="combobox",s.ariaHasPopup="menu",s.ariaAutoComplete="list",s.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(t){this.findInput.setValue(t)}select(t=null){this.findInput.inputBox.select(t)}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(t){this.findInput.inputBox.setPlaceHolder(t)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(t){this.findInput.inputBox.inputElement.type=t?"password":"text"}set enabled(t){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!t)}set toggles(t){this.findInput.setAdditionalToggles(t)}setAttribute(t,i){this.findInput.inputBox.inputElement.setAttribute(t,i)}showDecoration(t){t===sT.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:t===sT.Info?1:t===sT.Warning?2:3,content:""})}stylesForType(t){return this.findInput.inputBox.stylesForType(t===sT.Info?1:t===sT.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}class qj{constructor(t,i){var e;this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=null!==(e=null==i?void 0:i.supportIcons)&&void 0!==e&&e,this.domNode=Ol(t,$l("span.monaco-highlighted-label"))}get element(){return this.domNode}set(t,i=[],e="",s){t||(t=""),s&&(t=qj.escapeNewLines(t,i)),this.didEverRender&&this.text===t&&this.title===e&&it(this.highlights,i)||(this.text=t,this.title=e,this.highlights=i,this.render())}render(){const t=[];let i=0;for(const e of this.highlights){if(e.end===e.start)continue;if(i{s="\r\n"===t?-1:0,n+=e;for(const t of i)t.end<=n||(t.start>=n&&(t.start+=s),t.end>=n&&(t.end+=s));return e+=s,"⏎"}))}}class Kj{constructor(t){this._element=t}get element(){return this._element}set textContent(t){this.disposed||t===this._textContent||(this._textContent=t,this._element.textContent=t)}set className(t){this.disposed||t===this._className||(this._className=t,this._element.className=t)}set empty(t){this.disposed||t===this._empty||(this._empty=t,this._element.style.marginLeft=t?"0":"")}dispose(){this.disposed=!0}}class Gj extends te{constructor(t,i){super(),this.customHovers=new Map,this.creationOptions=i,this.domNode=this._register(new Kj(Ol(t,$l(".monaco-icon-label")))),this.labelContainer=Ol(this.domNode.element,$l(".monaco-icon-label-container")),this.nameContainer=Ol(this.labelContainer,$l("span.monaco-icon-name-container")),this.nameNode=(null==i?void 0:i.supportHighlights)||(null==i?void 0:i.supportIcons)?new Qj(this.nameContainer,!!i.supportIcons):new Zj(this.nameContainer),this.hoverDelegate=null==i?void 0:i.hoverDelegate}get element(){return this.domNode.element}setLabel(t,i,e){var s;const n=["monaco-icon-label"],o=["monaco-icon-label-container"];let r="";if(e&&(e.extraClasses&&n.push(...e.extraClasses),e.italic&&n.push("italic"),e.strikethrough&&n.push("strikethrough"),e.disabledCommand&&o.push("disabled"),e.title&&(r+="string"==typeof e.title?e.title:t)),this.domNode.className=n.join(" "),this.domNode.element.setAttribute("aria-label",r),this.labelContainer.className=o.join(" "),this.setupHover((null==e?void 0:e.descriptionTitle)?this.labelContainer:this.element,null==e?void 0:e.title),this.nameNode.setLabel(t,e),i||this.descriptionNode){const t=this.getOrCreateDescriptionNode();t instanceof qj?(t.set(i||"",e?e.descriptionMatches:void 0,void 0,null==e?void 0:e.labelEscapeNewLines),this.setupHover(t.element,null==e?void 0:e.descriptionTitle)):(t.textContent=i&&(null==e?void 0:e.labelEscapeNewLines)?qj.escapeNewLines(i,[]):i||"",this.setupHover(t.element,(null==e?void 0:e.descriptionTitle)||""),t.empty=!i)}((null==e?void 0:e.suffix)||this.suffixNode)&&(this.getOrCreateSuffixNode().textContent=null!==(s=null==e?void 0:e.suffix)&&void 0!==s?s:"")}setupHover(t,i){const e=this.customHovers.get(t);if(e&&(e.dispose(),this.customHovers.delete(t)),i)if(this.hoverDelegate){const e=z_(this.hoverDelegate,t,i);e&&this.customHovers.set(t,e)}else!function(t,i){B(i)?t.title=R_(i):(null==i?void 0:i.markdownNotSupportedFallback)?t.title=i.markdownNotSupportedFallback:t.removeAttribute("title")}(t,i);else t.removeAttribute("title")}dispose(){super.dispose();for(const t of this.customHovers.values())t.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new Kj((t=this.nameContainer,i=$l("span.monaco-icon-suffix-container"),t.after(i),i)));this.suffixNode=this._register(new Kj(Ol(e.element,$l("span.label-suffix"))))}var t,i;return this.suffixNode}getOrCreateDescriptionNode(){var t;if(!this.descriptionNode){const i=this._register(new Kj(Ol(this.labelContainer,$l("span.monaco-icon-description-container"))));this.descriptionNode=(null===(t=this.creationOptions)||void 0===t?void 0:t.supportDescriptionHighlights)?new qj(Ol(i.element,$l("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons}):this._register(new Kj(Ol(i.element,$l("span.label-description"))))}return this.descriptionNode}}class Zj{constructor(t){this.container=t,this.label=void 0,this.singleLabel=void 0}setLabel(t,i){if(this.label!==t||!it(this.options,i))if(this.label=t,this.options=i,"string"==typeof t)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=Ol(this.container,$l("a.label-name",{id:null==i?void 0:i.domId}))),this.singleLabel.textContent=t;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let e=0;e{const n={start:s,end:s+t.length},o=e.map((t=>uI.intersect(n,t))).filter((t=>!uI.isEmpty(t))).map((({start:t,end:i})=>({start:t-s,end:i-s})));return s=n.end+i.length,o}))}(t,e,null==i?void 0:i.matches);for(let n=0;n{const t=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:t,collatorIsNumeric:t.resolvedOptions().numeric}}));new zn((()=>({collator:new Intl.Collator(void 0,{numeric:!0})}))),new zn((()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:"accent"})})));class iz{constructor(t){this.nodes=t}toString(){return this.nodes.map((t=>"string"==typeof t?t:t.label)).join("")}}!function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);o>3&&r&&Object.defineProperty(i,e,r)}([nw],iz.prototype,"toString",null);const ez=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi,sz={},nz=new J_("quick-input-button-icon-");function oz(t){if(!t)return;let i;const e=t.dark.toString();return sz[e]?i=sz[e]:(i=nz.nextId(),Sl(`.${i}, .hc-light .${i}`,`background-image: ${Vl(t.light||t.dark)}`),Sl(`.vs-dark .${i}, .hc-black .${i}`,`background-image: ${Vl(t.dark)}`),sz[e]=i),i}var rz=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};const hz=$l;class cz{constructor(t,i,e,s,n,o,r){var h,c,a;this._checked=!1,this._hidden=!1,this.hasCheckbox=s,this.index=e,this.fireButtonTriggered=n,this.fireSeparatorButtonTriggered=o,this._onChecked=r,this.onChecked=s?he.map(he.filter(this._onChecked.event,(t=>t.listElement===this)),(t=>t.checked)):he.None,"separator"===t.type?this._separator=t:(this.item=t,i&&"separator"===i.type&&!i.buttons&&(this._separator=i),this.saneDescription=this.item.description,this.saneDetail=this.item.detail,this._labelHighlights=null===(h=this.item.highlights)||void 0===h?void 0:h.label,this._descriptionHighlights=null===(c=this.item.highlights)||void 0===c?void 0:c.description,this._detailHighlights=null===(a=this.item.highlights)||void 0===a?void 0:a.detail,this.saneTooltip=this.item.tooltip),this._init=new zn((()=>{var i;const e=null!==(i=t.label)&&void 0!==i?i:"",s=I_(e).text.trim(),n=t.ariaLabel||[e,this.saneDescription,this.saneDetail].map((t=>function(t){return t?t.replace(/\$\((.*?)\)/g,((t,i)=>` ${i} `)).trim():""}(t))).filter((t=>!!t)).join(", ");return{saneLabel:e,saneSortLabel:s,saneAriaLabel:n}}))}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(t){this._element=t}get hidden(){return this._hidden}set hidden(t){this._hidden=t}get checked(){return this._checked}set checked(t){t!==this._checked&&(this._checked=t,this._onChecked.fire({listElement:this,checked:t}))}get separator(){return this._separator}set separator(t){this._separator=t}get labelHighlights(){return this._labelHighlights}set labelHighlights(t){this._labelHighlights=t}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(t){this._descriptionHighlights=t}get detailHighlights(){return this._detailHighlights}set detailHighlights(t){this._detailHighlights=t}}class az{constructor(t){this.themeService=t}get templateId(){return az.ID}renderTemplate(t){const i=Object.create(null);i.toDisposeElement=[],i.toDisposeTemplate=[],i.entry=Ol(t,hz(".quick-input-list-entry"));const e=Ol(i.entry,hz("label.quick-input-list-label"));i.toDisposeTemplate.push(qa(e,Ll.CLICK,(t=>{i.checkbox.offsetParent||t.preventDefault()}))),i.checkbox=Ol(e,hz("input.quick-input-list-checkbox")),i.checkbox.type="checkbox",i.toDisposeTemplate.push(qa(i.checkbox,Ll.CHANGE,(()=>{i.element.checked=i.checkbox.checked})));const s=Ol(e,hz(".quick-input-list-rows")),n=Ol(s,hz(".quick-input-list-row")),o=Ol(s,hz(".quick-input-list-row"));i.label=new Gj(n,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0}),i.toDisposeTemplate.push(i.label),i.icon=Il(i.label.element,hz(".quick-input-list-icon"));const r=Ol(n,hz(".quick-input-list-entry-keybinding"));i.keybinding=new Xj(r,It);const h=Ol(o,hz(".quick-input-list-label-meta"));return i.detail=new Gj(h,{supportHighlights:!0,supportIcons:!0}),i.toDisposeTemplate.push(i.detail),i.separator=Ol(i.entry,hz(".quick-input-list-separator")),i.actionBar=new YB(i.entry),i.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),i.toDisposeTemplate.push(i.actionBar),i}renderElement(t,i,e){var s,n,o,r;e.element=t,t.element=null!==(s=e.entry)&&void 0!==s?s:void 0;const h=t.item?t.item:t.separator;e.checkbox.checked=t.checked,e.toDisposeElement.push(t.onChecked((t=>e.checkbox.checked=t)));const{labelHighlights:c,descriptionHighlights:a,detailHighlights:l}=t;if(null===(n=t.item)||void 0===n?void 0:n.iconPath){const i=Hy(this.themeService.getColorTheme().type)?t.item.iconPath.dark:null!==(o=t.item.iconPath.light)&&void 0!==o?o:t.item.iconPath.dark,s=ms.revive(i);e.icon.className="quick-input-list-icon",e.icon.style.backgroundImage=Vl(s)}else e.icon.style.backgroundImage="",e.icon.className=(null===(r=t.item)||void 0===r?void 0:r.iconClass)?`quick-input-list-icon ${t.item.iconClass}`:"";const u={matches:c||[],descriptionTitle:t.saneDescription,descriptionMatches:a||[],labelEscapeNewLines:!0};"separator"!==h.type?(u.extraClasses=h.iconClasses,u.italic=h.italic,u.strikethrough=h.strikethrough,e.entry.classList.remove("quick-input-list-separator-as-item")):e.entry.classList.add("quick-input-list-separator-as-item"),e.label.setLabel(t.saneLabel,t.saneDescription,u),e.keybinding.set("separator"===h.type?void 0:h.keybinding),t.saneDetail?(e.detail.element.style.display="",e.detail.setLabel(t.saneDetail,void 0,{matches:l,title:t.saneDetail,labelEscapeNewLines:!0})):e.detail.element.style.display="none",t.item&&t.separator&&t.separator.label?(e.separator.textContent=t.separator.label,e.separator.style.display=""):e.separator.style.display="none",e.entry.classList.toggle("quick-input-list-separator-border",!!t.separator);const d=h.buttons;d&&d.length?(e.actionBar.push(d.map(((i,e)=>{let s=i.iconClass||(i.iconPath?oz(i.iconPath):void 0);return i.alwaysVisible&&(s=s?`${s} always-visible`:"always-visible"),{id:`id-${e}`,class:s,enabled:!0,label:"",tooltip:i.tooltip||"",run:()=>{"separator"!==h.type?t.fireButtonTriggered({button:i,item:h}):t.fireSeparatorButtonTriggered({button:i,separator:h})}}})),{icon:!0,label:!1}),e.entry.classList.add("has-actions")):e.entry.classList.remove("has-actions")}disposeElement(t,i,e){e.toDisposeElement=Qi(e.toDisposeElement),e.actionBar.clear()}disposeTemplate(t){t.toDisposeElement=Qi(t.toDisposeElement),t.toDisposeTemplate=Qi(t.toDisposeTemplate)}}az.ID="listelement";class lz{getHeight(t){return t.item?t.saneDetail?44:22:24}getTemplateId(t){return az.ID}}var uz;!function(t){t[t.First=1]="First",t[t.Second=2]="Second",t[t.Last=3]="Last",t[t.Next=4]="Next",t[t.Previous=5]="Previous",t[t.NextPage=6]="NextPage",t[t.PreviousPage=7]="PreviousPage"}(uz||(uz={}));class dz{constructor(t,i,e,s){this.parent=t,this.options=e,this.inputElements=[],this.elements=[],this.elementsToIndexes=new Map,this.matchOnDescription=!1,this.matchOnDetail=!1,this.matchOnLabel=!0,this.matchOnLabelMode="fuzzy",this.sortByLabel=!0,this._onChangedAllVisibleChecked=new de,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new de,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new de,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new de,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new de,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new de,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._onKeyDown=new de,this.onKeyDown=this._onKeyDown.event,this._onLeave=new de,this.onLeave=this._onLeave.event,this._listElementChecked=new de,this._fireCheckedEvents=!0,this.elementDisposables=[],this.disposables=[],this.id=i,this.container=Ol(this.parent,hz(".quick-input-list"));const n=new lz,o=new pz;if(this.list=e.createList("QuickInput",this.container,n,[new az(s)],{identityProvider:{getId:t=>{var i,e,s,n,o,r,h,c;return null!==(c=null!==(r=null!==(n=null!==(e=null===(i=t.item)||void 0===i?void 0:i.id)&&void 0!==e?e:null===(s=t.item)||void 0===s?void 0:s.label)&&void 0!==n?n:null===(o=t.separator)||void 0===o?void 0:o.id)&&void 0!==r?r:null===(h=t.separator)||void 0===h?void 0:h.label)&&void 0!==c?c:""}},setRowLineHeight:!1,multipleSelectionSupport:!1,horizontalScrolling:!1,accessibilityProvider:o}),this.list.getHTMLElement().id=i,this.disposables.push(this.list),this.disposables.push(this.list.onKeyDown((t=>{const i=new Qh(t);switch(i.keyCode){case 10:this.toggleCheckbox();break;case 31:(Ct?t.metaKey:t.ctrlKey)&&this.list.setFocus(x(this.list.length));break;case 16:{const t=this.list.getFocus();1===t.length&&0===t[0]&&this._onLeave.fire();break}case 18:{const t=this.list.getFocus();1===t.length&&t[0]===this.list.length-1&&this._onLeave.fire();break}}this._onKeyDown.fire(i)}))),this.disposables.push(this.list.onMouseDown((t=>{2!==t.browserEvent.button&&t.browserEvent.preventDefault()}))),this.disposables.push(Va(this.container,Ll.CLICK,(t=>{(t.x||t.y)&&this._onLeave.fire()}))),this.disposables.push(this.list.onMouseMiddleClick((()=>{this._onLeave.fire()}))),this.disposables.push(this.list.onContextMenu((t=>{"number"==typeof t.index&&(t.browserEvent.preventDefault(),this.list.setSelection([t.index]))}))),e.hoverDelegate){const t=new cc(e.hoverDelegate.delay);this.disposables.push(this.list.onMouseOver((async i=>{var e;if(i.browserEvent.target instanceof HTMLAnchorElement)t.cancel();else if(i.browserEvent.relatedTarget instanceof HTMLAnchorElement||!al(i.browserEvent.relatedTarget,null===(e=i.element)||void 0===e?void 0:e.element))try{await t.trigger((async()=>{i.element&&this.showHover(i.element)}))}catch(i){if(!ji(i))throw i}}))),this.disposables.push(this.list.onMouseOut((i=>{var e;al(i.browserEvent.relatedTarget,null===(e=i.element)||void 0===e?void 0:e.element)||t.cancel()}))),this.disposables.push(t)}this.disposables.push(this._listElementChecked.event((()=>this.fireCheckedEvents()))),this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onSeparatorButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return he.map(this.list.onDidChangeFocus,(t=>t.elements.map((t=>t.item))))}get onDidChangeSelection(){return he.map(this.list.onDidChangeSelection,(t=>({items:t.elements.map((t=>t.item)),event:t.browserEvent})))}get scrollTop(){return this.list.scrollTop}set scrollTop(t){this.list.scrollTop=t}get ariaLabel(){return this.list.getHTMLElement().ariaLabel}set ariaLabel(t){this.list.getHTMLElement().ariaLabel=t}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,!1)}allVisibleChecked(t,i=!0){for(let e=0,s=t.length;e{i.hidden||(i.checked=t)}))}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}setElements(t){this.elementDisposables=Qi(this.elementDisposables);const i=t=>this.fireButtonTriggered(t),e=t=>this.fireSeparatorButtonTriggered(t);this.inputElements=t;const s=new Map,n=this.parent.classList.contains("show-checkboxes");this.elements=t.reduce(((o,r,h)=>{var c;if("separator"===r.type&&!r.buttons)return o;const a=new cz(r,h>0?t[h-1]:void 0,h,n,i,e,this._listElementChecked),l=o.length;return o.push(a),s.set(null!==(c=a.item)&&void 0!==c?c:a.separator,l),o}),[]),this.elementsToIndexes=s,this.list.splice(0,this.list.length),this.list.splice(0,this.list.length,this.elements),this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map((t=>t.item))}setFocusedElements(t){if(this.list.setFocus(t.filter((t=>this.elementsToIndexes.has(t))).map((t=>this.elementsToIndexes.get(t)))),t.length>0){const t=this.list.getFocus()[0];"number"==typeof t&&this.list.reveal(t)}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(t){this.list.setSelection(t.filter((t=>this.elementsToIndexes.has(t))).map((t=>this.elementsToIndexes.get(t))))}getCheckedElements(){return this.elements.filter((t=>t.checked)).map((t=>t.item)).filter((t=>!!t))}setCheckedElements(t){try{this._fireCheckedEvents=!1;const i=new Set;for(const e of t)i.add(e);for(const t of this.elements)t.checked=i.has(t.item)}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}set enabled(t){this.list.getHTMLElement().style.pointerEvents=t?"":"none"}focus(t){if(!this.list.length)return;switch(t===uz.Second&&this.list.length<2&&(t=uz.First),t){case uz.First:this.list.scrollTop=0,this.list.focusFirst(void 0,(t=>!!t.item));break;case uz.Second:this.list.scrollTop=0,this.list.focusNth(1,void 0,(t=>!!t.item));break;case uz.Last:this.list.scrollTop=this.list.scrollHeight,this.list.focusLast(void 0,(t=>!!t.item));break;case uz.Next:{this.list.focusNext(void 0,!0,void 0,(t=>!!t.item));const t=this.list.getFocus()[0];0!==t&&!this.elements[t-1].item&&this.list.firstVisibleIndex>t-1&&this.list.reveal(t-1);break}case uz.Previous:{this.list.focusPrevious(void 0,!0,void 0,(t=>!!t.item));const t=this.list.getFocus()[0];0!==t&&!this.elements[t-1].item&&this.list.firstVisibleIndex>t-1&&this.list.reveal(t-1);break}case uz.NextPage:this.list.focusNextPage(void 0,(t=>!!t.item));break;case uz.PreviousPage:this.list.focusPreviousPage(void 0,(t=>!!t.item))}const i=this.list.getFocus()[0];"number"==typeof i&&this.list.reveal(i)}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}showHover(t){var i,e,s;void 0!==this.options.hoverDelegate&&(this._lastHover&&!this._lastHover.isDisposed&&(null===(e=(i=this.options.hoverDelegate).onDidHideHover)||void 0===e||e.call(i),null===(s=this._lastHover)||void 0===s||s.dispose()),t.element&&t.saneTooltip&&(this._lastHover=this.options.hoverDelegate.showHover({content:t.saneTooltip,target:t.element,linkHandler:t=>{this.options.linkOpenerDelegate(t)},appearance:{showPointer:!0},container:this.container,position:{hoverPosition:1}},!1)))}layout(t){this.list.getHTMLElement().style.maxHeight=t?44*Math.floor(t/44)+6+"px":"",this.list.layout()}filter(t){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))return this.list.layout(),!1;const i=t;if((t=t.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let e;this.elements.forEach((s=>{var n,o,r,h;let c;c="fuzzy"===this.matchOnLabelMode?this.matchOnLabel&&null!==(n=__(t,I_(s.saneLabel)))&&void 0!==n?n:void 0:this.matchOnLabel&&null!==(o=function(t,i){const{text:e,iconOffsets:s}=i;if(!s||0===s.length)return fz(t,e);const n=Qn(e," "),o=e.length-n.length,r=fz(t,n);if(r)for(const t of r){const i=s[t.start+o]+o;t.start+=i,t.end+=i}return r}(i,I_(s.saneLabel)))&&void 0!==o?o:void 0;const a=this.matchOnDescription&&null!==(r=__(t,I_(s.saneDescription||"")))&&void 0!==r?r:void 0,l=this.matchOnDetail&&null!==(h=__(t,I_(s.saneDetail||"")))&&void 0!==h?h:void 0;if(c||a||l?(s.labelHighlights=c,s.descriptionHighlights=a,s.detailHighlights=l,s.hidden=!1):(s.labelHighlights=void 0,s.descriptionHighlights=void 0,s.detailHighlights=void 0,s.hidden=!s.item||!s.item.alwaysShow),s.item?s.separator=void 0:s.separator&&(s.hidden=!0),!this.sortByLabel){const t=s.index&&this.inputElements[s.index-1];e=t&&"separator"===t.type?t:e,e&&!s.hidden&&(s.separator=e,e=void 0)}}))}else this.elements.forEach((t=>{t.labelHighlights=void 0,t.descriptionHighlights=void 0,t.detailHighlights=void 0,t.hidden=!1;const i=t.index&&this.inputElements[t.index-1];t.item&&(t.separator=i&&"separator"===i.type&&!i.buttons?i:void 0)}));const e=this.elements.filter((t=>!t.hidden));if(this.sortByLabel&&t){const i=t.toLowerCase();e.sort(((t,e)=>function(t,i,e){const s=t.labelHighlights||[],n=i.labelHighlights||[];return s.length&&!n.length?-1:!s.length&&n.length?1:0===s.length&&0===n.length?0:function(t,i,e){const s=t.toLowerCase(),n=i.toLowerCase(),o=function(t,i,e){const s=t.toLowerCase(),n=i.toLowerCase(),o=s.startsWith(e),r=n.startsWith(e);if(o!==r)return o?-1:1;if(o&&r){if(s.lengthn.length)return 1}return 0}(t,i,e);if(o)return o;const r=s.endsWith(e);if(r!==n.endsWith(e))return r?-1:1;const h=function(t,i){const e=t||"",s=i||"",n=tz.value.collator.compare(e,s);return tz.value.collatorIsNumeric&&0===n&&e!==s?e{var s;return t.set(null!==(s=i.item)&&void 0!==s?s:i.separator,e),t}),new Map),this.list.splice(0,this.list.length,e),this.list.setFocus([]),this.list.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(e.length),!0}toggleCheckbox(){try{this._fireCheckedEvents=!1;const t=this.list.getFocusedElements(),i=this.allVisibleChecked(t);for(const e of t)e.checked=!i}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}display(t){this.container.style.display=t?"":"none"}isDisplayed(){return"none"!==this.container.style.display}dispose(){this.elementDisposables=Qi(this.elementDisposables),this.disposables=Qi(this.disposables)}fireCheckedEvents(){this._fireCheckedEvents&&(this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedCheckedCount.fire(this.getCheckedCount()),this._onChangedCheckedElements.fire(this.getCheckedElements()))}fireButtonTriggered(t){this._onButtonTriggered.fire(t)}fireSeparatorButtonTriggered(t){this._onSeparatorButtonTriggered.fire(t)}style(t){this.list.style(t)}toggleHover(){const t=this.list.getFocusedElements()[0];if(!(null==t?void 0:t.saneTooltip))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();const i=this.list.getFocusedElements()[0];if(!i)return;this.showHover(i);const e=new Xi;e.add(this.list.onDidChangeFocus((t=>{t.indexes.length&&this.showHover(t.elements[0])}))),this._lastHover&&e.add(this._lastHover),this._toggleHover=e,this.elementDisposables.push(this._toggleHover)}}function fz(t,i){const e=i.toLowerCase().indexOf(t.toLowerCase());return-1!==e?[{start:e,end:e+t.length}]:null}rz([nw],dz.prototype,"onDidChangeFocus",null),rz([nw],dz.prototype,"onDidChangeSelection",null);class pz{getWidgetAriaLabel(){return ot(0,"Quick Input")}getAriaLabel(t){var i;return(null===(i=t.separator)||void 0===i?void 0:i.label)?`${t.saneAriaLabel}, ${t.separator.label}`:t.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(t){return t.hasCheckbox?"checkbox":"option"}isChecked(t){if(t.hasCheckbox)return{value:t.checked,onDidChange:t.onChecked}}}const gz={iconClass:Cr.asClassName(Os.quickInputBack),tooltip:ot(0,"Back"),handle:-1};class mz extends te{constructor(t){super(),this.ui=t,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=mz.noPromptMessage,this._severity=sT.Ignore,this.onDidTriggerButtonEmitter=this._register(new de),this.onDidHideEmitter=this._register(new de),this.onDisposeEmitter=this._register(new de),this.visibleDisposables=this._register(new Xi),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(t){this._title=t,this.update()}get description(){return this._description}set description(t){this._description=t,this.update()}get step(){return this._steps}set step(t){this._steps=t,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(t){this._totalSteps=t,this.update()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this.update()}get contextKey(){return this._contextKey}set contextKey(t){this._contextKey=t,this.update()}get busy(){return this._busy}set busy(t){this._busy=t,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(t){const i=this._ignoreFocusOut!==t&&!Mt;this._ignoreFocusOut=t&&!Mt,i&&this.update()}get buttons(){return this._buttons}set buttons(t){this._buttons=t,this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(t){this._toggles=null!=t?t:[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(t){this._validationMessage=t,this.update()}get severity(){return this._severity}set severity(t){this._severity=t,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton((t=>{-1!==this.buttons.indexOf(t)&&this.onDidTriggerButtonEmitter.fire(t)}))),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(t=Tj.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:t})}update(){var t,i;if(!this.visible)return;const e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:e||" "===this.ui.title.innerHTML||(this.ui.title.innerText=" ");const s=this.getDescription();if(this.ui.description1.textContent!==s&&(this.ui.description1.textContent=s),this.ui.description2.textContent!==s&&(this.ui.description2.textContent=s),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?_l(this.ui.widget,this._widget):_l(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new dc,this.busyDelay.setIfNotSet((()=>{this.visible&&this.ui.progressBar.infinite()}),800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const t=this.buttons.filter((t=>t===gz));this.ui.leftActionBar.push(t.map(((t,i)=>{const e=new mr(`id-${i}`,"",t.iconClass||oz(t.iconPath),!0,(async()=>{this.onDidTriggerButtonEmitter.fire(t)}));return e.tooltip=t.tooltip||"",e})),{icon:!0,label:!1}),this.ui.rightActionBar.clear();const i=this.buttons.filter((t=>t!==gz));this.ui.rightActionBar.push(i.map(((t,i)=>{const e=new mr(`id-${i}`,"",t.iconClass||oz(t.iconPath),!0,(async()=>{this.onDidTriggerButtonEmitter.fire(t)}));return e.tooltip=t.tooltip||"",e})),{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const e=null!==(i=null===(t=this.toggles)||void 0===t?void 0:t.filter((t=>t instanceof i$)))&&void 0!==i?i:[];this.ui.inputBox.toggles=e}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const n=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==n&&(this._lastValidationMessage=n,_l(this.ui.message),function(t,i,e){_l(i);const s=function(t){const i=[];let e,s=0;for(;e=ez.exec(t);){e.index-s>0&&i.push(t.substring(s,e.index));const[,n,o,,r]=e;i.push(r?{label:n,href:o,title:r}:{label:n,href:o}),s=e.index+e[0].length}return s{var s;(s=i)&&"function"==typeof s.preventDefault&&"function"==typeof s.stopPropagation&&Fl(i,!0),e.callback(t.href)},h=e.disposables.add(new Bk(o,Ll.CLICK)).event,c=e.disposables.add(new Bk(o,Ll.KEY_DOWN)).event,a=he.chain(c,(t=>t.filter((t=>{const i=new Qh(t);return i.equals(10)||i.equals(3)}))));e.disposables.add(rw.addTarget(o));const l=e.disposables.add(new Bk(o,ow.Tap)).event;he.any(h,l,a)(r,null,e.disposables),i.appendChild(o)}}(n,this.ui.message,{callback:t=>{this.ui.linkOpenerDelegate(t)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?ot(0,"{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(t){if(this.ui.inputBox.showDecoration(t),t!==sT.Ignore){const i=this.ui.inputBox.stylesForType(t);this.ui.message.style.color=i.foreground?`${i.foreground}`:"",this.ui.message.style.backgroundColor=i.background?`${i.background}`:"",this.ui.message.style.border=i.border?`1px solid ${i.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}mz.noPromptMessage=ot(0,"Press 'Enter' to confirm your input or 'Escape' to cancel");class wz extends mz{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new de),this.onWillAcceptEmitter=this._register(new de),this.onDidAcceptEmitter=this._register(new de),this.onDidCustomEmitter=this._register(new de),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._autoFocusOnList=!0,this._keepScrollPosition=!1,this._itemActivation=Rj.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new de),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new de),this.onDidTriggerItemButtonEmitter=this._register(new de),this.onDidTriggerSeparatorButtonEmitter=this._register(new de),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=t=>t,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(t){this._quickNavigate=t,this.update()}get value(){return this._value}set value(t){this.doSetValue(t)}doSetValue(t,i){this._value!==t&&(this._value=t,i||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(t){this._ariaLabel=t,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(t){this.ui.list.scrollTop=t}set items(t){this._items=t,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(t){this._canSelectMany=t,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(t){this._canAcceptInBackground=t}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(t){this._matchOnDescription=t,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(t){this._matchOnDetail=t,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(t){this._matchOnLabel=t,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(t){this._matchOnLabelMode=t,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(t){this._sortByLabel=t,this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(t){this._autoFocusOnList=t,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(t){this._keepScrollPosition=t}get itemActivation(){return this._itemActivation}set itemActivation(t){this._itemActivation=t}get activeItems(){return this._activeItems}set activeItems(t){this._activeItems=t,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(t){this._selectedItems=t,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Fj:this.ui.keyMods}set valueSelection(t){this._valueSelection=t,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(t){this._customButton=t,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(t){this._customButtonLabel=t,this.update()}get customHover(){return this._customButtonHover}set customHover(t){this._customButtonHover=t,this.update()}get ok(){return this._ok}set ok(t){this._ok=t,this.update()}get hideInput(){return!!this._hideInput}set hideInput(t){this._hideInput=t,this.update()}trySelectFirst(){this.autoFocusOnList&&(this.canSelectMany||this.ui.list.focus(uz.First))}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((t=>{this.doSetValue(t,!0)}))),this.visibleDisposables.add(this.ui.inputBox.onMouseDown((()=>{this.autoFocusOnList||this.ui.list.clearFocus()}))),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown((t=>{switch(t.keyCode){case 18:this.ui.list.focus(uz.Next),this.canSelectMany&&this.ui.list.domFocus(),Fl(t,!0);break;case 16:this.ui.list.getFocusedElements().length?this.ui.list.focus(uz.Previous):this.ui.list.focus(uz.Last),this.canSelectMany&&this.ui.list.domFocus(),Fl(t,!0);break;case 12:this.ui.list.focus(uz.NextPage),this.canSelectMany&&this.ui.list.domFocus(),Fl(t,!0);break;case 11:this.ui.list.focus(uz.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),Fl(t,!0);break;case 17:if(!this._canAcceptInBackground)return;if(!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:!t.ctrlKey&&!t.metaKey||t.shiftKey||t.altKey||(this.ui.list.focus(uz.First),Fl(t,!0));break;case 13:!t.ctrlKey&&!t.metaKey||t.shiftKey||t.altKey||(this.ui.list.focus(uz.Last),Fl(t,!0))}}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)}))),this.visibleDisposables.add(this.ui.onDidCustom((()=>{this.onDidCustomEmitter.fire()}))),this.visibleDisposables.add(this.ui.list.onDidChangeFocus((t=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&l(t,this._activeItems,((t,i)=>t===i))||(this._activeItems=t,this.onDidChangeActiveEmitter.fire(t))}))),this.visibleDisposables.add(this.ui.list.onDidChangeSelection((({items:t,event:i})=>{this.canSelectMany?t.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&l(t,this._selectedItems,((t,i)=>t===i))||(this._selectedItems=t,this.onDidChangeSelectionEmitter.fire(t),t.length&&this.handleAccept(Al(i)&&1===i.button))}))),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements((t=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&l(t,this._selectedItems,((t,i)=>t===i))||(this._selectedItems=t,this.onDidChangeSelectionEmitter.fire(t)))}))),this.visibleDisposables.add(this.ui.list.onButtonTriggered((t=>this.onDidTriggerItemButtonEmitter.fire(t)))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered((t=>this.onDidTriggerSeparatorButtonEmitter.fire(t)))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(t){let i=!1;this.onWillAcceptEmitter.fire({veto:()=>i=!0}),i||this.onDidAcceptEmitter.fire({inBackground:t})}registerQuickNavigation(){return Va(this.ui.container,Ll.KEY_UP,(t=>{if(this.canSelectMany||!this._quickNavigate)return;const i=new Qh(t),e=i.keyCode;this._quickNavigate.keybindings.some((t=>{const s=t.getChords();return!(s.length>1||(s[0].shiftKey&&4===e?i.ctrlKey||i.altKey||i.metaKey:!(s[0].altKey&&6===e||s[0].ctrlKey&&5===e||s[0].metaKey&&57===e)))}))&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)}))}update(){if(!this.visible)return;const t=this.keepScrollPosition?this.scrollTop:0,i=!!this.description,e={title:!!this.title||!!this.step||!!this.buttons.length,description:i,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||i,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let s=this.ariaLabel;if(!s&&e.inputBox&&(s=this.placeholder||wz.DEFAULT_ARIA_LABEL,this.title&&(s+=` - ${this.title}`)),this.ui.list.ariaLabel!==s&&(this.ui.list.ariaLabel=null!=s?s:null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated)switch(this.itemsUpdated=!1,this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case Rj.NONE:this._itemActivation=Rj.FIRST;break;case Rj.SECOND:this.ui.list.focus(uz.Second),this._itemActivation=Rj.FIRST;break;case Rj.LAST:this.ui.list.focus(uz.Last),this._itemActivation=Rj.FIRST;break;default:this.trySelectFirst()}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",e.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(uz.First)),this.keepScrollPosition&&(this.scrollTop=t)}}wz.DEFAULT_ARIA_LABEL=ot(0,"Type to narrow down results.");class vz extends mz{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new de),this.onDidAcceptEmitter=this._register(new de),this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(t){this._value=t||"",this.update()}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.update()}get password(){return this._password}set password(t){this._password=t,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((t=>{t!==this.value&&(this._value=t,this.onDidValueChangeEmitter.fire(t))}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>this.onDidAcceptEmitter.fire()))),this.valueSelectionUpdated=!0),super.show()}update(){this.visible&&(this.ui.container.classList.remove("hidden-input"),this.ui.setVisibilities({title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0}),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password))}}const bz=$l;class yz extends te{constructor(t,i,e){super(),this.options=t,this.themeService=i,this.layoutService=e,this.enabled=!0,this.onDidAcceptEmitter=this._register(new de),this.onDidCustomEmitter=this._register(new de),this.onDidTriggerButtonEmitter=this._register(new de),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new de),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new de),this.onHide=this.onHideEmitter.event,this.idPrefix=t.idPrefix,this.parentElement=t.container,this.styles=t.styles,this._register(he.runAndSubscribe(Wa,(({window:t,disposables:i})=>this.registerKeyModsListeners(t,i)),{window:$n,disposables:this._store})),this._register(ja((t=>{this.ui&&Na(this.ui.container)===t&&this.reparentUI(this.layoutService.mainContainer)})))}registerKeyModsListeners(t,i){const e=t=>{this.keyMods.ctrlCmd=t.ctrlKey||t.metaKey,this.keyMods.alt=t.altKey};for(const s of[Ll.KEY_DOWN,Ll.KEY_UP,Ll.MOUSE_DOWN])i.add(Va(t,s,e,!0))}getUI(t){if(this.ui)return t&&this.parentElement.ownerDocument!==this.layoutService.activeContainer.ownerDocument&&this.reparentUI(this.layoutService.activeContainer),this.ui;const i=Ol(this.parentElement,bz(".quick-input-widget.show-file-icons"));i.tabIndex=-1,i.style.display="none";const e=vl(i),s=Ol(i,bz(".quick-input-titlebar")),n=this.options.hoverDelegate?{hoverDelegate:this.options.hoverDelegate}:void 0,o=this._register(new YB(s,n));o.domNode.classList.add("quick-input-left-action-bar");const r=Ol(s,bz(".quick-input-title")),h=this._register(new YB(s,n));h.domNode.classList.add("quick-input-right-action-bar");const c=Ol(i,bz(".quick-input-header")),a=Ol(c,bz("input.quick-input-check-all"));a.type="checkbox",a.setAttribute("aria-label",ot(0,"Toggle all checkboxes")),this._register(qa(a,Ll.CHANGE,(()=>{A.setAllVisibleChecked(a.checked)}))),this._register(Va(a,Ll.CLICK,(t=>{(t.x||t.y)&&f.setFocus()})));const l=Ol(c,bz(".quick-input-description")),u=Ol(c,bz(".quick-input-and-message")),d=Ol(u,bz(".quick-input-filter")),f=this._register(new Uj(d,this.styles.inputBox,this.styles.toggle));f.setAttribute("aria-describedby",`${this.idPrefix}message`);const p=Ol(d,bz(".quick-input-visible-count"));p.setAttribute("aria-live","polite"),p.setAttribute("aria-atomic","true");const g=new Bj(p,{countFormat:ot(0,"{0} Results")},this.styles.countBadge),m=Ol(d,bz(".quick-input-count"));m.setAttribute("aria-live","polite");const w=new Bj(m,{countFormat:ot(0,"{0} Selected")},this.styles.countBadge),v=Ol(c,bz(".quick-input-action")),b=this._register(new Nj(v,this.styles.button));b.label=ot(0,"OK"),this._register(b.onDidClick((()=>{this.onDidAcceptEmitter.fire()})));const y=Ol(c,bz(".quick-input-action")),k=this._register(new Nj(y,this.styles.button));k.label=ot(0,"Custom"),this._register(k.onDidClick((()=>{this.onDidCustomEmitter.fire()})));const x=Ol(u,bz(`#${this.idPrefix}message.quick-input-message`)),C=this._register(new Hj(i,this.styles.progressBar));C.getContainer().classList.add("quick-input-progress");const S=Ol(i,bz(".quick-input-html-widget"));S.tabIndex=-1;const D=Ol(i,bz(".quick-input-description")),E=this.idPrefix+"list",A=this._register(new dz(i,E,this.options,this.themeService));f.setAttribute("aria-controls",E),this._register(A.onDidChangeFocus((()=>{var t;f.setAttribute("aria-activedescendant",null!==(t=A.getActiveDescendant())&&void 0!==t?t:"")}))),this._register(A.onChangedAllVisibleChecked((t=>{a.checked=t}))),this._register(A.onChangedVisibleCount((t=>{g.setCount(t)}))),this._register(A.onChangedCheckedCount((t=>{w.setCount(t)}))),this._register(A.onLeave((()=>{setTimeout((()=>{f.setFocus(),this.controller instanceof wz&&this.controller.canSelectMany&&A.clearFocus()}),0)})));const M=Rl(i);return this._register(M),this._register(Va(i,Ll.FOCUS,(t=>{al(t.relatedTarget,i)||(this.previousFocusElement=t.relatedTarget instanceof HTMLElement?t.relatedTarget:void 0)}),!0)),this._register(M.onDidBlur((()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(Tj.Blur),this.previousFocusElement=void 0}))),this._register(Va(i,Ll.FOCUS,(()=>{f.setFocus()}))),this._register(qa(i,Ll.KEY_DOWN,(t=>{if(!al(t.target,S))switch(t.keyCode){case 3:Fl(t,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:Fl(t,!0),this.hide(Tj.Gesture);break;case 2:if(!t.altKey&&!t.ctrlKey&&!t.metaKey){const e=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(i.classList.contains("show-checkboxes")?e.push("input"):e.push("input[type=text]"),this.getUI().list.isDisplayed()&&e.push(".monaco-list"),this.getUI().message&&e.push(".quick-input-message a"),this.getUI().widget){if(al(t.target,this.getUI().widget))break;e.push(".quick-input-html-widget")}const s=i.querySelectorAll(e.join(", "));t.shiftKey&&t.target===s[0]?(Fl(t,!0),A.clearFocus()):!t.shiftKey&&al(t.target,s[s.length-1])&&(Fl(t,!0),s[0].focus())}break;case 10:t.ctrlKey&&(Fl(t,!0),this.getUI().list.toggleHover())}}))),this.ui={container:i,styleSheet:e,leftActionBar:o,titleBar:s,title:r,description1:D,description2:l,widget:S,rightActionBar:h,checkAll:a,inputContainer:u,filterContainer:d,inputBox:f,visibleCountContainer:p,visibleCount:g,countContainer:m,count:w,okContainer:v,ok:b,message:x,customButtonContainer:y,customButton:k,list:A,progressBar:C,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:t=>this.show(t),hide:()=>this.hide(),setVisibilities:t=>this.setVisibilities(t),setEnabled:t=>this.setEnabled(t),setContextKey:t=>this.options.setContextKey(t),linkOpenerDelegate:t=>this.options.linkOpenerDelegate(t)},this.updateStyles(),this.ui}reparentUI(t){this.ui&&(this.parentElement=t,Ol(this.parentElement,this.ui.container))}pick(t,i={},e=ke.None){return new Promise(((s,n)=>{let o=t=>{var e;o=s,null===(e=i.onKeyMods)||void 0===e||e.call(i,r.keyMods),s(t)};if(e.isCancellationRequested)return void o(void 0);const r=this.createQuickPick();let h;const c=[r,r.onDidAccept((()=>{if(r.canSelectMany)o(r.selectedItems.slice()),r.hide();else{const t=r.activeItems[0];t&&(o(t),r.hide())}})),r.onDidChangeActive((t=>{const e=t[0];e&&i.onDidFocus&&i.onDidFocus(e)})),r.onDidChangeSelection((t=>{if(!r.canSelectMany){const i=t[0];i&&(o(i),r.hide())}})),r.onDidTriggerItemButton((t=>i.onDidTriggerItemButton&&i.onDidTriggerItemButton({...t,removeItem:()=>{const i=r.items.indexOf(t.item);if(-1!==i){const t=r.items.slice(),e=t.splice(i,1),s=r.activeItems.filter((t=>t!==e[0])),n=r.keepScrollPosition;r.keepScrollPosition=!0,r.items=t,s&&(r.activeItems=s),r.keepScrollPosition=n}}}))),r.onDidTriggerSeparatorButton((t=>{var e;return null===(e=i.onDidTriggerSeparatorButton)||void 0===e?void 0:e.call(i,t)})),r.onDidChangeValue((t=>{!h||t||1===r.activeItems.length&&r.activeItems[0]===h||(r.activeItems=[h])})),e.onCancellationRequested((()=>{r.hide()})),r.onDidHide((()=>{Qi(c),o(void 0)}))];r.title=i.title,r.canSelectMany=!!i.canPickMany,r.placeholder=i.placeHolder,r.ignoreFocusOut=!!i.ignoreFocusLost,r.matchOnDescription=!!i.matchOnDescription,r.matchOnDetail=!!i.matchOnDetail,r.matchOnLabel=void 0===i.matchOnLabel||i.matchOnLabel,r.autoFocusOnList=void 0===i.autoFocusOnList||i.autoFocusOnList,r.quickNavigate=i.quickNavigate,r.hideInput=!!i.hideInput,r.contextKey=i.contextKey,r.busy=!0,Promise.all([t,i.activeItem]).then((([t,i])=>{h=i,r.busy=!1,r.items=t,r.canSelectMany&&(r.selectedItems=t.filter((t=>"separator"!==t.type&&t.picked))),h&&(r.activeItems=[h])})),r.show(),Promise.resolve(t).then(void 0,(t=>{n(t),r.hide()}))}))}createQuickPick(){const t=this.getUI(!0);return new wz(t)}createInputBox(){const t=this.getUI(!0);return new vz(t)}show(t){const i=this.getUI(!0);this.onShowEmitter.fire();const e=this.controller;this.controller=t,null==e||e.didHide(),this.setEnabled(!0),i.leftActionBar.clear(),i.title.textContent="",i.description1.textContent="",i.description2.textContent="",_l(i.widget),i.rightActionBar.clear(),i.checkAll.checked=!1,i.inputBox.placeholder="",i.inputBox.password=!1,i.inputBox.showDecoration(sT.Ignore),i.visibleCount.setCount(0),i.count.setCount(0),_l(i.message),i.progressBar.stop(),i.list.setElements([]),i.list.matchOnDescription=!1,i.list.matchOnDetail=!1,i.list.matchOnLabel=!0,i.list.sortByLabel=!0,i.ignoreFocusOut=!1,i.inputBox.toggles=void 0;const s=this.options.backKeybindingLabel();gz.tooltip=s?ot(0,"Back ({0})",s):ot(0,"Back"),i.container.style.display="",this.updateLayout(),i.inputBox.setFocus()}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(t){const i=this.getUI();i.title.style.display=t.title?"":"none",i.description1.style.display=t.description&&(t.inputBox||t.checkAll)?"":"none",i.description2.style.display=!t.description||t.inputBox||t.checkAll?"none":"",i.checkAll.style.display=t.checkAll?"":"none",i.inputContainer.style.display=t.inputBox?"":"none",i.filterContainer.style.display=t.inputBox?"":"none",i.visibleCountContainer.style.display=t.visibleCount?"":"none",i.countContainer.style.display=t.count?"":"none",i.okContainer.style.display=t.ok?"":"none",i.customButtonContainer.style.display=t.customButton?"":"none",i.message.style.display=t.message?"":"none",i.progressBar.getContainer().style.display=t.progressBar?"":"none",i.list.display(!!t.list),i.container.classList.toggle("show-checkboxes",!!t.checkBox),i.container.classList.toggle("hidden-input",!t.inputBox&&!t.description),this.updateLayout()}setEnabled(t){if(t!==this.enabled){this.enabled=t;for(const i of this.getUI().leftActionBar.viewItems)i.action.enabled=t;for(const i of this.getUI().rightActionBar.viewItems)i.action.enabled=t;this.getUI().checkAll.disabled=!t,this.getUI().inputBox.enabled=t,this.getUI().ok.enabled=t,this.getUI().list.enabled=t}}hide(t){var i,e;const s=this.controller;if(!s)return;const n=null===(i=this.ui)||void 0===i?void 0:i.container,o=n&&!al((r=n).ownerDocument.activeElement,r);var r;if(this.controller=null,this.onHideEmitter.fire(),n&&(n.style.display="none"),!o){let t=this.previousFocusElement;for(;t&&!t.offsetParent;)t=null!==(e=t.parentElement)&&void 0!==e?e:void 0;(null==t?void 0:t.offsetParent)?(t.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}s.didHide(t)}layout(t,i){this.dimension=t,this.titleBarOffset=i,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const t=this.ui.container.style,i=Math.min(.62*this.dimension.width,yz.MAX_WIDTH);t.width=i+"px",t.marginLeft="-"+i/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(t){this.styles=t,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:t,quickInputBackground:i,quickInputForeground:e,widgetBorder:s,widgetShadow:n}=this.styles.widget;this.ui.titleBar.style.backgroundColor=null!=t?t:"",this.ui.container.style.backgroundColor=null!=i?i:"",this.ui.container.style.color=null!=e?e:"",this.ui.container.style.border=s?`1px solid ${s}`:"",this.ui.container.style.boxShadow=n?`0 0 8px 2px ${n}`:"",this.ui.list.style(this.styles.list);const o=[];this.styles.pickerGroup.pickerGroupBorder&&o.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(o.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&o.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&o.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&o.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&o.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&o.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),o.push("}"));const r=o.join("\n");r!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=r)}}}yz.MAX_WIDTH=600;var kz=function(t,i){return function(e,s){i(e,s,t)}};let xz=class extends ox{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(_j))),this._quickAccess}constructor(t,i,e,s){super(e),this.instantiationService=t,this.contextKeyService=i,this.layoutService=s,this._onShow=this._register(new de),this._onHide=this._register(new de),this.contexts=new Map}createController(t=this.layoutService,i){const e={idPrefix:"quickInput_",container:t.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:t=>this.setContextKey(t),linkOpenerDelegate:t=>{this.instantiationService.invokeFunction((i=>{i.get(dP).open(t,{allowCommands:!0,fromUserGesture:!0})}))},returnFocus:()=>t.focus(),createList:(t,i,e,s,n)=>this.instantiationService.createInstance(uj,t,i,e,s,n),styles:this.computeStyles()},s=this._register(new yz({...e,...i},this.themeService,this.layoutService));return s.layout(t.activeContainerDimension,t.activeContainerOffset.quickPickTop),this._register(t.onDidLayoutActiveContainer((i=>s.layout(i,t.activeContainerOffset.quickPickTop)))),this._register(t.onDidChangeActiveContainer((()=>{s.isVisible()||s.layout(t.activeContainerDimension,t.activeContainerOffset.quickPickTop)}))),this._register(s.onShow((()=>{this.resetContextKeys(),this._onShow.fire()}))),this._register(s.onHide((()=>{this.resetContextKeys(),this._onHide.fire()}))),s}setContextKey(t){let i;t&&(i=this.contexts.get(t),i||(i=new ch(t,!1).bindTo(this.contextKeyService),this.contexts.set(t,i))),i&&i.get()||(this.resetContextKeys(),null==i||i.set(!0))}resetContextKeys(){this.contexts.forEach((t=>{t.get()&&t.reset()}))}pick(t,i={},e=ke.None){return this.controller.pick(t,i,e)}createQuickPick(){return this.controller.createQuickPick()}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:aw(gv),quickInputForeground:aw(mv),quickInputTitleBackground:aw(wv),widgetBorder:aw(kw),widgetShadow:aw(yw)},inputBox:IB,toggle:OB,countBadge:NB,button:TB,progressBar:RB,keybindingLabel:FB,list:PB({listBackground:gv,listFocusBackground:Mb,listFocusForeground:Eb,listInactiveFocusForeground:Eb,listInactiveSelectionIconForeground:Ab,listInactiveFocusBackground:Mb,listFocusOutline:vw,listInactiveFocusOutline:vw}),pickerGroup:{pickerGroupBorder:aw(bv),pickerGroupForeground:aw(vv)}}}};xz=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([kz(0,ur),kz(1,ah),kz(2,Xk),kz(3,qT)],xz);var Cz=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Sz=function(t,i){return function(e,s){i(e,s,t)}};let Dz=class extends xz{constructor(t,i,e,s,n){super(i,e,s,new QT(t.getContainerDomNode(),n)),this.host=void 0;const o=Az.get(t);if(o){const i=o.widget;this.host={_serviceBrand:void 0,get mainContainer(){return i.getDomNode()},getContainer:()=>i.getDomNode(),get containers(){return[i.getDomNode()]},get activeContainer(){return i.getDomNode()},get mainContainerDimension(){return t.getLayoutInfo()},get activeContainerDimension(){return t.getLayoutInfo()},get onDidLayoutMainContainer(){return t.onDidLayoutChange},get onDidLayoutActiveContainer(){return t.onDidLayoutChange},get onDidLayoutContainer(){return he.map(t.onDidLayoutChange,(t=>({container:i.getDomNode(),dimension:t})))},get onDidChangeActiveContainer(){return he.None},get onDidAddContainer(){return he.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>t.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};Dz=Cz([Sz(1,ur),Sz(2,ah),Sz(3,Xk),Sz(4,fr)],Dz);let Ez=class{get activeService(){const t=this.codeEditorService.getFocusedCodeEditor();if(!t)throw new Error("Quick input service needs a focused editor to work.");let i=this.mapEditorToService.get(t);if(!i){const e=i=this.instantiationService.createInstance(Dz,t);this.mapEditorToService.set(t,i),Gi(t.onDidDispose)((()=>{e.dispose(),this.mapEditorToService.delete(t)}))}return i}get quickAccess(){return this.activeService.quickAccess}constructor(t,i){this.instantiationService=t,this.codeEditorService=i,this.mapEditorToService=new Map}pick(t,i={},e=ke.None){return this.activeService.pick(t,i,e)}createQuickPick(){return this.activeService.createQuickPick()}createInputBox(){return this.activeService.createInputBox()}};Ez=Cz([Sz(0,ur),Sz(1,fr)],Ez);class Az{static get(t){return t.getContribution(Az.ID)}constructor(t){this.editor=t,this.widget=new Mz(this.editor)}dispose(){this.widget.dispose()}}Az.ID="editor.controller.quickInput";class Mz{constructor(t){this.codeEditor=t,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return Mz.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}Mz.ID="editor.contrib.quickInputWidget",lu(Az.ID,Az,4);class Lz{constructor(t,i,e,s,n){this._parsedThemeRuleBrand=void 0,this.token=t,this.index=i,this.fontStyle=e,this.foreground=s,this.background=n}}const Fz=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class Tz{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(t){if(null===t)return 0;const i=t.match(Fz);if(!i)throw new Error("Illegal value for token color: "+t);t=i[1].toUpperCase();let e=this._color2id.get(t);return e||(e=++this._lastColorId,this._color2id.set(t,e),this._id2color[e]=lg.fromHex("#"+t),e)}getColorMap(){return this._id2color.slice(0)}}class Rz{static createFromRawTokenTheme(t,i){return this.createFromParsedTokenTheme(function(t){if(!t||!Array.isArray(t))return[];const i=[];let e=0;for(let s=0,n=t.length;s{const e=function(t,i){return ti?1:0}(t.token,i.token);return 0!==e?e:t.index-i.index}));let e=0,s="000000",n="ffffff";for(;t.length>=1&&""===t[0].token;){const i=t.shift();-1!==i.fontStyle&&(e=i.fontStyle),null!==i.foreground&&(s=i.foreground),null!==i.background&&(n=i.background)}const o=new Tz;for(const t of i)o.getId(t);const r=o.getId(s),h=o.getId(n),c=new Iz(e,r,h),a=new _z(c);for(let i=0,e=t.length;i>>0,this._cache.set(i,e)}return(e|t)>>>0}}const Oz=/\b(comment|string|regex|regexp)\b/;class Iz{constructor(t,i,e){this._themeTrieElementRuleBrand=void 0,this._fontStyle=t,this._foreground=i,this._background=e,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new Iz(this._fontStyle,this._foreground,this._background)}acceptOverwrite(t,i,e){-1!==t&&(this._fontStyle=t),0!==i&&(this._foreground=i),0!==e&&(this._background=e),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class _z{constructor(t){this._themeTrieElementBrand=void 0,this._mainRule=t,this._children=new Map}match(t){if(""===t)return this._mainRule;const i=t.indexOf(".");let e,s;-1===i?(e=t,s=""):(e=t.substring(0,i),s=t.substring(i+1));const n=this._children.get(e);return void 0!==n?n.match(s):this._mainRule}insert(t,i,e,s){if(""===t)return void this._mainRule.acceptOverwrite(i,e,s);const n=t.indexOf(".");let o,r;-1===n?(o=t,r=""):(o=t.substring(0,n),r=t.substring(n+1));let h=this._children.get(o);void 0===h&&(h=new _z(this._mainRule.clone()),this._children.set(o,h)),h.insert(r,i,e,s)}}const Nz={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[av]:"#FFFFFE",[lv]:"#000000",[Ev]:"#E5EBF1",[px]:"#D3D3D3",[yx]:"#939393",[Av]:"#ADD6FF4D"}},Bz={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[av]:"#1E1E1E",[lv]:"#D4D4D4",[Ev]:"#3A3D41",[px]:"#404040",[yx]:"#707070",[Av]:"#ADD6FF26"}},Pz={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[av]:"#000000",[lv]:"#FFFFFF",[px]:"#FFFFFF",[yx]:"#FFFFFF"}},$z={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[av]:"#FFFFFF",[lv]:"#292929",[px]:"#292929",[yx]:"#292929"}};var Wz,jz;!function(t){t.getDefinition=function(t){let i=t.defaults;for(;Cr.isThemeIcon(i);){const t=zz.getIcon(i.id);if(!t)return;i=t.defaults}return i}}(Wz||(Wz={})),function(t){t.toJSONObject=function(t){return{weight:t.weight,style:t.style,src:t.src.map((t=>({format:t.format,location:t.location.toString()})))}},t.fromJSONObject=function(t){const i=t=>B(t)?t:void 0;if(t&&Array.isArray(t.src)&&t.src.every((t=>B(t.format)&&B(t.location))))return{weight:i(t.weight),style:i(t.style),src:t.src.map((t=>({format:t.format,location:ms.parse(t.location)})))}}}(jz||(jz={}));const zz=new class{constructor(){this._onDidChange=new de,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:ot(0,"The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:ot(0,"The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${Cr.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(t,i,e,s){const n=this.iconsById[t];if(n){if(e&&!n.description){n.description=e,this.iconSchema.properties[t].markdownDescription=`${e} $(${t})`;const i=this.iconReferenceSchema.enum.indexOf(t);-1!==i&&(this.iconReferenceSchema.enumDescriptions[i]=e),this._onDidChange.fire()}return n}this.iconsById[t]={id:t,description:e,defaults:i,deprecationMessage:s};const o={$ref:"#/definitions/icons"};return s&&(o.deprecationMessage=s),e&&(o.markdownDescription=`${e}: $(${t})`),this.iconSchema.properties[t]=o,this.iconReferenceSchema.enum.push(t),this.iconReferenceSchema.enumDescriptions.push(e||""),this._onDidChange.fire(),{id:t}}getIcons(){return Object.keys(this.iconsById).map((t=>this.iconsById[t]))}getIcon(t){return this.iconsById[t]}getIconSchema(){return this.iconSchema}toString(){const t=(t,i)=>t.id.localeCompare(i.id),i=t=>{for(;Cr.isThemeIcon(t.defaults);)t=this.iconsById[t.defaults.id];return`codicon codicon-${t?t.id:""}`},e=[];e.push("| preview | identifier | default codicon ID | description"),e.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const s=Object.keys(this.iconsById).map((t=>this.iconsById[t]));for(const n of s.filter((t=>!!t.description)).sort(t))e.push(`||${n.id}|${Cr.isThemeIcon(n.defaults)?n.defaults.id:n.id}|${n.description||""}|`);e.push("| preview | identifier "),e.push("| ----------- | --------------------------------- |");for(const n of s.filter((t=>!Cr.isThemeIcon(t.defaults))).sort(t))e.push(`||${n.id}|`);return e.join("\n")}};function Hz(t,i,e,s){return zz.registerIcon(t,i,e,s)}function Vz(){return zz}Dh.add("base.contributions.icons",zz),function(){const t=Rs();for(const i in t){const e="\\"+t[i].toString(16);zz.registerIcon(i,{fontCharacter:e})}}();const Uz="vscode://schemas/icons",qz=Dh.as(Ed);qz.registerSchema(Uz,zz.getIconSchema());const Kz=new pc((()=>qz.notifySchemaChanged(Uz)),200);zz.onDidChange((()=>{Kz.isScheduled()||Kz.schedule()}));const Gz=Hz("widget-close",Os.close,ot(0,"Icon for the close action in widgets."));Hz("goto-previous-location",Os.arrowUp,ot(0,"Icon for goto previous editor location.")),Hz("goto-next-location",Os.arrowDown,ot(0,"Icon for goto next editor location.")),Cr.modify(Os.sync,"spin"),Cr.modify(Os.loading,"spin");class Zz{getIcon(t){const i=Vz();let e=t.defaults;for(;Cr.isThemeIcon(e);){const t=i.getIcon(e.id);if(!t)return;e=t.defaults}return e}}const Qz="vs",Jz="vs-dark",Yz="hc-black",Xz="hc-light",tH=Dh.as(lw),iH=Dh.as(ex);class eH{constructor(t,i){this.semanticHighlighting=!1,this.themeData=i;const e=i.base;t.length>0?(this.id=sH(t)?t:e+" "+t,this.themeName=t):(this.id=e,this.themeName=e),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const t=new Map;for(const i in this.themeData.colors)t.set(i,lg.fromHex(this.themeData.colors[i]));if(this.themeData.inherit){const i=nH(this.themeData.base);for(const e in i.colors)t.has(e)||t.set(e,lg.fromHex(i.colors[e]))}this.colors=t}return this.colors}getColor(t,i){return this.getColors().get(t)||(!1!==i?this.getDefault(t):void 0)}getDefault(t){let i=this.defaultColors[t];return i||(i=tH.resolveDefaultColor(t,this),this.defaultColors[t]=i,i)}defines(t){return this.getColors().has(t)}get type(){switch(this.base){case Qz:return jy.LIGHT;case Yz:return jy.HIGH_CONTRAST_DARK;case Xz:return jy.HIGH_CONTRAST_LIGHT;default:return jy.DARK}}get tokenTheme(){if(!this._tokenTheme){let t=[],i=[];if(this.themeData.inherit){const e=nH(this.themeData.base);t=e.rules,e.encodedTokensColors&&(i=e.encodedTokensColors)}const e=this.themeData.colors["editor.foreground"],s=this.themeData.colors["editor.background"];if(e||s){const i={token:""};e&&(i.foreground=e),s&&(i.background=s),t.push(i)}t=t.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(i=this.themeData.encodedTokensColors),this._tokenTheme=Rz.createFromRawTokenTheme(t,i)}return this._tokenTheme}getTokenStyleMetadata(t,i,e){const s=this.tokenTheme._match([t].concat(i).join(".")).metadata,n=Bg.getForeground(s),o=Bg.getFontStyle(s);return{foreground:n,italic:Boolean(1&o),bold:Boolean(2&o),underline:Boolean(4&o),strikethrough:Boolean(8&o)}}}function sH(t){return t===Qz||t===Jz||t===Yz||t===Xz}function nH(t){switch(t){case Qz:return Nz;case Jz:return Bz;case Yz:return Pz;case Xz:return $z}}function oH(t){const i=nH(t);return new eH(t,i)}const rH=dr("themeService");var hH=function(t,i){return function(e,s){i(e,s,t)}};let cH=class extends te{constructor(t,i,e){super(),this._contextKeyService=t,this._layoutService=i,this._configurationService=e,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new de,this._onDidChangeReducedMotion=new de,this._accessibilityModeEnabledContext=Qm.bindTo(this._contextKeyService);const s=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration("editor.accessibilitySupport")&&(s(),this._onDidChangeScreenReaderOptimized.fire()),t.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())}))),s(),this._register(this.onDidChangeScreenReaderOptimized((()=>s())));const n=$n.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=n.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this.initReducedMotionListeners(n)}initReducedMotionListeners(t){this._register(Va(t,"change",(()=>{this._systemMotionReduced=t.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()})));const i=()=>{const t=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",t),this._layoutService.mainContainer.classList.toggle("enable-motion",!t)};i(),this._register(this.onDidChangeReducedMotion((()=>i())))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const t=this._configurationService.getValue("editor.accessibilitySupport");return"on"===t||"auto"===t&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const t=this._configMotionReduced;return"on"===t||"auto"===t&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};cH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([hH(0,ah),hH(1,qT),hH(2,pd)],cH);var aH,lH,uH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},dH=function(t,i){return function(e,s){i(e,s,t)}};let fH=class{constructor(t,i){this._commandService=t,this._hiddenStates=new pH(i)}createMenu(t,i,e){return new mH(t,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...e},this._commandService,i)}resetHiddenStates(t){this._hiddenStates.reset(t)}};fH=uH([dH(0,Sr),dH(1,AB)],fH);let pH=aH=class{constructor(t){this._storageService=t,this._disposables=new Xi,this._onDidChange=new de,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const i=t.get(aH._key,0,"{}");this._data=JSON.parse(i)}catch(t){this._data=Object.create(null)}this._disposables.add(t.onDidChangeValue(0,aH._key,this._disposables)((()=>{if(!this._ignoreChangeEvent)try{const i=t.get(aH._key,0,"{}");this._data=JSON.parse(i)}catch(t){console.log("FAILED to read storage after UPDATE",t)}this._onDidChange.fire()})))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(t,i){var e;return null!==(e=this._hiddenByDefaultCache.get(`${t.id}/${i}`))&&void 0!==e&&e}setDefaultState(t,i,e){this._hiddenByDefaultCache.set(`${t.id}/${i}`,e)}isHidden(t,i){var e,s;const n=this._isHiddenByDefault(t,i),o=null!==(s=null===(e=this._data[t.id])||void 0===e?void 0:e.includes(i))&&void 0!==s&&s;return n?!o:o}updateHidden(t,i,e){this._isHiddenByDefault(t,i)&&(e=!e);const s=this._data[t.id];if(e)s?s.indexOf(i)<0&&s.push(i):this._data[t.id]=[i];else if(s){const e=s.indexOf(i);e>=0&&function(t,i){const e=t.length-1;it[1])));n.length>0&&o.push(new Nh(i,s,n))}}o.length>0&&i.push([s,o])}return i}static _fillInKbExprKeys(t,i){if(t)for(const e of t.keys())i.add(e)}static _compareMenuItems(t,i){const e=t.group,s=i.group;if(e!==s){if(!e)return 1;if(!s)return-1;if("navigation"===e)return-1;if("navigation"===s)return 1;const t=e.localeCompare(s);if(0!==t)return t}const n=t.order||0,o=i.order||0;return no?1:lH._compareTitles(Th(t)?t.command.title:t.title,Th(i)?i.command.title:i.title)}static _compareTitles(t,i){return("string"==typeof t?t:t.original).localeCompare("string"==typeof i?i:i.original)}};gH=lH=uH([dH(3,Sr),dH(4,ah)],gH);let mH=class{constructor(t,i,e,s,n){this._disposables=new Xi,this._menuInfo=new gH(t,i,e.emitEventsForSubmenuChanges,s,n);const o=new pc((()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})}),e.eventDebounceDelay);this._disposables.add(o),this._disposables.add(_h.onDidChangeMenu((i=>{i.has(t)&&o.schedule()})));const r=this._disposables.add(new Xi);this._onDidChange=new ge({onWillAddFirstListener:()=>{r.add(n.onDidChangeContext((t=>{const i=t.affectsSome(this._menuInfo.structureContextKeys),e=t.affectsSome(this._menuInfo.preconditionContextKeys),s=t.affectsSome(this._menuInfo.toggledContextKeys);(i||e||s)&&this._onDidChange.fire({menu:this,isStructuralChange:i,isEnablementChange:e,isToggleChange:s})}))),r.add(i.onDidChange((()=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})})))},onDidRemoveLastListener:r.clear.bind(r),delay:e.eventDebounceDelay,merge:t=>{let i=!1,e=!1,s=!1;for(const n of t)if(i=i||n.isStructuralChange,e=e||n.isEnablementChange,s=s||n.isToggleChange,i&&e&&s)break;return{menu:this,isStructuralChange:i,isEnablementChange:e,isToggleChange:s}}}),this.onDidChange=this._onDidChange.event}getActions(t){return this._menuInfo.createActionGroups(t)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};function wH(t,i,e){const s=void 0!==i.submenu?i.submenu.id:i.id,n="string"==typeof i.title?i.title:i.title.value,o=kr({id:`hide/${t.id}/${s}`,label:ot(0,"Hide '{0}'",n),run(){e.updateHidden(t,s,!0)}}),r=kr({id:`toggle/${t.id}/${s}`,label:n,get checked(){return!e.isHidden(t,s)},run(){e.updateHidden(t,s,!!this.checked)}});return{hide:o,toggle:r,get isHidden(){return!r.checked}}}mH=uH([dH(3,Sr),dH(4,ah)],mH);var vH=function(t,i){return function(e,s){i(e,s,t)}};let bH=class extends te{constructor(t,i){super(),this.layoutService=t,this.logService=i,this.mapTextToType=new Map,this.findText="",this.resources=[],(Go||Zo)&&this.installWebKitWriteTextWorkaround()}installWebKitWriteTextWorkaround(){const t=()=>{const t=new bc;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,navigator.clipboard.write([new ClipboardItem({"text/plain":t.p})]).catch((async i=>{i instanceof Error&&"NotAllowedError"===i.name&&t.isRejected||this.logService.error(i)}))};this._register(he.runAndSubscribe(this.layoutService.onDidAddContainer,(({container:i,disposables:e})=>{e.add(Va(i,"click",t)),e.add(Va(i,"keydown",t))}),{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(t,i){if(i)return void this.mapTextToType.set(i,t);if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(t);try{return await navigator.clipboard.writeText(t)}catch(t){console.error(t)}const e=ml(),s=e.activeElement,n=e.body.appendChild($l("textarea",{"aria-hidden":!0}));n.style.height="1px",n.style.width="1px",n.style.position="absolute",n.value=t,n.focus(),n.select(),e.execCommand("copy"),s instanceof HTMLElement&&s.focus(),e.body.removeChild(n)}async readText(t){if(t)return this.mapTextToType.get(t)||"";try{return await navigator.clipboard.readText()}catch(t){return console.error(t),""}}async readFindText(){return this.findText}async writeFindText(t){this.findText=t}async writeResources(t){this.resources=t}async readResources(){return this.resources}};bH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([vH(0,qT),vH(1,jh)],bH);const yH=dr("clipboardService");const kH="data-keybinding-context";class xH{constructor(t,i){this._id=t,this._parent=i,this._value=Object.create(null),this._value._contextId=t}get value(){return{...this._value}}setValue(t,i){return this._value[t]!==i&&(this._value[t]=i,!0)}removeValue(t){return t in this._value&&(delete this._value[t],!0)}getValue(t){const i=this._value[t];return void 0===i&&this._parent?this._parent.getValue(t):i}}class CH extends xH{constructor(){super(-1,null)}setValue(t,i){return!1}removeValue(t){return!1}getValue(t){}}CH.INSTANCE=new CH;class SH extends xH{constructor(t,i,e){super(t,null),this._configurationService=i,this._values=GO.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration((t=>{if(7===t.source){const t=Array.from(this._values,(([t])=>t));this._values.clear(),e.fire(new AH(t))}else{const i=[];for(const e of t.affectedKeys){const t=`config.${e}`,s=this._values.findSuperstr(t);void 0!==s&&(i.push(...Ht.map(s,(([t])=>t))),this._values.deleteSuperstr(t)),this._values.has(t)&&(i.push(t),this._values.delete(t))}e.fire(new AH(i))}}))}dispose(){this._listener.dispose()}getValue(t){if(0!==t.indexOf(SH._keyPrefix))return super.getValue(t);if(this._values.has(t))return this._values.get(t);const i=t.substr(SH._keyPrefix.length),e=this._configurationService.getValue(i);let s;switch(typeof e){case"number":case"boolean":case"string":s=e;break;default:s=Array.isArray(e)?JSON.stringify(e):e}return this._values.set(t,s),s}setValue(t,i){return super.setValue(t,i)}removeValue(t){return super.removeValue(t)}}SH._keyPrefix="config.";class DH{constructor(t,i,e){this._service=t,this._key=i,this._defaultValue=e,this.reset()}set(t){this._service.setContext(this._key,t)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class EH{constructor(t){this.key=t}affectsSome(t){return t.has(this.key)}allKeysContainedIn(t){return this.affectsSome(t)}}class AH{constructor(t){this.keys=t}affectsSome(t){for(const i of this.keys)if(t.has(i))return!0;return!1}allKeysContainedIn(t){return this.keys.every((i=>t.has(i)))}}class MH{constructor(t){this.events=t}affectsSome(t){for(const i of this.events)if(i.affectsSome(t))return!0;return!1}allKeysContainedIn(t){return this.events.every((i=>i.allKeysContainedIn(t)))}}class LH extends te{constructor(t){super(),this._onDidChangeContext=this._register(new pe({merge:t=>new MH(t)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=t}createKey(t,i){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new DH(this,t,i)}bufferChangeEvents(t){this._onDidChangeContext.pause();try{t()}finally{this._onDidChangeContext.resume()}}createScoped(t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new TH(this,t)}contextMatchesRules(t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const i=this.getContextValuesContainer(this._myContextId);return!t||t.evaluate(i)}getContextKeyValue(t){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(t)}setContext(t,i){if(this._isDisposed)return;const e=this.getContextValuesContainer(this._myContextId);e&&e.setValue(t,i)&&this._onDidChangeContext.fire(new EH(t))}removeContext(t){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(t)&&this._onDidChangeContext.fire(new EH(t))}getContext(t){return this._isDisposed?CH.INSTANCE:this.getContextValuesContainer(function(t){for(;t;){if(t.hasAttribute(kH)){const i=t.getAttribute(kH);return i?parseInt(i,10):NaN}t=t.parentElement}return 0}(t))}dispose(){super.dispose(),this._isDisposed=!0}}let FH=class extends LH{constructor(t){super(0),this._contexts=new Map,this._lastContextId=0;const i=this._register(new SH(this._myContextId,t,this._onDidChangeContext));this._contexts.set(this._myContextId,i)}getContextValuesContainer(t){return this._isDisposed?CH.INSTANCE:this._contexts.get(t)||CH.INSTANCE}createChildContext(t=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const i=++this._lastContextId;return this._contexts.set(i,new xH(i,this.getContextValuesContainer(t))),i}disposeContext(t){this._isDisposed||this._contexts.delete(t)}};FH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,pd)],FH);class TH extends LH{constructor(t,i){if(super(t.createChildContext()),this._parentChangeListener=this._register(new ie),this._parent=t,this._updateParentChangeListener(),this._domNode=i,this._domNode.hasAttribute(kH)){let t="";this._domNode.classList&&(t=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute"+(t?": "+t:""))}this._domNode.setAttribute(kH,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext((t=>{const i=this._parent.getContextValuesContainer(this._myContextId);t.allKeysContainedIn(new Set(Object.keys(i.value)))||this._onDidChangeContext.fire(t)}))}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(kH),super.dispose())}getContextValuesContainer(t){return this._isDisposed?CH.INSTANCE:this._parent.getContextValuesContainer(t)}createChildContext(t=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(t)}disposeContext(t){this._isDisposed||this._parent.disposeContext(t)}}Dr.registerCommand("_setContext",(function(t,i,e){t.get(ah).createKey(String(i),function(t){return Y(t,(t=>"object"==typeof t&&1===t.$mid?ms.revive(t).toString():t instanceof ms?t.toString():void 0))}(e))})),Dr.registerCommand({id:"getContextKeyInfo",handler:()=>[...ch.all()].sort(((t,i)=>t.key.localeCompare(i.key))),metadata:{description:ot(0,"A command that returns information about context keys"),args:[]}}),Dr.registerCommand("_generateContextKeyInfo",(function(){const t=[],i=new Set;for(const e of ch.all())i.has(e.key)||(i.add(e.key),t.push(e));t.sort(((t,i)=>t.key.localeCompare(i.key))),console.log(JSON.stringify(t,void 0,2))}));class RH{constructor(t,i){this.key=t,this.data=i,this.incoming=new Map,this.outgoing=new Map}}class OH{constructor(t){this._hashFn=t,this._nodes=new Map}roots(){const t=[];for(const i of this._nodes.values())0===i.outgoing.size&&t.push(i);return t}insertEdge(t,i){const e=this.lookupOrInsertNode(t),s=this.lookupOrInsertNode(i);e.outgoing.set(s.key,s),s.incoming.set(e.key,e)}removeNode(t){const i=this._hashFn(t);this._nodes.delete(i);for(const t of this._nodes.values())t.outgoing.delete(i),t.incoming.delete(i)}lookupOrInsertNode(t){const i=this._hashFn(t);let e=this._nodes.get(i);return e||(e=new RH(i,t),this._nodes.set(i,e)),e}isEmpty(){return 0===this._nodes.size}toString(){const t=[];for(const[i,e]of this._nodes)t.push(`${i}\n\t(-> incoming)[${[...e.incoming.keys()].join(", ")}]\n\t(outgoing ->)[${[...e.outgoing.keys()].join(",")}]\n`);return t.join("\n")}findCycleSlow(){for(const[t,i]of this._nodes){const e=new Set([t]),s=this._findCycle(i,e);if(s)return s}}_findCycle(t,i){for(const[e,s]of t.outgoing){if(i.has(e))return[...i,e].join(" -> ");i.add(e);const t=this._findCycle(s,i);if(t)return t;i.delete(e)}}}class IH extends Error{constructor(t){var i;super("cyclic dependency between services"),this.message=null!==(i=t.findCycleSlow())&&void 0!==i?i:`UNABLE to detect cycle, dumping graph: \n${t.toString()}`}}class _H{constructor(t=new iT,i=!1,e,s=!1){var n;this._services=t,this._strict=i,this._parent=e,this._enableTracing=s,this._activeInstantiations=new Set,this._services.set(ur,this),this._globalGraph=s?null!==(n=null==e?void 0:e._globalGraph)&&void 0!==n?n:new OH((t=>t)):void 0}createChild(t){return new _H(t,this._strict,this,this._enableTracing)}invokeFunction(t,...i){const e=NH.traceInvocation(this._enableTracing,t);let s=!1;try{return t({get:t=>{if(s)throw Vi("service accessor is only valid during the invocation of its target method");const i=this._getOrCreateServiceInstance(t,e);if(!i)throw new Error(`[invokeFunction] unknown service '${t}'`);return i}},...i)}finally{s=!0,e.stop()}}createInstance(t,...i){let e,s;return t instanceof kd?(e=NH.traceCreation(this._enableTracing,t.ctor),s=this._createInstance(t.ctor,t.staticArguments.concat(i),e)):(e=NH.traceCreation(this._enableTracing,t),s=this._createInstance(t,i,e)),e.stop(),s}_createInstance(t,i=[],e){const s=lr.getServiceDependencies(t).sort(((t,i)=>t.index-i.index)),n=[];for(const i of s){const s=this._getOrCreateServiceInstance(i.id,e);s||this._throwIfStrict(`[createInstance] ${t.name} depends on UNKNOWN service ${i.id}.`,!1),n.push(s)}const o=s.length>0?s[0].index:i.length;if(i.length!==o){console.trace(`[createInstance] First service dependency of ${t.name} at position ${o+1} conflicts with ${i.length} static arguments`);const e=o-i.length;i=e>0?i.concat(new Array(e)):i.slice(0,o)}return Reflect.construct(t,i.concat(n))}_setServiceInstance(t,i){if(this._services.get(t)instanceof kd)this._services.set(t,i);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(t,i)}}_getServiceInstanceOrDescriptor(t){const i=this._services.get(t);return!i&&this._parent?this._parent._getServiceInstanceOrDescriptor(t):i}_getOrCreateServiceInstance(t,i){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(t));const e=this._getServiceInstanceOrDescriptor(t);return e instanceof kd?this._safeCreateAndCacheServiceInstance(t,e,i.branch(t,!0)):(i.branch(t,!1),e)}_safeCreateAndCacheServiceInstance(t,i,e){if(this._activeInstantiations.has(t))throw new Error(`illegal state - RECURSIVELY instantiating service '${t}'`);this._activeInstantiations.add(t);try{return this._createAndCacheServiceInstance(t,i,e)}finally{this._activeInstantiations.delete(t)}}_createAndCacheServiceInstance(t,i,e){var s;const n=new OH((t=>t.id.toString()));let o=0;const r=[{id:t,desc:i,_trace:e}];for(;r.length;){const i=r.pop();if(n.lookupOrInsertNode(i),o++>1e3)throw new IH(n);for(const e of lr.getServiceDependencies(i.desc.ctor)){const o=this._getServiceInstanceOrDescriptor(e.id);if(o||this._throwIfStrict(`[createInstance] ${t} depends on ${e.id} which is NOT registered.`,!0),null===(s=this._globalGraph)||void 0===s||s.insertEdge(String(i.id),String(e.id)),o instanceof kd){const t={id:e.id,desc:o,_trace:i._trace.branch(e.id,!0)};n.insertEdge(i,t),r.push(t)}}}for(;;){const t=n.roots();if(0===t.length){if(!n.isEmpty())throw new IH(n);break}for(const{data:i}of t){if(this._getServiceInstanceOrDescriptor(i.id)instanceof kd){const t=this._createServiceInstanceWithOwner(i.id,i.desc.ctor,i.desc.staticArguments,i.desc.supportsDelayedInstantiation,i._trace);this._setServiceInstance(i.id,t)}n.removeNode(i)}}return this._getServiceInstanceOrDescriptor(t)}_createServiceInstanceWithOwner(t,i,e=[],s,n){if(this._services.get(t)instanceof kd)return this._createServiceInstance(t,i,e,s,n);if(this._parent)return this._parent._createServiceInstanceWithOwner(t,i,e,s,n);throw new Error(`illegalState - creating UNKNOWN service instance ${i.name}`)}_createServiceInstance(t,i,e=[],s,n){if(s){const s=new _H(void 0,this._strict,this,this._enableTracing);s._globalGraphImplicitDependency=String(t);const o=new Map,r=new vc((()=>{const t=s._createInstance(i,e,n);for(const[i,e]of o){const s=t[i];if("function"==typeof s)for(const i of e)s.apply(t,i)}return o.clear(),t}));return new Proxy(Object.create(null),{get(t,i){if(!r.isInitialized&&"string"==typeof i&&(i.startsWith("onDid")||i.startsWith("onWill"))){let t=o.get(i);return t||(t=new Ut,o.set(i,t)),(i,e,s)=>Yi(t.push([i,e,s]))}if(i in t)return t[i];const e=r.value;let s=e[i];return"function"!=typeof s||(s=s.bind(e),t[i]=s),s},set:(t,i,e)=>(r.value[i]=e,!0),getPrototypeOf:()=>i.prototype})}return this._createInstance(i,e,n)}_throwIfStrict(t,i){if(i&&console.warn(t),this._strict)throw new Error(t)}}class NH{static traceInvocation(t,i){return t?new NH(2,i.name||(new Error).stack.split("\n").slice(3,4).join("\n")):NH._None}static traceCreation(t,i){return t?new NH(1,i.name):NH._None}constructor(t,i){this.type=t,this.name=i,this._start=Date.now(),this._dep=[]}branch(t,i){const e=new NH(3,t.toString());return this._dep.push([t,i,e]),e}stop(){const t=Date.now()-this._start;NH._totals+=t;let i=!1;const e=[`${1===this.type?"CREATE":"CALL"} ${this.name}`,`${function t(e,s){const n=[],o=new Array(e+1).join("\t");for(const[r,h,c]of s._dep)if(h&&c){i=!0,n.push(`${o}CREATES -> ${r}`);const s=t(e+1,c);s&&n.push(s)}else n.push(`${o}uses -> ${r}`);return n.join("\n")}(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${NH._totals.toFixed(2)}ms)`];(t>2||i)&&NH.all.add(e.join("\n"))}}NH.all=new Set,NH._None=new class extends NH{constructor(){super(0,null)}stop(){}branch(){return this}},NH._totals=0;const BH=new Set([ka.inMemory,ka.vscodeSourceControl,ka.walkThrough,ka.walkThroughSnippet]);class PH{constructor(){this._byResource=new zp,this._byOwner=new Map}set(t,i,e){let s=this._byResource.get(t);s||(s=new Map,this._byResource.set(t,s)),s.set(i,e);let n=this._byOwner.get(i);n||(n=new zp,this._byOwner.set(i,n)),n.set(t,e)}get(t,i){const e=this._byResource.get(t);return null==e?void 0:e.get(i)}delete(t,i){let e=!1,s=!1;const n=this._byResource.get(t);n&&(e=n.delete(i));const o=this._byOwner.get(i);if(o&&(s=o.delete(t)),e!==s)throw new Error("illegal state");return e&&s}values(t){var i,e,s,n;return"string"==typeof t?null!==(e=null===(i=this._byOwner.get(t))||void 0===i?void 0:i.values())&&void 0!==e?e:Ht.empty():ms.isUri(t)?null!==(n=null===(s=this._byResource.get(t))||void 0===s?void 0:s.values())&&void 0!==n?n:Ht.empty():Ht.map(Ht.concat(...this._byOwner.values()),(t=>t[1]))}}class $H{constructor(t){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new zp,this._service=t,this._subscription=t.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(t){for(const i of t){const t=this._data.get(i);t&&this._substract(t);const e=this._resourceStats(i);this._add(e),this._data.set(i,e)}}_resourceStats(t){const i={errors:0,warnings:0,infos:0,unknowns:0};if(BH.has(t.scheme))return i;for(const{severity:e}of this._service.read({resource:t}))e===bP.Error?i.errors+=1:e===bP.Warning?i.warnings+=1:e===bP.Info?i.infos+=1:i.unknowns+=1;return i}_substract(t){this.errors-=t.errors,this.warnings-=t.warnings,this.infos-=t.infos,this.unknowns-=t.unknowns}_add(t){this.errors+=t.errors,this.warnings+=t.warnings,this.infos+=t.infos,this.unknowns+=t.unknowns}}class WH{constructor(){this._onMarkerChanged=new ge({delay:0,merge:WH._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new PH,this._stats=new $H(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(t,i){for(const e of i||[])this.changeOne(t,e,[])}changeOne(t,i,e){if(v(e))this._data.delete(i,t)&&this._onMarkerChanged.fire([i]);else{const s=[];for(const n of e){const e=WH._toMarker(t,i,n);e&&s.push(e)}this._data.set(i,t,s),this._onMarkerChanged.fire([i])}}static _toMarker(t,i,e){let{code:s,severity:n,message:o,source:r,startLineNumber:h,startColumn:c,endLineNumber:a,endColumn:l,relatedInformation:u,tags:d}=e;if(o)return h=h>0?h:1,c=c>0?c:1,a=a>=h?a:h,l=l>0?l:c,{resource:i,owner:t,code:s,severity:n,message:o,source:r,startLineNumber:h,startColumn:c,endLineNumber:a,endColumn:l,relatedInformation:u,tags:d}}changeAll(t,i){const e=[],s=this._data.values(t);if(s)for(const i of s){const s=Ht.first(i);s&&(e.push(s.resource),this._data.delete(s.resource,t))}if(b(i)){const s=new zp;for(const{resource:n,marker:o}of i){const i=WH._toMarker(t,n,o);if(!i)continue;const r=s.get(n);r?r.push(i):(s.set(n,[i]),e.push(n))}for(const[i,e]of s)this._data.set(i,t,e)}e.length>0&&this._onMarkerChanged.fire(e)}read(t=Object.create(null)){let{owner:i,resource:e,severities:s,take:n}=t;if((!n||n<0)&&(n=-1),i&&e){const t=this._data.get(e,i);if(t){const i=[];for(const e of t)if(WH._accept(e,s)){const t=i.push(e);if(n>0&&t===n)break}return i}return[]}if(i||e){const t=this._data.values(null!=e?e:i),o=[];for(const i of t)for(const t of i)if(WH._accept(t,s)){const i=o.push(t);if(n>0&&i===n)return o}return o}{const t=[];for(const i of this._data.values())for(const e of i)if(WH._accept(e,s)){const i=t.push(e);if(n>0&&i===n)return t}return t}}static _accept(t,i){return void 0===i||(i&t.severity)===t.severity}static _merge(t){const i=new zp;for(const e of t)for(const t of e)i.set(t,!0);return Array.from(i.keys())}}class jH extends te{constructor(){super(...arguments),this._configurationModel=new mO}get configurationModel(){return this._configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=new mO;const t=Dh.as(Md).getConfigurationProperties();this.updateConfigurationModel(Object.keys(t),t)}updateConfigurationModel(t,i){const e=this.getConfigurationDefaultOverrides();for(const s of t){const t=e[s],n=i[s];void 0!==t?this._configurationModel.addValue(s,t):n?this._configurationModel.addValue(s,n.default):this._configurationModel.removeValue(s)}}}const zH=dr("audioCue");class HH{static register(t){return new HH(t.fileName)}constructor(t){this.fileName=t}}HH.error=HH.register({fileName:"error.mp3"}),HH.warning=HH.register({fileName:"warning.mp3"}),HH.foldedArea=HH.register({fileName:"foldedAreas.mp3"}),HH.break=HH.register({fileName:"break.mp3"}),HH.quickFixes=HH.register({fileName:"quickFixes.mp3"}),HH.taskCompleted=HH.register({fileName:"taskCompleted.mp3"}),HH.taskFailed=HH.register({fileName:"taskFailed.mp3"}),HH.terminalBell=HH.register({fileName:"terminalBell.mp3"}),HH.diffLineInserted=HH.register({fileName:"diffLineInserted.mp3"}),HH.diffLineDeleted=HH.register({fileName:"diffLineDeleted.mp3"}),HH.diffLineModified=HH.register({fileName:"diffLineModified.mp3"}),HH.chatRequestSent=HH.register({fileName:"chatRequestSent.mp3"}),HH.chatResponsePending=HH.register({fileName:"chatResponsePending.mp3"}),HH.chatResponseReceived1=HH.register({fileName:"chatResponseReceived1.mp3"}),HH.chatResponseReceived2=HH.register({fileName:"chatResponseReceived2.mp3"}),HH.chatResponseReceived3=HH.register({fileName:"chatResponseReceived3.mp3"}),HH.chatResponseReceived4=HH.register({fileName:"chatResponseReceived4.mp3"}),HH.clear=HH.register({fileName:"clear.mp3"}),HH.save=HH.register({fileName:"save.mp3"}),HH.format=HH.register({fileName:"format.mp3"});class VH{constructor(t){this.randomOneOf=t}}class UH{static register(t){const i=new VH("randomOneOf"in t.sound?t.sound.randomOneOf:[t.sound]),e=new UH(i,t.name,t.settingsKey);return UH._audioCues.add(e),e}constructor(t,i,e){this.sound=t,this.name=i,this.settingsKey=e}}UH._audioCues=new Set,UH.error=UH.register({name:ot(0,"Error on Line"),sound:HH.error,settingsKey:"audioCues.lineHasError"}),UH.warning=UH.register({name:ot(0,"Warning on Line"),sound:HH.warning,settingsKey:"audioCues.lineHasWarning"}),UH.foldedArea=UH.register({name:ot(0,"Folded Area on Line"),sound:HH.foldedArea,settingsKey:"audioCues.lineHasFoldedArea"}),UH.break=UH.register({name:ot(0,"Breakpoint on Line"),sound:HH.break,settingsKey:"audioCues.lineHasBreakpoint"}),UH.inlineSuggestion=UH.register({name:ot(0,"Inline Suggestion on Line"),sound:HH.quickFixes,settingsKey:"audioCues.lineHasInlineSuggestion"}),UH.terminalQuickFix=UH.register({name:ot(0,"Terminal Quick Fix"),sound:HH.quickFixes,settingsKey:"audioCues.terminalQuickFix"}),UH.onDebugBreak=UH.register({name:ot(0,"Debugger Stopped on Breakpoint"),sound:HH.break,settingsKey:"audioCues.onDebugBreak"}),UH.noInlayHints=UH.register({name:ot(0,"No Inlay Hints on Line"),sound:HH.error,settingsKey:"audioCues.noInlayHints"}),UH.taskCompleted=UH.register({name:ot(0,"Task Completed"),sound:HH.taskCompleted,settingsKey:"audioCues.taskCompleted"}),UH.taskFailed=UH.register({name:ot(0,"Task Failed"),sound:HH.taskFailed,settingsKey:"audioCues.taskFailed"}),UH.terminalCommandFailed=UH.register({name:ot(0,"Terminal Command Failed"),sound:HH.error,settingsKey:"audioCues.terminalCommandFailed"}),UH.terminalBell=UH.register({name:ot(0,"Terminal Bell"),sound:HH.terminalBell,settingsKey:"audioCues.terminalBell"}),UH.notebookCellCompleted=UH.register({name:ot(0,"Notebook Cell Completed"),sound:HH.taskCompleted,settingsKey:"audioCues.notebookCellCompleted"}),UH.notebookCellFailed=UH.register({name:ot(0,"Notebook Cell Failed"),sound:HH.taskFailed,settingsKey:"audioCues.notebookCellFailed"}),UH.diffLineInserted=UH.register({name:ot(0,"Diff Line Inserted"),sound:HH.diffLineInserted,settingsKey:"audioCues.diffLineInserted"}),UH.diffLineDeleted=UH.register({name:ot(0,"Diff Line Deleted"),sound:HH.diffLineDeleted,settingsKey:"audioCues.diffLineDeleted"}),UH.diffLineModified=UH.register({name:ot(0,"Diff Line Modified"),sound:HH.diffLineModified,settingsKey:"audioCues.diffLineModified"}),UH.chatRequestSent=UH.register({name:ot(0,"Chat Request Sent"),sound:HH.chatRequestSent,settingsKey:"audioCues.chatRequestSent"}),UH.chatResponseReceived=UH.register({name:ot(0,"Chat Response Received"),settingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[HH.chatResponseReceived1,HH.chatResponseReceived2,HH.chatResponseReceived3,HH.chatResponseReceived4]}}),UH.chatResponsePending=UH.register({name:ot(0,"Chat Response Pending"),sound:HH.chatResponsePending,settingsKey:"audioCues.chatResponsePending"}),UH.clear=UH.register({name:ot(0,"Clear"),sound:HH.clear,settingsKey:"audioCues.clear"}),UH.save=UH.register({name:ot(0,"Save"),sound:HH.save,settingsKey:"audioCues.save"}),UH.format=UH.register({name:ot(0,"Format"),sound:HH.format,settingsKey:"audioCues.format"});class qH extends te{constructor(t,i=[]){super(),this.logger=new qh([t,...i]),this._register(t.onDidChangeLogLevel((t=>this.setLevel(t))))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(t){this.logger.setLevel(t)}getLevel(){return this.logger.getLevel()}trace(t,...i){this.logger.trace(t,...i)}debug(t,...i){this.logger.debug(t,...i)}info(t,...i){this.logger.info(t,...i)}warn(t,...i){this.logger.warn(t,...i)}error(t,...i){this.logger.error(t,...i)}}const KH=[];function GH(t){KH.push(t)}function ZH(){return KH.slice(0)}var QH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},JH=function(t,i){return function(e,s){i(e,s,t)}};class YH{constructor(t){this.disposed=!1,this.model=t,this._onWillDispose=new de}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let XH=class{constructor(t){this.modelService=t}createModelReference(t){const i=this.modelService.getModel(t);return i?Promise.resolve(new se(new YH(i))):Promise.reject(new Error("Model not found"))}};XH=QH([JH(0,pr)],XH);class tV{show(){return tV.NULL_PROGRESS_RUNNER}async showWhile(t,i){await t}}tV.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class iV{info(t){return this.notify({severity:sT.Info,message:t})}warn(t){return this.notify({severity:sT.Warning,message:t})}error(t){return this.notify({severity:sT.Error,message:t})}notify(t){switch(t.severity){case sT.Error:console.error(t.message);break;case sT.Warning:console.warn(t.message);break;default:console.log(t.message)}return iV.NO_OP}prompt(t,i,e,s){return iV.NO_OP}status(t,i){return te.None}}iV.NO_OP=new class{};let eV=class{constructor(t){this._onWillExecuteCommand=new de,this._onDidExecuteCommand=new de,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=t}executeCommand(t,...i){const e=Dr.getCommand(t);if(!e)return Promise.reject(new Error(`command '${t}' not found`));try{this._onWillExecuteCommand.fire({commandId:t,args:i});const s=this._instantiationService.invokeFunction.apply(this._instantiationService,[e.handler,...i]);return this._onDidExecuteCommand.fire({commandId:t,args:i}),Promise.resolve(s)}catch(t){return Promise.reject(t)}}};eV=QH([JH(0,ur)],eV);let sV=class extends AO{constructor(t,i,e,s,n,o){super(t,i,e,s,n),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const r=t=>{const i=new Xi;i.add(Va(t,Ll.KEY_DOWN,(t=>{const i=new Qh(t);this._dispatch(i,i.target)&&(i.preventDefault(),i.stopPropagation())}))),i.add(Va(t,Ll.KEY_UP,(t=>{const i=new Qh(t);this._singleModifierDispatch(i,i.target)&&i.preventDefault()}))),this._domNodeListeners.push(new nV(t,i))},h=t=>{for(let i=0;i{t.getOption(61)||r(t.getContainerDomNode())};this._register(o.onCodeEditorAdd(c)),this._register(o.onCodeEditorRemove((t=>{t.getOption(61)||h(t.getContainerDomNode())}))),o.listCodeEditors().forEach(c);const a=t=>{r(t.getContainerDomNode())};this._register(o.onDiffEditorAdd(a)),this._register(o.onDiffEditorRemove((t=>{h(t.getContainerDomNode())}))),o.listDiffEditors().forEach(a)}addDynamicKeybinding(t,i,e,s){return Ji(Dr.registerCommand(t,e),this.addDynamicKeybindings([{keybinding:i,command:t,when:s}]))}addDynamicKeybindings(t){const i=t.map((t=>{var i;return{keybinding:gh(t.keybinding,It),command:null!==(i=t.command)&&void 0!==i?i:null,commandArgs:t.commandArgs,when:t.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(i),this.updateResolver(),Yi((()=>{for(let t=0;tthis._log(t)))}return this._cachedResolver}_documentHasFocus(){return $n.document.hasFocus()}_toNormalizedKeybindingItems(t,i){const e=[];let s=0;for(const n of t){const t=n.when||void 0,o=n.keybinding;if(o){const r=PO.resolveKeybinding(o,It);for(const o of r)e[s++]=new LO(o,n.command,n.commandArgs,t,i,null,!1)}else e[s++]=new LO(void 0,n.command,n.commandArgs,t,i,null,!1)}return e}resolveKeyboardEvent(t){const i=new wh(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,t.keyCode);return new PO([i],It)}};sV=QH([JH(0,ah),JH(1,Sr),JH(2,Wh),JH(3,oT),JH(4,jh),JH(5,fr)],sV);class nV extends te{constructor(t,i){super(),this.domNode=t,this._register(i)}}function oV(t){return t&&"object"==typeof t&&(!t.overrideIdentifier||"string"==typeof t.overrideIdentifier)&&(!t.resource||t.resource instanceof ms)}class rV{constructor(){this._onDidChangeConfiguration=new de,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new jH;this._configuration=new bO(t.reload(),new mO,new mO,new mO),t.dispose()}getValue(t,i){const e="string"==typeof t?t:void 0,s=oV(t)?t:oV(i)?i:{};return this._configuration.getValue(e,s,void 0)}updateValues(t){const i={data:this._configuration.toData()},e=[];for(const i of t){const[t,s]=i;this.getValue(t)!==s&&(this._configuration.updateValue(t,s),e.push(t))}if(e.length>0){const t=new yO({keys:e,overrides:[]},i,this._configuration);t.source=8,t.sourceConfig=null,this._onDidChangeConfiguration.fire(t)}return Promise.resolve()}updateValue(t,i,e,s){return this.updateValues([[t,i]])}inspect(t,i={}){return this._configuration.inspect(t,i,void 0)}}let hV=class{constructor(t,i,e){this.configurationService=t,this.modelService=i,this.languageService=e,this._onDidChangeConfiguration=new de,this.configurationService.onDidChangeConfiguration((t=>{this._onDidChangeConfiguration.fire({affectedKeys:t.affectedKeys,affectsConfiguration:(i,e)=>t.affectsConfiguration(e)})}))}getValue(t,i,e){const s=As.isIPosition(i)?i:null,n=s?"string"==typeof e?e:void 0:"string"==typeof i?i:void 0,o=t?this.getLanguage(t,s):void 0;return void 0===n?this.configurationService.getValue({resource:t,overrideIdentifier:o}):this.configurationService.getValue(n,{resource:t,overrideIdentifier:o})}getLanguage(t,i){const e=this.modelService.getModel(t);return e?i?e.getLanguageIdAtPosition(i.lineNumber,i.column):e.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(t)}};hV=QH([JH(0,pd),JH(1,pr),JH(2,yd)],hV);let cV=class{constructor(t){this.configurationService=t}getEOL(t,i){const e=this.configurationService.getValue("files.eol",{overrideIdentifier:i,resource:t});return e&&"string"==typeof e&&"auto"!==e?e:St||Ct?"\n":"\r\n"}};cV=QH([JH(0,pd)],cV);class aV{constructor(){const t=ms.from({scheme:aV.SCHEME,authority:"model",path:"/"});this.workspace={id:XO,folders:[new YO({uri:t,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(t){return t&&t.scheme===aV.SCHEME?this.workspace.folders[0]:null}}function lV(t,i,e){if(!i)return;if(!(t instanceof rV))return;const s=[];Object.keys(i).forEach((t=>{(function(t){return fO()[`editor.${t}`]||!1})(t)&&s.push([`editor.${t}`,i[t]]),e&&function(t){return fO()[`diffEditor.${t}`]||!1}(t)&&s.push([`diffEditor.${t}`,i[t]])})),s.length>0&&t.updateValues(s)}aV.SCHEME="inmemory";let uV=class{constructor(t){this._modelService=t}hasPreviewHandler(){return!1}async apply(t,i){const e=Array.isArray(t)?t:oO.convert(t),s=new Map;for(const t of e){if(!(t instanceof rO))throw new Error("bad edit - only text edits are supported");const i=this._modelService.getModel(t.resource);if(!i)throw new Error("bad edit - model not found");if("number"==typeof t.versionId&&i.getVersionId()!==t.versionId)throw new Error("bad state - model changed in the meantime");let e=s.get(i);e||(e=[],s.set(i,e)),e.push(pO.replaceMove(Ms.lift(t.textEdit.range),t.textEdit.text))}let n=0,o=0;for(const[t,i]of s)t.pushStackElement(),t.pushEditOperations([],i,(()=>[])),t.pushStackElement(),o+=1,n+=i.length;return{ariaSummary:qn(hI.bulkEditServiceSummary,n,o),isApplied:n>0}}};uV=QH([JH(0,pr)],uV);let dV=class extends mI{constructor(t,i){super(t),this._codeEditorService=i}showContextView(t,i,e){if(!i){const t=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();t&&(i=t.getContainerDomNode())}return super.showContextView(t,i,e)}};dV=QH([JH(0,qT),JH(1,fr)],dV);let fV=class extends aP{constructor(t,i,e,s,n,o){super(t,i,e,s,n,o),this.configure({blockMouse:!1})}};var pV;let gV,mV,wV;fV=QH([JH(0,Wh),JH(1,oT),JH(2,aI),JH(3,oC),JH(4,Oh),JH(5,ah)],fV),Cd(pd,rV,0),Cd(yg,hV,0),Cd(kg,cV,0),Cd(ZO,aV,0),Cd($O,class{getUriLabel(t,i){return"file"===t.scheme?t.fsPath:t.path}getUriBasenameLabel(t){return bA(t)}},0),Cd(Wh,class{publicLog2(){}},0),Cd(JT,class{async confirm(t){return{confirmed:this.doConfirm(t.message,t.detail),checkboxChecked:!1}}doConfirm(t,i){let e=t;return i&&(e=e+"\n\n"+i),$n.confirm(e)}async prompt(t){var i,e;let s;if(this.doConfirm(t.message,t.detail)){const n=[...null!==(i=t.buttons)&&void 0!==i?i:[]];t.cancelButton&&"string"!=typeof t.cancelButton&&"boolean"!=typeof t.cancelButton&&n.push(t.cancelButton),s=await(null===(e=n[0])||void 0===e?void 0:e.run({checkboxChecked:!1}))}return{result:s}}async error(t,i){await this.prompt({type:sT.Error,message:t,detail:i})}},0),Cd(fR,class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},0),Cd(oT,iV,0),Cd(kP,WH,0),Cd(yd,class extends EI{constructor(){super()}},0),Cd(rH,class extends te{constructor(){super(),this._onColorThemeChange=this._register(new de),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new de),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new Zz,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(Qz,oH(Qz)),this._knownThemes.set(Jz,oH(Jz)),this._knownThemes.set(Yz,oH(Yz)),this._knownThemes.set(Xz,oH(Xz));const t=this._register(function(t){const i=new Xi,e=i.add(new de),s=Vz();return i.add(s.onDidChange((()=>e.fire()))),t&&i.add(t.onDidProductIconThemeChange((()=>e.fire()))),{dispose:()=>i.dispose(),onDidChange:e.event,getCSS(){const i=t?t.getProductIconTheme():new Zz,e={},n=t=>{const s=i.getIcon(t);if(!s)return;const n=s.font;return n?(e[n.id]=n.definition,`.codicon-${t.id}:before { content: '${s.fontCharacter}'; font-family: ${Ul(n.id)}; }`):`.codicon-${t.id}:before { content: '${s.fontCharacter}'; }`},o=[];for(const t of s.getIcons()){const i=n(t);i&&o.push(i)}for(const t in e){const i=e[t],s=i.weight?`font-weight: ${i.weight};`:"",n=i.style?`font-style: ${i.style};`:"",r=i.src.map((t=>`${Vl(t.location)} format('${t.format}')`)).join(", ");o.push(`@font-face { src: ${r}; font-family: ${Ul(t)};${s}${n} font-display: block; }`)}return o.join("\n")}}}(this));this._codiconCSS=t.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(Qz),this._onOSSchemeChanged(),this._register(t.onDidChange((()=>{this._codiconCSS=t.getCSS(),this._updateCSS()}))),zo("(forced-colors: active)",(()=>{this._onOSSchemeChanged()}))}registerEditorContainer(t){return dl(t)?this._registerShadowDomContainer(t):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=vl(void 0,(t=>{t.className="monaco-colors",t.textContent=this._allCSS})),this._styleElements.push(this._globalStyleElement)),te.None}_registerShadowDomContainer(t){const i=vl(t,(t=>{t.className="monaco-colors",t.textContent=this._allCSS}));return this._styleElements.push(i),{dispose:()=>{for(let t=0;t{i.base===t&&i.notifyBaseUpdated()})),this._theme.themeName===t&&this.setTheme(t)}getColorTheme(){return this._theme}setColorMapOverride(t){this._colorMapOverride=t,this._updateThemeOrColorMap()}setTheme(t){let i;i=this._knownThemes.has(t)?this._knownThemes.get(t):this._knownThemes.get(Qz),this._updateActualTheme(i)}_updateActualTheme(t){t&&this._theme!==t&&(this._theme=t,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const t=$n.matchMedia("(forced-colors: active)").matches;if(t!==zy(this._theme.type)){let i;i=Hy(this._theme.type)?t?Yz:Jz:t?Xz:Qz,this._updateActualTheme(this._knownThemes.get(i))}}}setAutoDetectHighContrast(t){this._autoDetectHighContrast=t,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const t=[],i={},e={addRule:e=>{i[e]||(t.push(e),i[e]=!0)}};iH.getThemingParticipants().forEach((t=>t(this._theme,e,this._environment)));const s=[];for(const t of tH.getColors()){const i=this._theme.getColor(t.id,!0);i&&s.push(`${cw(t.id)}: ${i.toString()};`)}e.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${s.join("\n")} }`);const n=this._colorMapOverride||this._theme.tokenTheme.getColorMap();e.addRule(function(t){const i=[];for(let e=1,s=t.length;et.textContent=this._allCSS))}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}},0),Cd(jh,class extends qH{constructor(){super(new Uh)}},0),Cd(pr,TP,0),Cd(jm,CP,0),Cd(ah,FH,0),Cd(WO,class{withProgress(t,i,e){return i({report:()=>{}})}},0),Cd(zO,tV,0),Cd(AB,class extends LB{constructor(){super(),this.applicationStorage=this._register(new SB(new DB,{hint:xB.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new SB(new DB,{hint:xB.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new SB(new DB,{hint:xB.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage((t=>this.emitDidChangeValue(1,t)))),this._register(this.profileStorage.onDidChangeStorage((t=>this.emitDidChangeValue(0,t)))),this._register(this.applicationStorage.onDidChangeStorage((t=>this.emitDidChangeValue(-1,t))))}getStorage(t){switch(t){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}},0),Cd(vP,Dg,0),Cd(nO,uV,0),Cd(cI,class{constructor(){this._neverEmitter=new de,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},0),Cd(gr,XH,0),Cd(Zm,cH,0),Cd(AW,class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new Xi,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(t){var i,e;t!==this._lastFocusedWidget&&(null===(i=this._lastFocusedWidget)||void 0===i||i.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=t,null===(e=this._lastFocusedWidget)||void 0===e||e.getHTMLElement().classList.add("last-focused"))}register(t,i){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new iB(vl(),"").style(BB)),this.lists.some((i=>i.widget===t)))throw new Error("Cannot register the same widget multiple times");const e={widget:t,extraContextKeys:i};return this.lists.push(e),gl(t.getHTMLElement())&&this.setLastFocusedList(t),Ji(t.onDidFocus((()=>this.setLastFocusedList(t))),Yi((()=>this.lists.splice(this.lists.indexOf(e),1))),t.onDidDispose((()=>{this.lists=this.lists.filter((t=>t!==e)),this._lastFocusedWidget===t&&this.setLastFocusedList(void 0)})))}dispose(){this.disposables.dispose()}},0),Cd(Sr,eV,0),Cd(oC,sV,0),Cd(Oj,Ez,0),Cd(aI,dV,0),Cd(dP,wP,0),Cd(yH,bH,0),Cd(lI,fV,0),Cd(Oh,fH,0),Cd(zH,class{async playAudioCue(t,i){}},0),Cd(Jm,class{notify(t,i){}},0),function(t){const i=new iT;for(const[t,e]of Sd())i.set(t,e);const e=new _H(i,!0);i.set(ur,e),t.get=function(t){s||o({});const n=i.get(t);if(!n)throw new Error("Missing service "+t);return n instanceof kd?e.invokeFunction((i=>i.get(t))):n};let s=!1;const n=new de;function o(t){if(s)return e;s=!0;for(const[t,e]of Sd())i.get(t)||i.set(t,e);for(const e in t)if(t.hasOwnProperty(e)){const s=dr(e);i.get(s)instanceof kd&&i.set(s,t[e])}const o=ZH();for(const t of o)try{e.createInstance(t)}catch(t){Bi(t)}return n.fire(),e}t.initialize=o,t.withServices=function(t){if(s)return t();const i=new Xi,e=i.add(n.event((()=>{e.dispose(),i.add(t())})));return i}}(pV||(pV={}));class vV{get TChange(){return null}reportChanges(){this.get()}read(t){return t?t.readObservable(this):this.get()}map(t,i){const e=void 0===i?void 0:t,s=void 0===i?t:i;return mV({owner:e,debugName:()=>{const t=LV(s);if(void 0!==t)return t;const i=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(s.toString());return i?`${this.debugName}.${i[2]}`:e?void 0:`${this.debugName} (mapped)`}},(t=>s(this.read(t),t)))}recomputeInitiallyAndOnChange(t,i){return t.add(gV(this,i)),this}}class bV extends vV{constructor(){super(...arguments),this.observers=new Set}addObserver(t){const i=this.observers.size;this.observers.add(t),0===i&&this.onFirstObserverAdded()}removeObserver(t){this.observers.delete(t)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function yV(t,i){const e=new CV(t,i);try{t(e)}finally{e.finish()}}function kV(t){if(wV)t(wV);else{const i=new CV(t,void 0);wV=i;try{t(i)}finally{i.finish(),wV=void 0}}}function xV(t,i,e){t?i(t):yV(i,e)}class CV{constructor(t,i){this._fn=t,this._getDebugName=i,this.updatingObservers=[]}getDebugName(){return this._getDebugName?this._getDebugName():LV(this._fn)}updateObserver(t,i){this.updatingObservers.push({observer:t,observable:i}),t.beginUpdate(i)}finish(){const t=this.updatingObservers;for(let i=0;i{}),(()=>`Setting ${this.debugName}`)));try{this._setValue(t),void 0;for(const t of this.observers)i.updateObserver(t,this),t.handleChange(this,e)}finally{s&&s.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(t){this._value=t}}function RV(t,i){return"string"==typeof t?new OV(void 0,t,i):new OV(t,void 0,i)}class OV extends TV{_setValue(t){this._value!==t&&(this._value&&this._value.dispose(),this._value=t)}dispose(){var t;null===(t=this._value)||void 0===t||t.dispose()}}const IV=(t,i)=>t===i;function _V(t,i){return void 0!==i?new $V(t,void 0,i,void 0,void 0,void 0,IV):new $V(void 0,void 0,t,void 0,void 0,void 0,IV)}function NV(t,i){var e;return new $V(t.owner,t.debugName,i,void 0,void 0,void 0,null!==(e=t.equalityComparer)&&void 0!==e?e:IV)}function BV(t,i){let e,s;void 0===i?(e=t,s=void 0):(s=t,e=i);const n=new Xi;return new $V(s,(()=>{var t;return null!==(t=LV(e))&&void 0!==t?t:"(anonymous)"}),(t=>(n.clear(),e(t,n))),void 0,void 0,(()=>n.dispose()),IV)}function PV(t,i){let e,s;void 0===i?(e=t,s=void 0):(s=t,e=i);const n=new Xi;return new $V(s,(()=>{var t;return null!==(t=LV(e))&&void 0!==t?t:"(anonymous)"}),(t=>{n.clear();const i=e(t);return i&&n.add(i),i}),void 0,void 0,(()=>n.dispose()),IV)}mV=NV;class $V extends bV{get debugName(){var t;return null!==(t=EV(this,this._debugName,this._computeFn,this._owner,this))&&void 0!==t?t:"(anonymous)"}constructor(t,i,e,s,n,o,r){var h;super(),this._owner=t,this._debugName=i,this._computeFn=e,this.createChangeSummary=s,this._handleChange=n,this._handleLastObserverRemoved=o,this._equalityComparator=r,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=null===(h=this.createChangeSummary)||void 0===h?void 0:h.call(this)}onLastObserverRemoved(){var t;this.state=0,this.value=void 0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear(),null===(t=this._handleLastObserverRemoved)||void 0===t||t.call(this)}get(){var t;if(0===this.observers.size){const i=this._computeFn(this,null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this));return this.onLastObserverRemoved(),i}do{if(1===this.state)for(const t of this.dependencies)if(t.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){var t;if(3===this.state)return;const i=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=i;const e=0!==this.state,s=this.value;this.state=3;const n=this.changeSummary;this.changeSummary=null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this);try{this.value=this._computeFn(this,n)}finally{for(const t of this.dependenciesToBeRemoved)t.removeObserver(this);this.dependenciesToBeRemoved.clear()}const o=e&&!this._equalityComparator(s,this.value);if(void 0,o)for(const t of this.observers)t.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(t){this.updateCount++;const i=1===this.updateCount;if(3===this.state&&(this.state=1,!i))for(const t of this.observers)t.handlePossibleChange(this);if(i)for(const t of this.observers)t.beginUpdate(this)}endUpdate(t){if(this.updateCount--,0===this.updateCount){const t=[...this.observers];for(const i of t)i.endUpdate(this)}if(this.updateCount<0)throw new Ki}handlePossibleChange(t){if(3===this.state&&this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)){this.state=1;for(const t of this.observers)t.handlePossibleChange(this)}}handleChange(t,i){if(this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)){const e=!this._handleChange||this._handleChange({changedObservable:t,change:i,didChange:i=>i===t},this.changeSummary),s=3===this.state;if(e&&(1===this.state||s)&&(this.state=2,s))for(const t of this.observers)t.handlePossibleChange(this)}}readObservable(t){t.addObserver(this);const i=t.get();return this.dependencies.add(t),this.dependenciesToBeRemoved.delete(t),i}addObserver(t){const i=!this.observers.has(t)&&this.updateCount>0;super.addObserver(t),i&&t.beginUpdate(this)}removeObserver(t){const i=this.observers.has(t)&&this.updateCount>0;super.removeObserver(t),i&&t.endUpdate(this)}}function WV(t){return new VV(void 0,t,void 0,void 0)}function jV(t,i){return new VV(t.debugName,i,void 0,void 0)}function zV(t,i){return new VV(t.debugName,i,t.createEmptyChangeSummary,t.handleChange)}function HV(t){const i=new Xi,e=jV({debugName:()=>LV(t)||"(anonymous)"},(e=>{i.clear(),t(e,i)}));return Yi((()=>{e.dispose(),i.dispose()}))}class VV{get debugName(){if("string"==typeof this._debugName)return this._debugName;if("function"==typeof this._debugName){const t=this._debugName();if(void 0!==t)return t}const t=LV(this._runFn);return void 0!==t?t:"(anonymous)"}constructor(t,i,e,s){var n;this._debugName=t,this._runFn=i,this.createChangeSummary=e,this._handleChange=s,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=null===(n=this.createChangeSummary)||void 0===n?void 0:n.call(this),this._runIfNeeded()}dispose(){this.disposed=!0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear()}_runIfNeeded(){var t,i;if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const s=this.disposed;try{if(!s){void 0;const i=this.changeSummary;this.changeSummary=null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this),this._runFn(this,i)}}finally{s||null===(i=void 0)||void 0===i||i.handleAutorunFinished(this);for(const t of this.dependenciesToBeRemoved)t.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const t of this.dependencies)if(t.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,Ch((()=>this.updateCount>=0))}handlePossibleChange(t){3===this.state&&this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(this.state=1)}handleChange(t,i){this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(!this._handleChange||this._handleChange({changedObservable:t,change:i,didChange:i=>i===t},this.changeSummary))&&(this.state=2)}readObservable(t){if(this.disposed)return t.get();t.addObserver(this);const i=t.get();return this.dependencies.add(t),this.dependenciesToBeRemoved.delete(t),i}}function UV(t){return new qV(t)}!function(t){t.Observer=VV}(WV||(WV={}));class qV extends vV{constructor(t){super(),this.value=t}get debugName(){return this.toString()}get(){return this.value}addObserver(t){}removeObserver(t){}toString(){return`Const: ${this.value}`}}function KV(t,i){return new GV(t,i)}class GV extends bV{constructor(t,i){super(),this.event=t,this._getValue=i,this.hasValue=!1,this.handleEvent=t=>{var i;const e=this._getValue(t),s=this.value,n=!this.hasValue||s!==e;let o=!1;n&&(this.value=e,this.hasValue&&(o=!0,xV(GV.globalTransaction,(t=>{for(const i of this.observers)t.updateObserver(i,this),i.handleChange(this,void 0)}),(()=>{const t=this.getDebugName();return"Event fired"+(t?`: ${t}`:"")}))),this.hasValue=!0),o||null===(i=void 0)||void 0===i||i.handleFromEventObservableTriggered(this,{oldValue:s,newValue:e,change:void 0,didChange:n,hadValue:this.hasValue})}}getDebugName(){return LV(this._getValue)}get debugName(){const t=this.getDebugName();return"From Event"+(t?`: ${t}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}function ZV(t,i){return new QV(t,i)}!function(t){t.Observer=GV,t.batchEventsGlobally=function(t,i){let e=!1;void 0===GV.globalTransaction&&(GV.globalTransaction=t,e=!0);try{i()}finally{e&&(GV.globalTransaction=void 0)}}}(KV||(KV={}));class QV extends bV{constructor(t,i){super(),this.debugName=t,this.event=i,this.handleEvent=()=>{yV((t=>{for(const i of this.observers)t.updateObserver(i,this),i.handleChange(this,void 0)}),(()=>this.debugName))}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function JV(t){return"string"==typeof t?new YV(t):new YV(void 0,t)}class YV extends bV{get debugName(){var t;return null!==(t=EV(this,this._debugName,void 0,this._owner,this))&&void 0!==t?t:"Observable Signal"}constructor(t,i){super(),this._debugName=t,this._owner=i}trigger(t,i){if(t)for(const e of this.observers)t.updateObserver(e,this),e.handleChange(this,i);else yV((t=>{this.trigger(t,i)}),(()=>`Trigger signal ${this.debugName}`))}get(){}}function XV(t,i){const e=new tU(!0,i);return t.addObserver(e),i?i(t.get()):t.reportChanges(),Yi((()=>{t.removeObserver(e)}))}!function(t){gV=t}(XV);class tU{constructor(t,i){this._forceRecompute=t,this._handleValue=i,this._counter=0}beginUpdate(t){this._counter++}endUpdate(t){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(t.get()):t.reportChanges())}handlePossibleChange(t){}handleChange(t,i){}}class iU{static capture(t){if(0===t.getScrollTop()||t.hasPendingScrollAnimation())return new iU(t.getScrollTop(),t.getContentHeight(),null,0,null);let i=null,e=0;const s=t.getVisibleRanges();if(s.length>0){i=s[0].getStartPosition();const n=t.getTopForPosition(i.lineNumber,i.column);e=t.getScrollTop()-n}return new iU(t.getScrollTop(),t.getContentHeight(),i,e,t.getPosition())}constructor(t,i,e,s,n){this._initialScrollTop=t,this._initialContentHeight=i,this._visiblePosition=e,this._visiblePositionScrollDelta=s,this._cursorPosition=n}restore(t){if((this._initialContentHeight!==t.getContentHeight()||this._initialScrollTop!==t.getScrollTop())&&this._visiblePosition){const i=t.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);t.setScrollTop(i+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(t){if(this._initialContentHeight===t.getContentHeight()&&this._initialScrollTop===t.getScrollTop())return;const i=t.getPosition();if(!this._cursorPosition||!i)return;const e=t.getTopForLineNumber(i.lineNumber)-t.getTopForLineNumber(this._cursorPosition.lineNumber);t.setScrollTop(t.getScrollTop()+e)}}function eU(){return We&&!!We.VSCODE_DEV}function sU(t){if(eU()){const i=function(){nU||(nU=new Set);const t=globalThis;return t.$hotReload_applyNewExports||(t.$hotReload_applyNewExports=t=>{for(const i of nU){const e=i(t);if(e)return e}}),nU}();return i.add(t),{dispose(){i.delete(t)}}}return{dispose(){}}}let nU;function oU(t,i){const e=new Xi,s=t.createDecorationsCollection();return e.add(jV({debugName:()=>`Apply decorations from ${i.debugName}`},(t=>{const e=i.read(t);s.set(e)}))),e.add({dispose:()=>{s.clear()}}),e}function rU(t,i){return t.appendChild(i),Yi((()=>{t.removeChild(i)}))}eU()&&sU((({oldExports:t,newSrc:i})=>{if(-1!==i.indexOf("/* hot-reload:patch-prototype-methods */"))return i=>{var e,s;for(const n in i){const o=i[n];if(console.log(`[hot-reload] Patching prototype methods of '${n}'`,{exportedItem:o}),"function"==typeof o&&o.prototype){const r=t[n];if(r){for(const t of Object.getOwnPropertyNames(o.prototype)){const i=Object.getOwnPropertyDescriptor(o.prototype,t),h=Object.getOwnPropertyDescriptor(r.prototype,t);(null===(e=null==i?void 0:i.value)||void 0===e?void 0:e.toString())!==(null===(s=null==h?void 0:h.value)||void 0===s?void 0:s.toString())&&console.log(`[hot-reload] Patching prototype method '${n}.${t}'`),Object.defineProperty(r.prototype,t,i)}i[n]=r}}}return!0}}));class hU extends te{get width(){return this._width}get height(){return this._height}constructor(t,i){super(),this.elementSizeObserver=this._register(new Hm(t,i)),this._width=FV(this,this.elementSizeObserver.getWidth()),this._height=FV(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange((()=>yV((t=>{this._width.set(this.elementSizeObserver.getWidth(),t),this._height.set(this.elementSizeObserver.getHeight(),t)})))))}observe(t){this.elementSizeObserver.observe(t)}setAutomaticLayout(t){t?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function cU(t,i,e){let s=i.get(),n=s,o=s;const r=FV("animatedValue",s);let h,c=-1;function a(){const i=Date.now()-c;var e,l,u;o=Math.floor((l=n,u=s-n,(e=i)===300?l+u:u*(1-Math.pow(2,-10*e/300))+l)),i<300?h=t.requestAnimationFrame(a):o=s,r.set(o,void 0)}return e.add(zV({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(t,e)=>(t.didChange(i)&&(e.animate=e.animate||t.change),!0)},((e,r)=>{void 0!==h&&(t.cancelAnimationFrame(h),h=void 0),n=o,s=i.read(e),c=Date.now()-(r.animate?0:300),a()}))),r}class aU extends te{constructor(t,i,e){super(),this._register(new uU(t,e)),this._register(dU(e,{height:i.actualHeight,top:i.actualTop}))}}class lU{get afterLineNumber(){return this._afterLineNumber.get()}constructor(t,i){this._afterLineNumber=t,this.heightInPx=i,this.domNode=document.createElement("div"),this._actualTop=FV(this,void 0),this._actualHeight=FV(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=t=>{this._actualTop.set(t,void 0)},this.onComputedHeight=t=>{this._actualHeight.set(t,void 0)}}}class uU{constructor(t,i){this._editor=t,this._domElement=i,this._overlayWidgetId="managedOverlayWidget-"+uU._counter++,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function dU(t,i){return WV((e=>{for(let[s,n]of Object.entries(i))n&&"object"==typeof n&&"read"in n&&(n=n.read(e)),"number"==typeof n&&(n=`${n}px`),s=s.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase())),t.style[s]=n}))}function fU(t,i){return function(t,i){eU()&&ZV("reload",(i=>sU((({oldExports:e})=>{if([...Object.values(e)].some((i=>t.includes(i))))return()=>(i(void 0),!0)})))).read(i)}([t],i),t}function pU(t,i,e,s){const n=new Xi,o=[];return n.add(HV(((n,r)=>{const h=i.read(n),c=new Map,a=new Map;e&&e(!0),t.changeViewZones((t=>{for(const i of o)t.removeZone(i),null==s||s.delete(i);o.length=0;for(const i of h){const e=t.addZone(i);i.setZoneId&&i.setZoneId(e),o.push(e),null==s||s.add(e),c.set(i,e)}})),e&&e(!1),r.add(zV({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(t,i){const e=a.get(t.changedObservable);return void 0!==e&&i.zoneIds.push(e),!0}},((i,s)=>{for(const t of h)t.onChange&&(a.set(t.onChange,c.get(t)),t.onChange.read(i));e&&e(!0),t.changeViewZones((t=>{for(const i of s.zoneIds)t.layoutZone(i)})),e&&e(!1)})))}))),n.add({dispose(){e&&e(!0),t.changeViewZones((t=>{for(const i of o)t.removeZone(i)})),null==s||s.clear(),e&&e(!1)}}),n}uU._counter=0;class gU extends Ce{dispose(){super.dispose(!0)}}function mU(t,i){const e=rp(i,(i=>i.original.startLineNumber<=t.lineNumber));if(!e)return Ms.fromPositions(t);if(e.original.endLineNumberExclusive<=t.lineNumber)return Ms.fromPositions(new As(t.lineNumber-e.original.endLineNumberExclusive+e.modified.endLineNumberExclusive,t.column));if(!e.innerChanges)return Ms.fromPositions(new As(e.modified.startLineNumber,1));const s=rp(e.innerChanges,(i=>i.originalRange.getStartPosition().isBeforeOrEqual(t)));if(!s)return Ms.fromPositions(new As(t.lineNumber-e.original.startLineNumber+e.modified.startLineNumber,t.column));if(s.originalRange.containsPosition(t))return s.modifiedRange;{const i=(n=s.originalRange.getEndPosition()).lineNumber===(o=t).lineNumber?new JD(0,o.column-n.column):new JD(o.lineNumber-n.lineNumber,o.column-1);return Ms.fromPositions(function(t,i){return 0===i.lineCount?new As(t.lineNumber,t.column+i.columnCount):new As(t.lineNumber+i.lineCount,i.columnCount+1)}(s.modifiedRange.getEndPosition(),i))}var n,o}function wU(t,i,e){const s=t.bindTo(i);return jV({debugName:()=>`Update ${t.key}`},(t=>{s.set(e(t))}))}var vU=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},bU=function(t,i){return function(e,s){i(e,s,t)}};const yU=Hz("diff-review-insert",Os.add,ot(0,"Icon for 'Insert' in accessible diff viewer.")),kU=Hz("diff-review-remove",Os.remove,ot(0,"Icon for 'Remove' in accessible diff viewer.")),xU=Hz("diff-review-close",Os.close,ot(0,"Icon for 'Close' in accessible diff viewer."));let CU=class extends te{constructor(t,i,e,s,n,o,r,h,c){super(),this._parentNode=t,this._visible=i,this._setVisible=e,this._canClose=s,this._width=n,this._height=o,this._diffs=r,this._editors=h,this._instantiationService=c,this._state=BV(this,((t,i)=>{const e=this._visible.read(t);if(this._parentNode.style.visibility=e?"visible":"hidden",!e)return null;const s=i.add(this._instantiationService.createInstance(SU,this._diffs,this._editors,this._setVisible,this._canClose));return{model:s,view:i.add(this._instantiationService.createInstance(RU,this._parentNode,s,this._width,this._height,this._editors))}})).recomputeInitiallyAndOnChange(this._store)}next(){yV((t=>{const i=this._visible.get();this._setVisible(!0,t),i&&this._state.get().model.nextGroup(t)}))}prev(){yV((t=>{this._setVisible(!0,t),this._state.get().model.previousGroup(t)}))}close(){yV((t=>{this._setVisible(!1,t)}))}};CU._ttPolicy=Mu("diffReview",{createHTML:t=>t}),CU=vU([bU(8,ur)],CU);let SU=class extends te{constructor(t,i,e,s,n){super(),this._diffs=t,this._editors=i,this._setVisible=e,this.canClose=s,this._audioCueService=n,this._groups=FV(this,[]),this._currentGroupIdx=FV(this,0),this._currentElementIdx=FV(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map(((t,i)=>this._groups.read(i)[t])),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map(((t,i)=>{var e;return null===(e=this.currentGroup.read(i))||void 0===e?void 0:e.lines[t]})),this._register(WV((t=>{const i=this._diffs.read(t);if(!i)return void this._groups.set([],void 0);const e=function(t,i,e){const s=[];for(const n of p(t,((t,i)=>i.modified.startLineNumber-t.modified.endLineNumberExclusive<2*DU))){const t=[];t.push(new MU);const o=new fp(Math.max(1,n[0].original.startLineNumber-DU),Math.min(n[n.length-1].original.endLineNumberExclusive+DU,i+1)),r=new fp(Math.max(1,n[0].modified.startLineNumber-DU),Math.min(n[n.length-1].modified.endLineNumberExclusive+DU,e+1));g(n,((i,e)=>{const s=new fp(i?i.original.endLineNumberExclusive:o.startLineNumber,e?e.original.startLineNumber:o.endLineNumberExclusive),n=new fp(i?i.modified.endLineNumberExclusive:r.startLineNumber,e?e.modified.startLineNumber:r.endLineNumberExclusive);s.forEach((i=>{t.push(new TU(i,n.startLineNumber+(i-s.startLineNumber)))})),e&&(e.original.forEach((i=>{t.push(new LU(e,i))})),e.modified.forEach((i=>{t.push(new FU(e,i))})))}));const h=n[0].modified.join(n[n.length-1].modified),c=n[0].original.join(n[n.length-1].original);s.push(new AU(new gp(h,c),t))}return s}(i,this._editors.original.getModel().getLineCount(),this._editors.modified.getModel().getLineCount());yV((t=>{const i=this._editors.modified.getPosition();if(i){const s=e.findIndex((t=>(null==i?void 0:i.lineNumber){const i=this.currentElement.read(t);(null==i?void 0:i.type)===EU.Deleted?this._audioCueService.playAudioCue(UH.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(null==i?void 0:i.type)===EU.Added&&this._audioCueService.playAudioCue(UH.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})}))),this._register(WV((t=>{var i;const e=this.currentElement.read(t);if(e&&e.type!==EU.Header){const t=null!==(i=e.modifiedLineNumber)&&void 0!==i?i:e.diff.modified.startLineNumber;this._editors.modified.setSelection(Ms.fromPositions(new As(t,1)))}})))}_goToGroupDelta(t,i){const e=this.groups.get();!e||e.length<=1||xV(i,(i=>{this._currentGroupIdx.set(np.ofLength(e.length).clipCyclic(this._currentGroupIdx.get()+t),i),this._currentElementIdx.set(0,i)}))}nextGroup(t){this._goToGroupDelta(1,t)}previousGroup(t){this._goToGroupDelta(-1,t)}_goToLineDelta(t){const i=this.currentGroup.get();!i||i.lines.length<=1||yV((e=>{this._currentElementIdx.set(np.ofLength(i.lines.length).clip(this._currentElementIdx.get()+t),e)}))}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(t){const i=this.currentGroup.get();if(!i)return;const e=i.lines.indexOf(t);-1!==e&&yV((t=>{this._currentElementIdx.set(e,t)}))}revealCurrentElementInEditor(){this._setVisible(!1,void 0);const t=this.currentElement.get();t&&(t.type===EU.Deleted?(this._editors.original.setSelection(Ms.fromPositions(new As(t.originalLineNumber,1))),this._editors.original.revealLine(t.originalLineNumber),this._editors.original.focus()):(t.type!==EU.Header&&(this._editors.modified.setSelection(Ms.fromPositions(new As(t.modifiedLineNumber,1))),this._editors.modified.revealLine(t.modifiedLineNumber)),this._editors.modified.focus()))}close(){this._setVisible(!1,void 0),this._editors.modified.focus()}};SU=vU([bU(4,zH)],SU);const DU=3;var EU;!function(t){t[t.Header=0]="Header",t[t.Unchanged=1]="Unchanged",t[t.Deleted=2]="Deleted",t[t.Added=3]="Added"}(EU||(EU={}));class AU{constructor(t,i){this.range=t,this.lines=i}}class MU{constructor(){this.type=EU.Header}}class LU{constructor(t,i){this.diff=t,this.originalLineNumber=i,this.type=EU.Deleted,this.modifiedLineNumber=void 0}}class FU{constructor(t,i){this.diff=t,this.modifiedLineNumber=i,this.type=EU.Added,this.originalLineNumber=void 0}}class TU{constructor(t,i){this.originalLineNumber=t,this.modifiedLineNumber=i,this.type=EU.Unchanged}}let RU=class extends te{constructor(t,i,e,s,n,o){super(),this._element=t,this._model=i,this._width=e,this._height=s,this._editors=n,this._languageService=o,this.domNode=this._element,this.domNode.className="diff-review monaco-editor-background";const r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new YB(r)),this._register(WV((t=>{this._actionBar.clear(),this._model.canClose.read(t)&&this._actionBar.push(new mr("diffreview.close",ot(0,"Close"),"close-diff-review "+Cr.asClassName(xU),!0,(async()=>i.close())),{label:!1,icon:!0})}))),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new Tk(this._content,{})),_l(this.domNode,this._scrollbar.getDomNode(),r),this._register(Yi((()=>{_l(this.domNode)}))),this._register(dU(this.domNode,{width:this._width,height:this._height})),this._register(dU(this._content,{width:this._width,height:this._height})),this._register(HV(((t,i)=>{this._model.currentGroup.read(t),this._render(i)}))),this._register(qa(this.domNode,"keydown",(t=>{(t.equals(18)||t.equals(2066)||t.equals(530))&&(t.preventDefault(),this._model.goToNextLine()),(t.equals(16)||t.equals(2064)||t.equals(528))&&(t.preventDefault(),this._model.goToPreviousLine()),(t.equals(9)||t.equals(2057)||t.equals(521)||t.equals(1033))&&(t.preventDefault(),this._model.close()),(t.equals(10)||t.equals(3))&&(t.preventDefault(),this._model.revealCurrentElementInEditor())})))}_render(t){const i=this._editors.original.getOptions(),e=this._editors.modified.getOptions(),s=document.createElement("div");s.className="diff-review-table",s.setAttribute("role","list"),s.setAttribute("aria-label",ot(0,"Accessible Diff Viewer. Use arrow up and down to navigate.")),ir(s,e.get(50)),_l(this._content,s);const n=this._editors.original.getModel(),o=this._editors.modified.getModel();if(!n||!o)return;const r=n.getOptions(),h=o.getOptions(),c=e.get(66),a=this._model.currentGroup.get();for(const l of(null==a?void 0:a.lines)||[]){if(!a)break;let u;if(l.type===EU.Header){const t=document.createElement("div");t.className="diff-review-row",t.setAttribute("role","listitem");const i=a.range,e=this._model.currentGroupIndex.get(),s=this._model.groups.get().length,n=t=>0===t?ot(0,"no lines changed"):1===t?ot(0,"1 line changed"):ot(0,"{0} lines changed",t),o=n(i.original.length),r=n(i.modified.length);t.setAttribute("aria-label",ot(0,"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",e+1,s,i.original.startLineNumber,o,i.modified.startLineNumber,r));const h=document.createElement("div");h.className="diff-review-cell diff-review-summary",h.appendChild(document.createTextNode(`${e+1}/${s}: @@ -${i.original.startLineNumber},${i.original.length} +${i.modified.startLineNumber},${i.modified.length} @@`)),t.appendChild(h),u=t}else u=this._createRow(l,c,this._width.get(),i,n,r,e,o,h);s.appendChild(u);const d=_V((t=>this._model.currentElement.read(t)===l));t.add(WV((t=>{const i=d.read(t);u.tabIndex=i?0:-1,i&&u.focus()}))),t.add(Va(u,"focus",(()=>{this._model.goToLine(l)})))}this._scrollbar.scanDomNode()}_createRow(t,i,e,s,n,o,r,h,c){const a=s.get(143),l=a.glyphMarginWidth+a.lineNumbersWidth,u=r.get(143),d=10+u.glyphMarginWidth+u.lineNumbersWidth;let f="diff-review-row",p="",g=null;switch(t.type){case EU.Added:f="diff-review-row line-insert",p=" char-insert",g=yU;break;case EU.Deleted:f="diff-review-row line-delete",p=" char-delete",g=kU}const m=document.createElement("div");m.style.minWidth=e+"px",m.className=f,m.setAttribute("role","listitem"),m.ariaLevel="";const w=document.createElement("div");w.className="diff-review-cell",w.style.height=`${i}px`,m.appendChild(w);const v=document.createElement("span");v.style.width=l+"px",v.style.minWidth=l+"px",v.className="diff-review-line-number"+p,void 0!==t.originalLineNumber?v.appendChild(document.createTextNode(String(t.originalLineNumber))):v.innerText=" ",w.appendChild(v);const b=document.createElement("span");b.style.width=d+"px",b.style.minWidth=d+"px",b.style.paddingRight="10px",b.className="diff-review-line-number"+p,void 0!==t.modifiedLineNumber?b.appendChild(document.createTextNode(String(t.modifiedLineNumber))):b.innerText=" ",w.appendChild(b);const y=document.createElement("span");if(y.className="diff-review-spacer",g){const t=document.createElement("span");t.className=Cr.asClassName(g),t.innerText="  ",y.appendChild(t)}else y.innerText="  ";let k;if(w.appendChild(y),void 0!==t.modifiedLineNumber){let i=this._getLineHtml(h,r,c.tabSize,t.modifiedLineNumber,this._languageService.languageIdCodec);CU._ttPolicy&&(i=CU._ttPolicy.createHTML(i)),w.insertAdjacentHTML("beforeend",i),k=h.getLineContent(t.modifiedLineNumber)}else{let i=this._getLineHtml(n,s,o.tabSize,t.originalLineNumber,this._languageService.languageIdCodec);CU._ttPolicy&&(i=CU._ttPolicy.createHTML(i)),w.insertAdjacentHTML("beforeend",i),k=n.getLineContent(t.originalLineNumber)}0===k.length&&(k=ot(0,"blank"));let x="";switch(t.type){case EU.Unchanged:x=t.originalLineNumber===t.modifiedLineNumber?ot(0,"{0} unchanged line {1}",k,t.originalLineNumber):ot(0,"{0} original line {1} modified line {2}",k,t.originalLineNumber,t.modifiedLineNumber);break;case EU.Added:x=ot(0,"+ {0} modified line {1}",k,t.modifiedLineNumber);break;case EU.Deleted:x=ot(0,"- {0} original line {1}",k,t.originalLineNumber)}return m.setAttribute("aria-label",x),m}_getLineHtml(t,i,e,s,n){const o=t.getLineContent(s),r=i.get(50),h=Pg.createEmpty(o,n),c=nm.isBasicASCII(o,t.mightContainNonBasicASCII()),a=nm.containsRTL(o,c,t.mightContainRTL());return Yg(new qg(r.isMonospace&&!i.get(33),r.canUseHalfwidthRightwardsArrow,o,!1,c,a,0,h,[],e,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,i.get(116),i.get(98),i.get(93),i.get(51)!==wi.OFF,null)).html}};RU=vU([bU(5,yd)],RU);const OU=Hz("diff-insert",Os.add,ot(0,"Line decoration for inserts in the diff editor.")),IU=Hz("diff-remove",Os.remove,ot(0,"Line decoration for removals in the diff editor.")),_U=AL.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+Cr.asClassName(OU),marginClassName:"gutter-insert"}),NU=AL.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+Cr.asClassName(IU),marginClassName:"gutter-delete"}),BU=AL.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),PU=AL.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),$U=AL.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),WU=AL.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),jU=AL.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),zU=AL.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),HU=AL.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),VU=AL.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});class UU extends te{constructor(t,i,e,s,n){super(),this._rootElement=t,this._diffModel=i,this._originalEditorLayoutInfo=e,this._modifiedEditorLayoutInfo=s,this._editors=n,this._originalScrollTop=KV(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=KV(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._viewZonesChanged=ZV("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=FV(this,0),this._modifiedViewZonesChangedSignal=ZV("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=ZV("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=BV(this,((t,i)=>{var e;this._element.replaceChildren();const s=this._diffModel.read(t),n=null===(e=null==s?void 0:s.diff.read(t))||void 0===e?void 0:e.movedTexts;if(!n||0===n.length)return void this.width.set(0,void 0);this._viewZonesChanged.read(t);const o=this._originalEditorLayoutInfo.read(t),r=this._modifiedEditorLayoutInfo.read(t);if(!o||!r)return void this.width.set(0,void 0);this._modifiedViewZonesChangedSignal.read(t),this._originalViewZonesChangedSignal.read(t);const h=n.map((i=>{function e(t,i){return(i.getTopForLineNumber(t.startLineNumber,!0)+i.getTopForLineNumber(t.endLineNumberExclusive,!0))/2}const s=e(i.lineRangeMapping.original,this._editors.original),n=this._originalScrollTop.read(t),o=e(i.lineRangeMapping.modified,this._editors.modified),r=s-n,h=o-this._modifiedScrollTop.read(t),c=Math.min(s,o),a=Math.max(s,o);return{range:new np(c,a),from:r,to:h,fromWithoutScroll:s,toWithoutScroll:o,move:i}}));h.sort(function(...t){return(i,e)=>{for(const s of t){const t=s(i,e);if(!F.isNeitherLessOrGreaterThan(t))return t}return F.neitherLessOrGreaterThan}}(T((t=>t.fromWithoutScroll>t.toWithoutScroll),O),T((t=>t.fromWithoutScroll>t.toWithoutScroll?t.fromWithoutScroll:-t.toWithoutScroll),R)));const c=qU.compute(h.map((t=>t.range))),a=o.verticalScrollbarWidth,l=10*(c.getTrackCount()-1)+20,u=a+l+(r.contentLeft-UU.movedCodeBlockPadding);let d=0;for(const t of h){const e=a+10+10*c.getTrack(d),n=15,o=15,h=u,l=r.glyphMarginWidth+r.lineNumbersWidth,f=18,p=document.createElementNS("http://www.w3.org/2000/svg","rect");p.classList.add("arrow-rectangle"),p.setAttribute("x",""+(h-l)),p.setAttribute("y",""+(t.to-f/2)),p.setAttribute("width",`${l}`),p.setAttribute("height",`${f}`),this._element.appendChild(p);const g=document.createElementNS("http://www.w3.org/2000/svg","g"),m=document.createElementNS("http://www.w3.org/2000/svg","path");m.setAttribute("d",`M 0 ${t.from} L ${e} ${t.from} L ${e} ${t.to} L ${h-o} ${t.to}`),m.setAttribute("fill","none"),g.appendChild(m);const w=document.createElementNS("http://www.w3.org/2000/svg","polygon");w.classList.add("arrow"),i.add(WV((i=>{m.classList.toggle("currentMove",t.move===s.activeMovedText.read(i)),w.classList.toggle("currentMove",t.move===s.activeMovedText.read(i))}))),w.setAttribute("points",`${h-o},${t.to-n/2} ${h},${t.to} ${h-o},${t.to+n/2}`),g.appendChild(w),this._element.appendChild(g),d++}this.width.set(l,void 0)})),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(Yi((()=>this._element.remove()))),this._register(WV((t=>{const i=this._originalEditorLayoutInfo.read(t),e=this._modifiedEditorLayoutInfo.read(t);i&&e&&(this._element.style.left=i.width-i.verticalScrollbarWidth+"px",this._element.style.height=`${i.height}px`,this._element.style.width=`${i.verticalScrollbarWidth+i.contentLeft-UU.movedCodeBlockPadding+this.width.read(t)}px`)}))),this._register(XV(this._state));const o=_V((t=>{const i=this._diffModel.read(t),e=null==i?void 0:i.diff.read(t);return e?e.movedTexts.map((t=>({move:t,original:new lU(UV(t.lineRangeMapping.original.startLineNumber-1),18),modified:new lU(UV(t.lineRangeMapping.modified.startLineNumber-1),18)}))):[]}));this._register(pU(this._editors.original,o.map((t=>t.map((t=>t.original)))))),this._register(pU(this._editors.modified,o.map((t=>t.map((t=>t.modified)))))),this._register(HV(((t,i)=>{const e=o.read(t);for(const t of e)i.add(new KU(this._editors.original,t.original,t.move,"original",this._diffModel.get())),i.add(new KU(this._editors.modified,t.modified,t.move,"modified",this._diffModel.get()))})));const r=KV(this._editors.original.onDidChangeCursorPosition,(()=>this._editors.original.getPosition())),h=KV(this._editors.modified.onDidChangeCursorPosition,(()=>this._editors.modified.getPosition())),c=ZV("original.onDidFocusEditorWidget",(t=>this._editors.original.onDidFocusEditorWidget((()=>setTimeout((()=>t(void 0)),0))))),a=ZV("modified.onDidFocusEditorWidget",(t=>this._editors.modified.onDidFocusEditorWidget((()=>setTimeout((()=>t(void 0)),0)))));let l="modified";this._register(zV({createEmptyChangeSummary:()=>{},handleChange:t=>(t.didChange(c)&&(l="original"),t.didChange(a)&&(l="modified"),!0)},(t=>{c.read(t),a.read(t);const i=this._diffModel.read(t);if(!i)return;const e=i.diff.read(t);let s;if(e&&"original"===l){const i=r.read(t);i&&(s=e.movedTexts.find((t=>t.lineRangeMapping.original.contains(i.lineNumber))))}if(e&&"modified"===l){const i=h.read(t);i&&(s=e.movedTexts.find((t=>t.lineRangeMapping.modified.contains(i.lineNumber))))}s!==i.movedTextToCompare.get()&&i.movedTextToCompare.set(void 0,void 0),i.setActiveMovedText(s)})))}}UU.movedCodeBlockPadding=4;class qU{static compute(t){const i=[],e=[];for(const s of t){let t=i.findIndex((t=>!t.intersectsStrict(s)));-1===t&&(i.length>=6?t=dp(i,T((t=>t.intersectWithRangeLength(s)),R)):(t=i.length,i.push(new op))),i[t].addRange(s),e.push(t)}return new qU(i.length,e)}constructor(t,i){this._trackCount=t,this.trackPerLineIdx=i}getTrack(t){return this.trackPerLineIdx[t]}getTrackCount(){return this._trackCount}}class KU extends aU{constructor(t,i,e,s,n){const o=Jl("div.diff-hidden-lines-widget");super(t,i,o.root),this._editor=t,this._move=e,this._kind=s,this._diffModel=n,this._nodes=Jl("div.diff-moved-code-block",{style:{marginRight:"4px"}},[Jl("div.text-content@textContent"),Jl("div.action-bar@actionBar")]),o.root.appendChild(this._nodes.root);const r=KV(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));let h;this._register(dU(this._nodes.root,{paddingRight:r.map((t=>t.verticalScrollbarWidth))})),h=e.changes.length>0?"original"===this._kind?ot(0,"Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):ot(0,"Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?ot(0,"Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):ot(0,"Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const c=this._register(new YB(this._nodes.actionBar,{highlightToggledItems:!0})),a=new mr("",h,"",!1);c.push(a,{icon:!1,label:!0});const l=new mr("","Compare",Cr.asClassName(Os.compareChanges),!0,(()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===e?void 0:this._move,void 0)}));this._register(WV((t=>{const i=this._diffModel.movedTextToCompare.read(t)===e;l.checked=i}))),c.push(l,{icon:!1,label:!0})}}class GU extends te{constructor(t,i,e,s){super(),this._editors=t,this._diffModel=i,this._options=e,this._decorations=_V(this,(t=>{var i;const e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.diff.read(t);if(!e)return null;const s=this._diffModel.read(t).movedTextToCompare.read(t),n=this._options.renderIndicators.read(t),o=this._options.showEmptyDecorations.read(t),r=[],h=[];if(!s)for(const t of e.mappings)if(t.lineRangeMapping.original.isEmpty||r.push({range:t.lineRangeMapping.original.toInclusiveRange(),options:n?NU:PU}),t.lineRangeMapping.modified.isEmpty||h.push({range:t.lineRangeMapping.modified.toInclusiveRange(),options:n?_U:BU}),t.lineRangeMapping.modified.isEmpty||t.lineRangeMapping.original.isEmpty)t.lineRangeMapping.original.isEmpty||r.push({range:t.lineRangeMapping.original.toInclusiveRange(),options:HU}),t.lineRangeMapping.modified.isEmpty||h.push({range:t.lineRangeMapping.modified.toInclusiveRange(),options:WU});else for(const i of t.lineRangeMapping.innerChanges||[])t.lineRangeMapping.original.contains(i.originalRange.startLineNumber)&&r.push({range:i.originalRange,options:i.originalRange.isEmpty()&&o?VU:zU}),t.lineRangeMapping.modified.contains(i.modifiedRange.startLineNumber)&&h.push({range:i.modifiedRange,options:i.modifiedRange.isEmpty()&&o?jU:$U});if(s)for(const t of s.changes){const i=t.original.toInclusiveRange();i&&r.push({range:i,options:n?NU:PU});const e=t.modified.toInclusiveRange();e&&h.push({range:e,options:n?_U:BU});for(const i of t.innerChanges||[])r.push({range:i.originalRange,options:zU}),h.push({range:i.modifiedRange,options:$U})}const c=this._diffModel.read(t).activeMovedText.read(t);for(const t of e.movedTexts)r.push({range:t.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(t===c?" currentMove":""),blockPadding:[UU.movedCodeBlockPadding,0,UU.movedCodeBlockPadding,UU.movedCodeBlockPadding]}}),h.push({range:t.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(t===c?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:h}})),this._register(new ZU(t,i,e,s)),this._register(oU(this._editors.original,this._decorations.map((t=>(null==t?void 0:t.originalDecorations)||[])))),this._register(oU(this._editors.modified,this._decorations.map((t=>(null==t?void 0:t.modifiedDecorations)||[]))))}}class ZU extends te{constructor(t,i,e,s){super(),this._editors=t,this._diffModel=i,this._options=e,this._widget=s;const n=[],o=_V(this,(t=>{const i=this._diffModel.read(t),e=null==i?void 0:i.diff.read(t);if(!e)return n;const s=this._editors.modifiedSelections.read(t);if(s.every((t=>t.isEmpty())))return n;const o=new pp(s.map((t=>fp.fromRangeInclusive(t)))),r=e.mappings.filter((t=>t.lineRangeMapping.innerChanges&&o.intersects(t.lineRangeMapping.modified))).map((t=>({mapping:t,rangeMappings:t.lineRangeMapping.innerChanges.filter((t=>s.some((i=>Ms.areIntersecting(t.modifiedRange,i)))))})));return 0===r.length||r.every((t=>0===t.rangeMappings.length))?n:r}));this._register(HV(((t,i)=>{const e=this._diffModel.read(t),s=null==e?void 0:e.diff.read(t);if(!e||!s)return;if(this._diffModel.read(t).movedTextToCompare.read(t))return;if(!this._options.shouldRenderRevertArrows.read(t))return;const n=[],r=o.read(t),h=new Set(r.map((t=>t.mapping)));if(r.length>0){const i=this._editors.modifiedSelections.read(t),e=new QU(i[i.length-1].positionLineNumber,this._widget,r.flatMap((t=>t.rangeMappings)),!0);this._editors.modified.addGlyphMarginWidget(e),n.push(e)}for(const t of s.mappings)if(!h.has(t)&&!t.lineRangeMapping.modified.isEmpty&&t.lineRangeMapping.innerChanges){const i=new QU(t.lineRangeMapping.modified.startLineNumber,this._widget,t.lineRangeMapping.innerChanges,!1);this._editors.modified.addGlyphMarginWidget(i),n.push(i)}i.add(Yi((()=>{for(const t of n)this._editors.modified.removeGlyphMarginWidget(t)})))})))}}class QU{getId(){return this._id}constructor(t,i,e,s){this._lineNumber=t,this._widget=i,this._diffs=e,this._selection=s,this._id="revertButton"+QU.counter++,this._domNode=Jl("div.revertButton",{title:ot(0,this._selection?"Revert Selected Changes":"Revert Change")},[Q_(Os.arrowRight)]).root,this._domNode.onmousedown=t=>{2!==t.button&&(t.stopPropagation(),t.preventDefault())},this._domNode.onmouseup=t=>{t.stopPropagation(),t.preventDefault()},this._domNode.onclick=t=>{this._widget.revertRangeMappings(this._diffs),t.stopPropagation(),t.preventDefault()}}getDomNode(){return this._domNode}getPosition(){return{lane:Nf.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}QU.counter=0;class JU extends te{constructor(t,i,e,s){super(),this._options=t,this._domNode=i,this._dimensions=e,this._sashes=s,this._sashRatio=FV(this,void 0),this.sashLeft=_V(this,(t=>{var i;const e=null!==(i=this._sashRatio.read(t))&&void 0!==i?i:this._options.splitViewDefaultRatio.read(t);return this._computeSashLeft(e,t)})),this._sash=this._register(new VP(this._domNode,{getVerticalSashTop:()=>0,getVerticalSashLeft:()=>this.sashLeft.get(),getVerticalSashHeight:()=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart((()=>{this._startSashPosition=this.sashLeft.get()}))),this._register(this._sash.onDidChange((t=>{const i=this._dimensions.width.get(),e=this._computeSashLeft((this._startSashPosition+(t.currentX-t.startX))/i,void 0);this._sashRatio.set(e/i,void 0)}))),this._register(this._sash.onDidEnd((()=>this._sash.layout()))),this._register(this._sash.onDidReset((()=>this._sashRatio.set(void 0,void 0)))),this._register(WV((t=>{const i=this._sashes.read(t);i&&(this._sash.orthogonalEndSash=i.bottom)}))),this._register(WV((t=>{const i=this._options.enableSplitViewResizing.read(t);this._sash.state=i?3:0,this.sashLeft.read(t),this._dimensions.height.read(t),this._sash.layout()})))}_computeSashLeft(t,i){const e=this._dimensions.width.read(i),s=Math.floor(this._options.splitViewDefaultRatio.read(i)*e),n=this._options.enableSplitViewResizing.read(i)?Math.floor(t*e):s,o=100;return e<=200?s:ne-o?e-o:n}}class YU{remove(){var t;null===(t=this.parent)||void 0===t||t.children.delete(this.id)}static findId(t,i){let e;"string"==typeof t?e=`${i.id}/${t}`:(e=`${i.id}/${t.name}`,void 0!==i.children.get(e)&&(e=`${i.id}/${t.name}_${t.range.startLineNumber}_${t.range.startColumn}`));let s=e;for(let t=0;void 0!==i.children.get(s);t++)s=`${e}_${t}`;return s}static empty(t){return 0===t.children.size}}class XU extends YU{constructor(t,i,e){super(),this.id=t,this.parent=i,this.symbol=e,this.children=new Map}}class tq extends YU{constructor(t,i,e,s){super(),this.id=t,this.parent=i,this.label=e,this.order=s,this.children=new Map}}class iq extends YU{static create(t,i,e){const s=new Ce(e),n=new iq(i.uri),o=t.ordered(i),r=o.map(((t,e)=>{var o;const r=YU.findId(`provider_${e}`,n),h=new tq(r,n,null!==(o=t.displayName)&&void 0!==o?o:"Unknown Outline Provider",e);return Promise.resolve(t.provideDocumentSymbols(i,s.token)).then((t=>{for(const i of t||[])iq._makeOutlineElement(i,h);return h}),(t=>(Pi(t),h))).then((t=>{YU.empty(t)?t.remove():n._groups.set(r,t)}))})),h=t.onDidChange((()=>{l(t.ordered(i),o)||s.cancel()}));return Promise.all(r).then((()=>s.token.isCancellationRequested&&!e.isCancellationRequested?iq.create(t,i,e):n._compact())).finally((()=>{s.dispose(),h.dispose()}))}static _makeOutlineElement(t,i){const e=YU.findId(t,i),s=new XU(e,i,t);if(t.children)for(const i of t.children)iq._makeOutlineElement(i,s);i.children.set(s.id,s)}constructor(t){super(),this.uri=t,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let t=0;for(const[i,e]of this._groups)0===e.children.size?this._groups.delete(i):t+=1;if(1!==t)this.children=this._groups;else{const t=Ht.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const t=[];for(const i of this.children.values())i instanceof XU?t.push(i.symbol):t.push(...Ht.map(i.children.values(),(t=>t.symbol)));return t.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)))}asListOfDocumentSymbols(){const t=this.getTopLevelSymbols(),i=[];return iq._flattenDocumentSymbols(i,t,""),i.sort(((t,i)=>As.compare(Ms.getStartPosition(t.range),Ms.getStartPosition(i.range))||As.compare(Ms.getEndPosition(i.range),Ms.getEndPosition(t.range))))}static _flattenDocumentSymbols(t,i,e){for(const s of i)t.push({kind:s.kind,tags:s.tags,name:s.name,detail:s.detail,containerName:s.containerName||e,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&iq._flattenDocumentSymbols(t,s.children,s.name)}}var eq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},sq=function(t,i){return function(e,s){i(e,s,t)}};let nq=class extends te{get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(t,i,e,s){super(),this._editors=t,this._diffModel=i,this._options=e,this._languageFeaturesService=s,this._modifiedOutlineSource=PV(this,(t=>{const i=this._editors.modifiedModel.read(t);return i?new rq(this._languageFeaturesService,i):void 0})),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition((t=>{if(3===t.reason){const t=this._diffModel.get();yV((i=>{for(const e of this._editors.original.getSelections()||[])null==t||t.ensureOriginalLineIsVisible(e.getStartPosition().lineNumber,i),null==t||t.ensureOriginalLineIsVisible(e.getEndPosition().lineNumber,i)}))}}))),this._register(this._editors.modified.onDidChangeCursorPosition((t=>{if(3===t.reason){const t=this._diffModel.get();yV((i=>{for(const e of this._editors.modified.getSelections()||[])null==t||t.ensureModifiedLineIsVisible(e.getStartPosition().lineNumber,i),null==t||t.ensureModifiedLineIsVisible(e.getEndPosition().lineNumber,i)}))}})));const n=this._diffModel.map(((t,i)=>{var e,s;return 0===(null===(e=null==t?void 0:t.diff.read(i))||void 0===e?void 0:e.mappings.length)?[]:null!==(s=null==t?void 0:t.unchangedRegions.read(i))&&void 0!==s?s:[]}));this.viewZones=BV(this,((t,i)=>{const e=this._modifiedOutlineSource.read(t);if(!e)return{origViewZones:[],modViewZones:[]};const s=[],o=[],r=this._options.renderSideBySide.read(t),h=n.read(t);for(const n of h)if(!n.shouldHideControls(t)){{const t=_V(this,(t=>n.getHiddenOriginalRange(t).startLineNumber-1)),o=new lU(t,24);s.push(o),i.add(new oq(this._editors.original,o,n,n.originalUnchangedRange,!r,e,(t=>this._diffModel.get().ensureModifiedLineIsVisible(t,void 0)),this._options))}{const t=_V(this,(t=>n.getHiddenModifiedRange(t).startLineNumber-1)),s=new lU(t,24);o.push(s),i.add(new oq(this._editors.modified,s,n,n.modifiedUnchangedRange,!1,e,(t=>this._diffModel.get().ensureModifiedLineIsVisible(t,void 0)),this._options))}}return{origViewZones:s,modViewZones:o}}));const o={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},r={description:"Fold Unchanged",glyphMarginHoverMessage:new N_(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(ot(0,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+Cr.asClassName(Os.fold),zIndex:10001};this._register(oU(this._editors.original,_V(this,(t=>{const i=n.read(t),e=i.map((t=>({range:t.originalUnchangedRange.toInclusiveRange(),options:o})));for(const s of i)s.shouldHideControls(t)&&e.push({range:Ms.fromPositions(new As(s.originalLineNumber,1)),options:r});return e})))),this._register(oU(this._editors.modified,_V(this,(t=>{const i=n.read(t),e=i.map((t=>({range:t.modifiedUnchangedRange.toInclusiveRange(),options:o})));for(const s of i)s.shouldHideControls(t)&&e.push({range:fp.ofLength(s.modifiedLineNumber,1).toInclusiveRange(),options:r});return e})))),this._register(WV((t=>{const i=n.read(t);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(i.map((i=>i.getHiddenOriginalRange(t).toInclusiveRange())).filter(V)),this._editors.modified.setHiddenAreas(i.map((i=>i.getHiddenModifiedRange(t).toInclusiveRange())).filter(V))}finally{this._isUpdatingHiddenAreas=!1}}))),this._register(this._editors.modified.onMouseUp((t=>{var i;if(!t.event.rightButton&&t.target.position&&(null===(i=t.target.element)||void 0===i?void 0:i.className.includes("fold-unchanged"))){const i=t.target.position.lineNumber,e=this._diffModel.get();if(!e)return;const s=e.unchangedRegions.get().find((t=>t.modifiedUnchangedRange.includes(i)));if(!s)return;s.collapseAll(void 0),t.event.stopPropagation(),t.event.preventDefault()}}))),this._register(this._editors.original.onMouseUp((t=>{var i;if(!t.event.rightButton&&t.target.position&&(null===(i=t.target.element)||void 0===i?void 0:i.className.includes("fold-unchanged"))){const i=t.target.position.lineNumber,e=this._diffModel.get();if(!e)return;const s=e.unchangedRegions.get().find((t=>t.originalUnchangedRange.includes(i)));if(!s)return;s.collapseAll(void 0),t.event.stopPropagation(),t.event.preventDefault()}})))}};nq=eq([sq(3,xg)],nq);class oq extends aU{constructor(t,i,e,s,n,o,r,h){const c=Jl("div.diff-hidden-lines-widget");super(t,i,c.root),this._editor=t,this._unchangedRegion=e,this._unchangedRegionRange=s,this._hide=n,this._modifiedOutlineSource=o,this._revealModifiedHiddenLine=r,this._options=h,this._nodes=Jl("div.diff-hidden-lines",[Jl("div.top@top",{title:ot(0,"Click or drag to show more above")}),Jl("div.center@content",{style:{display:"flex"}},[Jl("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[$l("a",{title:ot(0,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...Z_("$(unfold)"))]),Jl("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),Jl("div.bottom@bottom",{title:ot(0,"Click or drag to show more below"),role:"button"})]),c.root.appendChild(this._nodes.root);const a=KV(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));this._hide?_l(this._nodes.first):this._register(dU(this._nodes.first,{width:a.map((t=>t.contentLeft))})),this._register(WV((t=>{const i=this._unchangedRegion.visibleLineCountTop.read(t)+this._unchangedRegion.visibleLineCountBottom.read(t)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!i),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(t)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(t)>0),this._nodes.top.classList.toggle("canMoveBottom",!i);const e=this._unchangedRegion.isDragged.read(t),s=this._editor.getDomNode();s&&(s.classList.toggle("draggingUnchangedRegion",!!e),"top"===e?(s.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(t)>0),s.classList.toggle("canMoveBottom",!i)):"bottom"===e?(s.classList.toggle("canMoveTop",!i),s.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(t)>0)):(s.classList.toggle("canMoveTop",!1),s.classList.toggle("canMoveBottom",!1)))})));const l=this._editor;this._register(Va(this._nodes.top,"mousedown",(t=>{if(0!==t.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),t.preventDefault();const i=t.clientY;let e=!1;const s=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const n=Na(this._nodes.top),o=Va(n,"mousemove",(t=>{const n=t.clientY-i;e=e||Math.abs(n)>2;const o=Math.round(n/l.getOption(66)),r=Math.max(0,Math.min(s+o,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(r,void 0)})),r=Va(n,"mouseup",(()=>{e||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),o.dispose(),r.dispose()}))}))),this._register(Va(this._nodes.bottom,"mousedown",(t=>{if(0!==t.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),t.preventDefault();const i=t.clientY;let e=!1;const s=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const n=Na(this._nodes.bottom),o=Va(n,"mousemove",(t=>{const n=t.clientY-i;e=e||Math.abs(n)>2;const o=Math.round(n/l.getOption(66)),r=Math.max(0,Math.min(s-o,this._unchangedRegion.getMaxVisibleLineCountBottom())),h=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(r,void 0);const c=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(c-h))})),r=Va(n,"mouseup",(()=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!e){const t=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const i=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(i-t))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),o.dispose(),r.dispose()}))}))),this._register(WV((t=>{const i=[];if(!this._hide){const s=ot(0,"{0} hidden lines",e.getHiddenModifiedRange(t).length),n=$l("span",{title:ot(0,"Double click to unfold")},s);n.addEventListener("dblclick",(t=>{0===t.button&&(t.preventDefault(),this._unchangedRegion.showAll(void 0))})),i.push(n);const o=this._unchangedRegion.getHiddenModifiedRange(t),r=this._modifiedOutlineSource.getBreadcrumbItems(o,t);if(r.length>0){i.push($l("span",void 0,"  |  "));for(let t=0;t{this._revealModifiedHiddenLine(e.startLineNumber)}}}}_l(this._nodes.others,...i)})))}}let rq=class extends te{constructor(t,i){super(),this._languageFeaturesService=t,this._textModel=i,this._currentModel=FV(this,void 0);const e=ZV("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=ZV("_textModel.onDidChangeContent",he.debounce((t=>this._textModel.onDidChangeContent(t)),(()=>{}),100));this._register(HV((async(t,i)=>{e.read(t),s.read(t);const n=i.add(new gU),o=await iq.create(this._languageFeaturesService.documentSymbolProvider,this._textModel,n.token);i.isDisposed||this._currentModel.set(o,void 0)})))}getBreadcrumbItems(t,i){const e=this._currentModel.read(i);if(!e)return[];const s=e.asListOfDocumentSymbols().filter((i=>t.contains(i.range.startLineNumber)&&!t.contains(i.range.endLineNumber)));return s.sort(I(T((t=>t.range.endLineNumber-t.range.startLineNumber),R))),s.map((t=>({name:t.name,kind:t.kind,startLineNumber:t.range.startLineNumber})))}};rq=eq([sq(0,xg)],rq);var hq,cq=function(t,i){return function(e,s){i(e,s,t)}};let aq=hq=class{constructor(t,i,e){this.editorWorkerService=i,this.telemetryService=e,this.onDidChangeEventEmitter=new de,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(t)}dispose(){var t;null===(t=this.diffAlgorithmOnDidChangeSubscription)||void 0===t||t.dispose()}async computeDiff(t,i,e,s){var n,o;if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(t,i,e,s);if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return 1===i.getLineCount()&&1===i.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new mp(new fp(1,2),new fp(1,i.getLineCount()+1),[new wp(t.getFullModelRange(),i.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const r=JSON.stringify([t.uri.toString(),i.uri.toString()]),h=JSON.stringify([t.id,i.id,t.getAlternativeVersionId(),i.getAlternativeVersionId(),JSON.stringify(e)]),c=hq.diffCache.get(r);if(c&&c.context===h)return c.result;const a=re.create(),l=await this.editorWorkerService.computeDiff(t.uri,i.uri,e,this.diffAlgorithm),u=a.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:u,timedOut:null===(n=null==l?void 0:l.quitEarly)||void 0===n||n,detectedMoves:e.computeMoves?null!==(o=null==l?void 0:l.moves.length)&&void 0!==o?o:0:-1}),s.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!l)throw new Error("no diff result available");return hq.diffCache.size>10&&hq.diffCache.delete(hq.diffCache.keys().next().value),hq.diffCache.set(r,{result:l,context:h}),l}setOptions(t){var i;let e=!1;t.diffAlgorithm&&this.diffAlgorithm!==t.diffAlgorithm&&(null===(i=this.diffAlgorithmOnDidChangeSubscription)||void 0===i||i.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=t.diffAlgorithm,"string"!=typeof t.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=t.diffAlgorithm.onDidChange((()=>this.onDidChangeEventEmitter.fire()))),e=!0),e&&this.onDidChangeEventEmitter.fire()}};aq.diffCache=new Map,aq=hq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([cq(1,vP),cq(2,Wh)],aq);const lq=dr("diffProviderFactoryService");let uq=class{constructor(t){this.instantiationService=t}createDiffProvider(t){return this.instantiationService.createInstance(aq,t)}};uq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,ur)],uq),Cd(lq,uq,1);let dq=class extends te{setActiveMovedText(t){this._activeMovedText.set(t,void 0)}constructor(t,i,e){super(),this.model=t,this._options=i,this._diffProviderFactoryService=e,this._isDiffUpToDate=FV(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=FV(this,void 0),this.diff=this._diff,this._unchangedRegions=FV(this,{regions:[],originalDecorationIds:[],modifiedDecorationIds:[]}),this.unchangedRegions=_V(this,(t=>this._options.hideUnchangedRegions.read(t)?this._unchangedRegions.read(t).regions:(yV((t=>{for(const i of this._unchangedRegions.get().regions)i.collapseAll(t)})),[]))),this.movedTextToCompare=FV(this,void 0),this._activeMovedText=FV(this,void 0),this._hoveredMovedText=FV(this,void 0),this.activeMovedText=_V(this,(t=>{var i,e;return null!==(e=null!==(i=this.movedTextToCompare.read(t))&&void 0!==i?i:this._hoveredMovedText.read(t))&&void 0!==e?e:this._activeMovedText.read(t)})),this._cancellationTokenSource=new Ce,this._diffProvider=_V(this,(t=>{const i=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(t)});return{diffProvider:i,onChangeSignal:ZV("onDidChange",i.onDidChange)}})),this._register(Yi((()=>this._cancellationTokenSource.cancel())));const s=JV("contentChangedSignal"),n=this._register(new pc((()=>s.trigger(void 0)),200)),o=(i,e,s)=>{const n=gq.fromDiffs(i.changes,t.original.getLineCount(),t.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(s),this._options.hideUnchangedRegionsContextLineCount.read(s)),o=this._unchangedRegions.get(),r=o.originalDecorationIds.map((i=>t.original.getDecorationRange(i))).map((t=>t?fp.fromRange(t):void 0)),h=o.modifiedDecorationIds.map((i=>t.modified.getDecorationRange(i))).map((t=>t?fp.fromRange(t):void 0)),c=t.original.deltaDecorations(o.originalDecorationIds,n.map((t=>({range:t.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),a=t.modified.deltaDecorations(o.modifiedDecorationIds,n.map((t=>({range:t.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));for(const t of n)for(let i=0;i{this._diff.get()&&dE.fromModelContentChanges(t.changes),this._isDiffUpToDate.set(!1,void 0),n.schedule()}))),this._register(t.original.onDidChangeContent((t=>{this._diff.get()&&dE.fromModelContentChanges(t.changes),this._isDiffUpToDate.set(!1,void 0),n.schedule()}))),this._register(HV((async(i,e)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(i),this._options.hideUnchangedRegionsContextLineCount.read(i),n.cancel(),s.read(i);const r=this._diffProvider.read(i);r.onChangeSignal.read(i),fU(ng,i),fU(Xp,i),this._isDiffUpToDate.set(!1,void 0);let h=[];e.add(t.original.onDidChangeContent((t=>{const i=dE.fromModelContentChanges(t.changes);h=UE(h,i)})));let c=[];e.add(t.modified.onDidChangeContent((t=>{const i=dE.fromModelContentChanges(t.changes);c=UE(c,i)})));let a=await r.diffProvider.computeDiff(t.original,t.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(i),maxComputationTimeMs:this._options.maxComputationTimeMs.read(i),computeMoves:this._options.showMoves.read(i)},this._cancellationTokenSource.token);var l,u,d;this._cancellationTokenSource.token.isCancellationRequested||(u=t.original,d=t.modified,a={changes:(l=a).changes.map((t=>new mp(t.original,t.modified,t.innerChanges?t.innerChanges.map((t=>function(t,i,e){let s=t.originalRange,n=t.modifiedRange;return(1!==s.endColumn||1!==n.endColumn)&&s.endColumn===i.getLineMaxColumn(s.endLineNumber)&&n.endColumn===e.getLineMaxColumn(n.endLineNumber)&&s.endLineNumber{o(a,t),this._lastDiff=a;const i=fq.fromDiffResult(a);this._diff.set(i,t),this._isDiffUpToDate.set(!0,t);const e=this.movedTextToCompare.get();this.movedTextToCompare.set(e?this._lastDiff.moves.find((t=>t.lineRangeMapping.modified.intersect(e.lineRangeMapping.modified))):void 0,t)})))})))}ensureModifiedLineIsVisible(t,i){var e;if(0===(null===(e=this.diff.get())||void 0===e?void 0:e.mappings.length))return;const s=this._unchangedRegions.get().regions;for(const e of s)if(e.getHiddenModifiedRange(void 0).contains(t))return void e.showModifiedLine(t,i)}ensureOriginalLineIsVisible(t,i){var e;if(0===(null===(e=this.diff.get())||void 0===e?void 0:e.mappings.length))return;const s=this._unchangedRegions.get().regions;for(const e of s)if(e.getHiddenOriginalRange(void 0).contains(t))return void e.showOriginalLine(t,i)}async waitForDiff(){var t;await(t=this.isDiffUpToDate,t=>t,new Promise((i=>{let e=!1,s=!1;const n=t.map((t=>({isFinished:t,state:t}))),o=WV((t=>{const{isFinished:r,state:h}=n.read(t);r&&(e?o.dispose():s=!0,i(h))}));e=!0,s&&o.dispose()})))}serializeState(){return{collapsedRegions:this._unchangedRegions.get().regions.map((t=>({range:t.getHiddenModifiedRange(void 0).serialize()})))}}restoreSerializedState(t){const i=t.collapsedRegions.map((t=>fp.deserialize(t.range))),e=this._unchangedRegions.get();yV((t=>{for(const s of e.regions)for(const e of i)if(s.modifiedUnchangedRange.intersect(e)){s.setHiddenModifiedRange(e,t);break}}))}};dq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,lq)],dq);class fq{static fromDiffResult(t){return new fq(t.changes.map((t=>new pq(t))),t.moves||[],t.identical,t.quitEarly)}constructor(t,i,e,s){this.mappings=t,this.movedTexts=i,this.identical=e,this.quitEarly=s}}class pq{constructor(t){this.lineRangeMapping=t}}class gq{static fromDiffs(t,i,e,s,n){const o=mp.inverse(t,i,e),r=[];for(const t of o){let o=t.original.startLineNumber,h=t.modified.startLineNumber,c=t.original.length;const a=1===o&&1===h,l=o+c===i+1&&h+c===e+1;(a||l)&&c>=n+s?(a&&!l&&(c-=n),l&&!a&&(o+=n,h+=n,c-=n),r.push(new gq(o,h,c,0,0))):c>=2*n+s&&(o+=n,h+=n,c-=2*n,r.push(new gq(o,h,c,0,0)))}return r}get originalUnchangedRange(){return fp.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return fp.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(t,i,e,s,n){this.originalLineNumber=t,this.modifiedLineNumber=i,this.lineCount=e,this._visibleLineCountTop=FV(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=FV(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=_V(this,(t=>this.visibleLineCountTop.read(t)+this.visibleLineCountBottom.read(t)===this.lineCount&&!this.isDragged.read(t))),this.isDragged=FV(this,void 0),this._visibleLineCountTop.set(s,void 0),this._visibleLineCountBottom.set(n,void 0)}shouldHideControls(t){return this._shouldHideControls.read(t)}getHiddenOriginalRange(t){return fp.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(t),this.lineCount-this._visibleLineCountTop.read(t)-this._visibleLineCountBottom.read(t))}getHiddenModifiedRange(t){return fp.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(t),this.lineCount-this._visibleLineCountTop.read(t)-this._visibleLineCountBottom.read(t))}setHiddenModifiedRange(t,i){this.setState(t.startLineNumber-this.modifiedLineNumber,this.modifiedLineNumber+this.lineCount-t.endLineNumberExclusive,i)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(t=10,i){const e=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+t,e),i)}showMoreBelow(t=10,i){const e=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+t,e),i)}showAll(t){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),t)}showModifiedLine(t,i){const e=t+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),s=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-t;e{var n;this._contextMenuService.showContextMenu({domForShadowRoot:u&&null!==(n=e.getDomNode())&&void 0!==n?n:void 0,getAnchor:()=>({x:t,y:i}),getActions:()=>{const t=[],i=s.modified.isEmpty;return t.push(new mr("diff.clipboard.copyDeletedContent",ot(0,i?s.original.length>1?"Copy deleted lines":"Copy deleted line":s.original.length>1?"Copy changed lines":"Copy changed line"),void 0,!0,(async()=>{const t=this._originalTextModel.getValueInRange(s.original.toExclusiveRange());await this._clipboardService.writeText(t)}))),s.original.length>1&&t.push(new mr("diff.clipboard.copyDeletedLineContent",ot(0,i?"Copy deleted line ({0})":"Copy changed line ({0})",s.original.startLineNumber+l),void 0,!0,(async()=>{let t=this._originalTextModel.getLineContent(s.original.startLineNumber+l);""===t&&(t=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"),await this._clipboardService.writeText(t)}))),e.getOption(90)||t.push(new mr("diff.inline.revertChange",ot(0,"Revert this change"),void 0,!0,(async()=>{this._editor.revert(this._diff)}))),t},autoSelectFirstItem:!0})};this._register(qa(this._diffActions,"mousedown",(t=>{if(!t.leftButton)return;const{top:i,height:e}=nl(this._diffActions),s=Math.floor(a/3);t.preventDefault(),d(t.posx,i+e+s)}))),this._register(e.onMouseMove((t=>{8!==t.target.type&&5!==t.target.type||t.target.detail.viewZoneId!==this._getViewZoneId()?this.visibility=!1:(l=this._updateLightBulbPosition(this._marginDomNode,t.event.browserEvent.y,a),this.visibility=!0)}))),this._register(e.onMouseDown((t=>{!t.event.leftButton||8!==t.target.type&&5!==t.target.type||t.target.detail.viewZoneId===this._getViewZoneId()&&(t.event.preventDefault(),l=this._updateLightBulbPosition(this._marginDomNode,t.event.browserEvent.y,a),d(t.event.posx,t.event.posy+a))})))}_updateLightBulbPosition(t,i,e){const{top:s}=nl(t),n=Math.floor((i-s)/e);if(this._diffActions.style.top=n*e+"px",this._viewLineCounts){let t=0;for(let i=0;it});function vq(t,i,e,s){ir(s,i.fontInfo);const n=e.length>0,o=new td(1e4);let r=0,h=0;const c=[];for(let s=0;s');const c=i.getLineContent(),a=nm.isBasicASCII(c,n),l=nm.containsRTL(c,a,o),u=Qg(new qg(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,c,!1,a,l,0,i,e,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==wi.OFF,null),h);return h.appendString(""),u.characterMapping.getHorizontalOffset(u.characterMapping.length)}var xq=function(t,i){return function(e,s){i(e,s,t)}};let Cq=class extends te{constructor(t,i,e,s,n,o,r,h,c,a){super(),this._targetWindow=t,this._editors=i,this._diffModel=e,this._options=s,this._diffEditorWidget=n,this._canIgnoreViewZoneUpdateEvent=o,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=h,this._clipboardService=c,this._contextMenuService=a,this._originalTopPadding=FV(this,0),this._originalScrollOffset=FV(this,0),this._originalScrollOffsetAnimated=cU(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=FV(this,0),this._modifiedScrollOffset=FV(this,0),this._modifiedScrollOffsetAnimated=cU(this._targetWindow,this._modifiedScrollOffset,this._store);const l=FV("invalidateAlignmentsState",0),u=this._register(new pc((()=>{l.set(l.get()+1,void 0)}),0));this._register(this._editors.original.onDidChangeViewZones((()=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()}))),this._register(this._editors.modified.onDidChangeViewZones((()=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()}))),this._register(this._editors.original.onDidChangeConfiguration((t=>{(t.hasChanged(144)||t.hasChanged(66))&&u.schedule()}))),this._register(this._editors.modified.onDidChangeConfiguration((t=>{(t.hasChanged(144)||t.hasChanged(66))&&u.schedule()})));const d=this._diffModel.map((t=>t?KV(t.model.original.onDidChangeTokens,(()=>2===t.model.original.tokenization.backgroundTokenizationState)):void 0)).map(((t,i)=>null==t?void 0:t.read(i))),f=_V((t=>{const i=this._diffModel.read(t),e=null==i?void 0:i.diff.read(t);if(!i||!e)return null;l.read(t);const s=this._options.renderSideBySide.read(t);return Sq(this._editors.original,this._editors.modified,e.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,s)})),p=_V((t=>{var i;const e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.movedTextToCompare.read(t);if(!e)return null;l.read(t);const s=e.changes.map((t=>new pq(t)));return Sq(this._editors.original,this._editors.modified,s,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)}));function g(){const t=document.createElement("div");return t.className="diagonal-fill",t}const m=this._register(new Xi);this.viewZones=BV(this,((t,i)=>{var e,s,o,r,h,c,a,l;m.clear();const u=f.read(t)||[],w=[],v=[],b=this._modifiedTopPadding.read(t);b>0&&v.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:b,showInHiddenAreas:!0,suppressMouseDown:!0});const y=this._originalTopPadding.read(t);y>0&&w.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:y,showInHiddenAreas:!0,suppressMouseDown:!0});const k=this._options.renderSideBySide.read(t),x=k||null===(e=this._editors.modified._getViewModel())||void 0===e?void 0:e.createLineBreaksComputer();if(x)for(const F of u)if(F.diff)for(let T=F.originalRange.startLineNumber;Tthis._editors.original.getModel().tokenization.getLineTokens(t))),R.originalRange.mapToLineArray((()=>C[S++])),A,M),N=[];for(const W of R.diff.innerChanges||[])N.push(new om(W.originalRange.delta(-(R.diff.original.startLineNumber-1)),zU.className,0));const B=vq(_,L,N,I),P=document.createElement("div");if(P.className="inline-deleted-margin-view-zone",ir(P,L.fontInfo),this._options.renderIndicators.read(t))for(let j=0;jK($)),P,this._editors.modified,R.diff,this._diffEditorWidget,B.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let H=0;H1&&w.push({afterLineNumber:R.originalRange.startLineNumber+H,domNode:g(),heightInPx:(V-1)*D,showInHiddenAreas:!0,suppressMouseDown:!0})}v.push({afterLineNumber:R.modifiedRange.startLineNumber-1,domNode:I,heightInPx:B.heightInLines*D,minWidthInPx:B.minWidthInPx,marginDomNode:P,setZoneId(t){$=t},showInHiddenAreas:!0,suppressMouseDown:!0})}const O=document.createElement("div");O.className="gutter-delete",w.push({afterLineNumber:R.originalRange.endLineNumberExclusive-1,domNode:g(),heightInPx:R.modifiedHeightInPx,marginDomNode:O,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const U=R.modifiedHeightInPx-R.originalHeightInPx;if(U>0){if(null==E?void 0:E.lineRangeMapping.original.delta(-1).deltaLength(2).contains(R.originalRange.endLineNumberExclusive-1))continue;w.push({afterLineNumber:R.originalRange.endLineNumberExclusive-1,domNode:g(),heightInPx:U,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(null==E?void 0:E.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(R.modifiedRange.endLineNumberExclusive-1))continue;function q(){const t=document.createElement("div");return t.className="arrow-revert-change "+Cr.asClassName(Os.arrowRight),i.add(Va(t,"mousedown",(t=>t.stopPropagation()))),i.add(Va(t,"click",(t=>{t.stopPropagation(),n.revert(R.diff)}))),$l("div",{},t)}let G;R.diff&&R.diff.modified.isEmpty&&this._options.shouldRenderRevertArrows.read(t)&&(G=q()),v.push({afterLineNumber:R.modifiedRange.endLineNumberExclusive-1,domNode:g(),heightInPx:-U,marginDomNode:G,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const Z of null!==(l=p.read(t))&&void 0!==l?l:[]){if(!(null==E?void 0:E.lineRangeMapping.original.intersect(Z.originalRange))||!(null==E?void 0:E.lineRangeMapping.modified.intersect(Z.modifiedRange)))continue;const Q=Z.modifiedHeightInPx-Z.originalHeightInPx;Q>0?w.push({afterLineNumber:Z.originalRange.endLineNumberExclusive-1,domNode:g(),heightInPx:Q,showInHiddenAreas:!0,suppressMouseDown:!0}):v.push({afterLineNumber:Z.modifiedRange.endLineNumberExclusive-1,domNode:g(),heightInPx:-Q,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:w,mod:v}}));let w=!1;this._register(this._editors.original.onDidScrollChange((t=>{t.scrollLeftChanged&&!w&&(w=!0,this._editors.modified.setScrollLeft(t.scrollLeft),w=!1)}))),this._register(this._editors.modified.onDidScrollChange((t=>{t.scrollLeftChanged&&!w&&(w=!0,this._editors.original.setScrollLeft(t.scrollLeft),w=!1)}))),this._originalScrollTop=KV(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=KV(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._register(WV((t=>{const i=this._originalScrollTop.read(t)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(t))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(t));i!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(i,1)}))),this._register(WV((t=>{const i=this._modifiedScrollTop.read(t)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(t))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(t));i!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(i,1)}))),this._register(WV((t=>{var i;const e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.movedTextToCompare.read(t);let s=0;if(e){const t=this._editors.original.getTopForLineNumber(e.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();s=this._editors.modified.getTopForLineNumber(e.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-t}s>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(s,void 0)):s<0?(this._modifiedTopPadding.set(-s,void 0),this._originalTopPadding.set(0,void 0)):setTimeout((()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)}),400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-s,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+s,void 0,!0)})))}};function Sq(t,i,e,s,n,o){const r=new _(Dq(t,s)),h=new _(Dq(i,n)),c=t.getOption(66),a=i.getOption(66),l=[];let u=0,d=0;function f(t,i){for(;;){let e=r.peek(),s=h.peek();if(e&&e.lineNumber>=t&&(e=void 0),s&&s.lineNumber>=i&&(s=void 0),!e&&!s)break;const n=e?e.lineNumber-u:Number.MAX_VALUE,o=s?s.lineNumber-d:Number.MAX_VALUE;no?(h.dequeue(),e={lineNumber:s.lineNumber-d+u,heightInPx:0}):(r.dequeue(),h.dequeue()),l.push({originalRange:fp.ofLength(e.lineNumber,1),modifiedRange:fp.ofLength(s.lineNumber,1),originalHeightInPx:c+e.heightInPx,modifiedHeightInPx:a+s.heightInPx,diff:void 0})}}for(const p of e){const g=p.lineRangeMapping;f(g.original.startLineNumber,g.modified.startLineNumber);let m=!0,w=g.modified.startLineNumber,v=g.original.startLineNumber;function b(t,i){var e,s,n,o;if(ti.lineNumbert+i.heightInPx),0))&&void 0!==s?s:0,g=null!==(o=null===(n=h.takeWhile((t=>t.lineNumbert+i.heightInPx),0))&&void 0!==o?o:0;l.push({originalRange:u,modifiedRange:d,originalHeightInPx:u.length*c+f,modifiedHeightInPx:d.length*a+g,diff:p.lineRangeMapping}),v=t,w=i}if(o)for(const y of g.innerChanges||[])y.originalRange.startColumn>1&&y.modifiedRange.startColumn>1&&b(y.originalRange.startLineNumber,y.modifiedRange.startLineNumber),y.originalRange.endColumn1&&s.push({lineNumber:i,heightInPx:r*(t-1)})}for(const s of t.getWhitespaces()){if(i.has(s.id))continue;const t=0===s.afterLineNumber?0:o.convertViewPositionToModelPosition(new As(s.afterLineNumber,1)).lineNumber;e.push({lineNumber:t,heightInPx:s.height})}return function(t,i,e){if(0===t.length)return i;if(0===i.length)return t;const s=[];let n=0,o=0;for(;nl?(s.push(c),o++):(s.push({lineNumber:(r=h).lineNumber,heightInPx:r.heightInPx+c.heightInPx}),n++,o++)}for(var r;nt.lineNumber))}Cq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([xq(8,yH),xq(9,lI)],Cq);var Eq;let Aq=Eq=class extends te{constructor(t,i,e,s,n,o,r){super(),this._editors=t,this._rootElement=i,this._diffModel=e,this._rootWidth=s,this._rootHeight=n,this._modifiedEditorLayoutInfo=o,this._themeService=r,this.width=Eq.ENTIRE_DIFF_OVERVIEW_WIDTH;const h=KV(this._themeService.onDidColorThemeChange,(()=>this._themeService.getColorTheme())),c=_V((t=>{const i=h.read(t);return{insertColor:i.getColor(Kv)||(i.getColor(Uv)||Hv).transparent(2),removeColor:i.getColor(Gv)||(i.getColor(qv)||Vv).transparent(2)}})),a=tr(document.createElement("div"));a.setClassName("diffViewport"),a.setPosition("absolute");const l=Jl("div.diffOverview",{style:{position:"absolute",top:"0px",width:Eq.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(rU(l,a.domNode)),this._register(qa(l,Ll.POINTER_DOWN,(t=>{this._editors.modified.delegateVerticalScrollbarPointerDown(t)}))),this._register(Va(l,Ll.MOUSE_WHEEL,(t=>{this._editors.modified.delegateScrollFromMouseWheelEvent(t)}),{passive:!1})),this._register(rU(this._rootElement,l)),this._register(HV(((t,i)=>{const e=this._diffModel.read(t),s=this._editors.original.createOverviewRuler("original diffOverviewRuler");s&&(i.add(s),i.add(rU(l,s.getDomNode())));const n=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(n&&(i.add(n),i.add(rU(l,n.getDomNode()))),!s||!n)return;const o=ZV("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=ZV("viewZoneChanged",this._editors.modified.onDidChangeViewZones),h=ZV("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),u=ZV("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);i.add(WV((t=>{var i;o.read(t),r.read(t),h.read(t),u.read(t);const a=c.read(t),l=null===(i=null==e?void 0:e.diff.read(t))||void 0===i?void 0:i.mappings;function d(t,i,e){const s=e._getViewModel();return s?t.filter((t=>t.length>0)).map((t=>{const e=s.coordinatesConverter.convertModelPositionToViewPosition(new As(t.startLineNumber,1)),n=s.coordinatesConverter.convertModelPositionToViewPosition(new As(t.endLineNumberExclusive,1));return new kD(e.lineNumber,n.lineNumber,n.lineNumber-e.lineNumber,i.toString())})):[]}const f=d((l||[]).map((t=>t.lineRangeMapping.original)),a.removeColor,this._editors.original),p=d((l||[]).map((t=>t.lineRangeMapping.modified)),a.insertColor,this._editors.modified);null==s||s.setZones(f),null==n||n.setZones(p)}))),i.add(WV((t=>{const i=this._rootHeight.read(t),e=this._rootWidth.read(t),o=this._modifiedEditorLayoutInfo.read(t);if(o){s.setLayout({top:0,height:i,right:Eq.ENTIRE_DIFF_OVERVIEW_WIDTH-2*Eq.ONE_OVERVIEW_WIDTH+Eq.ONE_OVERVIEW_WIDTH,width:Eq.ONE_OVERVIEW_WIDTH}),n.setLayout({top:0,height:i,right:0,width:Eq.ONE_OVERVIEW_WIDTH});const e=this._editors.modifiedScrollTop.read(t),r=this._editors.modifiedScrollHeight.read(t),h=this._editors.modified.getOption(102),c=new vk(h.verticalHasArrows?h.arrowSize:0,h.verticalScrollbarSize,0,o.height,r,e);a.setTop(c.getSliderPosition()),a.setHeight(c.getSliderSize())}else a.setTop(0),a.setHeight(0);l.style.height=i+"px",l.style.left=e-Eq.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",a.setWidth(Eq.ENTIRE_DIFF_OVERVIEW_WIDTH)})))})))}};Aq.ONE_OVERVIEW_WIDTH=15,Aq.ENTIRE_DIFF_OVERVIEW_WIDTH=2*Eq.ONE_OVERVIEW_WIDTH,Aq=Eq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(6,Xk)],Aq),dw("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},ot(0,"The border color for text that got moved in the diff editor.")),dw("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},ot(0,"The active border color for text that got moved in the diff editor.")),dw("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},ot(0,"The color of the shadow around unchanged region widgets."));class Mq extends te{constructor(){super(...arguments),this._id=++Mq.idCounter,this._onDidDispose=this._register(new de),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(t){return this._targetEditor.getVisibleColumnFromPosition(t)}getPosition(){return this._targetEditor.getPosition()}setPosition(t,i="api"){this._targetEditor.setPosition(t,i)}revealLine(t,i=0){this._targetEditor.revealLine(t,i)}revealLineInCenter(t,i=0){this._targetEditor.revealLineInCenter(t,i)}revealLineInCenterIfOutsideViewport(t,i=0){this._targetEditor.revealLineInCenterIfOutsideViewport(t,i)}revealLineNearTop(t,i=0){this._targetEditor.revealLineNearTop(t,i)}revealPosition(t,i=0){this._targetEditor.revealPosition(t,i)}revealPositionInCenter(t,i=0){this._targetEditor.revealPositionInCenter(t,i)}revealPositionInCenterIfOutsideViewport(t,i=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(t,i)}revealPositionNearTop(t,i=0){this._targetEditor.revealPositionNearTop(t,i)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(t,i="api"){this._targetEditor.setSelection(t,i)}setSelections(t,i="api"){this._targetEditor.setSelections(t,i)}revealLines(t,i,e=0){this._targetEditor.revealLines(t,i,e)}revealLinesInCenter(t,i,e=0){this._targetEditor.revealLinesInCenter(t,i,e)}revealLinesInCenterIfOutsideViewport(t,i,e=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(t,i,e)}revealLinesNearTop(t,i,e=0){this._targetEditor.revealLinesNearTop(t,i,e)}revealRange(t,i=0,e=!1,s=!0){this._targetEditor.revealRange(t,i,e,s)}revealRangeInCenter(t,i=0){this._targetEditor.revealRangeInCenter(t,i)}revealRangeInCenterIfOutsideViewport(t,i=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(t,i)}revealRangeNearTop(t,i=0){this._targetEditor.revealRangeNearTop(t,i)}revealRangeNearTopIfOutsideViewport(t,i=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(t,i)}revealRangeAtTop(t,i=0){this._targetEditor.revealRangeAtTop(t,i)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(t,i,e){this._targetEditor.trigger(t,i,e)}createDecorationsCollection(t){return this._targetEditor.createDecorationsCollection(t)}changeDecorations(t){return this._targetEditor.changeDecorations(t)}}Mq.idCounter=0;var Lq=function(t,i){return function(e,s){i(e,s,t)}};let Fq=class extends te{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(t,i,e,s,n,o,r){super(),this.originalEditorElement=t,this.modifiedEditorElement=i,this._options=e,this._createInnerEditor=n,this._instantiationService=o,this._keybindingService=r,this._onDidContentSizeChange=this._register(new de),this.original=this._register(this._createLeftHandSideEditor(e.editorOptions.get(),s.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(e.editorOptions.get(),s.modifiedEditor||{})),this.modifiedModel=KV(this.modified.onDidChangeModel,(()=>this.modified.getModel())),this.modifiedScrollTop=KV(this.modified.onDidScrollChange,(()=>this.modified.getScrollTop())),this.modifiedScrollHeight=KV(this.modified.onDidScrollChange,(()=>this.modified.getScrollHeight())),this.modifiedSelections=KV(this.modified.onDidChangeCursorSelection,(()=>{var t;return null!==(t=this.modified.getSelections())&&void 0!==t?t:[]})),this.modifiedCursor=KV(this.modified.onDidChangeCursorPosition,(()=>{var t;return null!==(t=this.modified.getPosition())&&void 0!==t?t:new As(1,1)})),this._register(zV({createEmptyChangeSummary:()=>({}),handleChange:(t,i)=>(t.didChange(e.editorOptions)&&Object.assign(i,t.change.changedOptions),!0)},((t,i)=>{e.editorOptions.read(t),this._options.renderSideBySide.read(t),this.modified.updateOptions(this._adjustOptionsForRightHandSide(t,i)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(t,i))})))}_createLeftHandSideEditor(t,i){const e=this._adjustOptionsForLeftHandSide(void 0,t),s=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,e,i);return s.setContextValue("isInDiffLeftEditor",!0),s}_createRightHandSideEditor(t,i){const e=this._adjustOptionsForRightHandSide(void 0,t),s=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,e,i);return s.setContextValue("isInDiffRightEditor",!0),s}_constructInnerEditor(t,i,e,s){const n=this._createInnerEditor(t,i,e,s);return this._register(n.onDidContentSizeChange((t=>{const i=this.original.getContentWidth()+this.modified.getContentWidth()+Aq.ENTIRE_DIFF_OVERVIEW_WIDTH,e=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:e,contentWidth:i,contentHeightChanged:t.contentHeightChanged,contentWidthChanged:t.contentWidthChanged})}))),n}_adjustOptionsForLeftHandSide(t,i){const e=this._adjustOptionsForSubEditor(i);return this._options.renderSideBySide.get()?(e.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},e.wordWrapOverride1=this._options.diffWordWrap.get()):(e.wordWrapOverride1="off",e.wordWrapOverride2="off",e.stickyScroll={enabled:!1},e.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),e.glyphMargin=this._options.renderSideBySide.get(),i.originalAriaLabel&&(e.ariaLabel=i.originalAriaLabel),e.ariaLabel=this._updateAriaLabel(e.ariaLabel),e.readOnly=!this._options.originalEditable.get(),e.dropIntoEditor={enabled:!e.readOnly},e.extraEditorClassName="original-in-monaco-diff-editor",e}_adjustOptionsForRightHandSide(t,i){const e=this._adjustOptionsForSubEditor(i);return i.modifiedAriaLabel&&(e.ariaLabel=i.modifiedAriaLabel),e.ariaLabel=this._updateAriaLabel(e.ariaLabel),e.wordWrapOverride1=this._options.diffWordWrap.get(),e.revealHorizontalRightPadding=_i.revealHorizontalRightPadding.defaultValue+Aq.ENTIRE_DIFF_OVERVIEW_WIDTH,e.scrollbar.verticalHasArrows=!1,e.extraEditorClassName="modified-in-monaco-diff-editor",e}_adjustOptionsForSubEditor(t){const i={...t,dimension:{height:0,width:0}};return i.inDiffEditor=!0,i.automaticLayout=!1,i.scrollbar={...i.scrollbar||{}},i.folding=!1,i.codeLens=this._options.diffCodeLens.get(),i.fixedOverflowWidgets=!0,i.minimap={...i.minimap||{}},i.minimap.enabled=!1,i.stickyScroll=this._options.hideUnchangedRegions.get()?{enabled:!1}:this._options.editorOptions.get().stickyScroll,i}_updateAriaLabel(t){var i;t||(t="");const e=ot(0," use {0} to open the accessibility help.",null===(i=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))||void 0===i?void 0:i.getAriaLabel());return this._options.accessibilityVerbose.get()?t+e:t?t.replaceAll(e,""):""}};Fq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Lq(5,ur),Lq(6,oC)],Fq);class Tq{get editorOptions(){return this._options}constructor(t){this._diffEditorWidth=FV(this,0),this.couldShowInlineViewBecauseOfSize=_V(this,(t=>this._options.read(t).renderSideBySide&&this._diffEditorWidth.read(t)<=this._options.read(t).renderSideBySideInlineBreakpoint)),this.renderOverviewRuler=_V(this,(t=>this._options.read(t).renderOverviewRuler)),this.renderSideBySide=_V(this,(t=>this._options.read(t).renderSideBySide&&!(this._options.read(t).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(t)))),this.readOnly=_V(this,(t=>this._options.read(t).readOnly)),this.shouldRenderRevertArrows=_V(this,(t=>!!this._options.read(t).renderMarginRevertIcon&&!!this.renderSideBySide.read(t)&&!this.readOnly.read(t))),this.renderIndicators=_V(this,(t=>this._options.read(t).renderIndicators)),this.enableSplitViewResizing=_V(this,(t=>this._options.read(t).enableSplitViewResizing)),this.splitViewDefaultRatio=_V(this,(t=>this._options.read(t).splitViewDefaultRatio)),this.ignoreTrimWhitespace=_V(this,(t=>this._options.read(t).ignoreTrimWhitespace)),this.maxComputationTimeMs=_V(this,(t=>this._options.read(t).maxComputationTime)),this.showMoves=_V(this,(t=>this._options.read(t).experimental.showMoves&&this.renderSideBySide.read(t))),this.isInEmbeddedEditor=_V(this,(t=>this._options.read(t).isInEmbeddedEditor)),this.diffWordWrap=_V(this,(t=>this._options.read(t).diffWordWrap)),this.originalEditable=_V(this,(t=>this._options.read(t).originalEditable)),this.diffCodeLens=_V(this,(t=>this._options.read(t).diffCodeLens)),this.accessibilityVerbose=_V(this,(t=>this._options.read(t).accessibilityVerbose)),this.diffAlgorithm=_V(this,(t=>this._options.read(t).diffAlgorithm)),this.showEmptyDecorations=_V(this,(t=>this._options.read(t).experimental.showEmptyDecorations)),this.onlyShowAccessibleDiffViewer=_V(this,(t=>this._options.read(t).onlyShowAccessibleDiffViewer)),this.hideUnchangedRegions=_V(this,(t=>this._options.read(t).hideUnchangedRegions.enabled)),this.hideUnchangedRegionsRevealLineCount=_V(this,(t=>this._options.read(t).hideUnchangedRegions.revealLineCount)),this.hideUnchangedRegionsContextLineCount=_V(this,(t=>this._options.read(t).hideUnchangedRegions.contextLineCount)),this.hideUnchangedRegionsMinimumLineCount=_V(this,(t=>this._options.read(t).hideUnchangedRegions.minimumLineCount));const i={...t,...Rq(t,cO)};this._options=FV(this,i)}updateOptions(t){const i=Rq(t,this._options.get()),e={...this._options.get(),...t,...i};this._options.set(e,void 0,{changedOptions:t})}setWidth(t){this._diffEditorWidth.set(t,void 0)}}function Rq(t,i){var e,s,n,o,r,h,c,a;return{enableSplitViewResizing:oi(t.enableSplitViewResizing,i.enableSplitViewResizing),splitViewDefaultRatio:ai(t.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:oi(t.renderSideBySide,i.renderSideBySide),renderMarginRevertIcon:oi(t.renderMarginRevertIcon,i.renderMarginRevertIcon),maxComputationTime:hi(t.maxComputationTime,i.maxComputationTime,0,1073741824),maxFileSize:hi(t.maxFileSize,i.maxFileSize,0,1073741824),ignoreTrimWhitespace:oi(t.ignoreTrimWhitespace,i.ignoreTrimWhitespace),renderIndicators:oi(t.renderIndicators,i.renderIndicators),originalEditable:oi(t.originalEditable,i.originalEditable),diffCodeLens:oi(t.diffCodeLens,i.diffCodeLens),renderOverviewRuler:oi(t.renderOverviewRuler,i.renderOverviewRuler),diffWordWrap:di(t.diffWordWrap,i.diffWordWrap,["off","on","inherit"]),diffAlgorithm:di(t.diffAlgorithm,i.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:oi(t.accessibilityVerbose,i.accessibilityVerbose),experimental:{showMoves:oi(null===(e=t.experimental)||void 0===e?void 0:e.showMoves,i.experimental.showMoves),showEmptyDecorations:oi(null===(s=t.experimental)||void 0===s?void 0:s.showEmptyDecorations,i.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:oi(null!==(o=null===(n=t.hideUnchangedRegions)||void 0===n?void 0:n.enabled)&&void 0!==o?o:null===(r=t.experimental)||void 0===r?void 0:r.collapseUnchangedRegions,i.hideUnchangedRegions.enabled),contextLineCount:hi(null===(h=t.hideUnchangedRegions)||void 0===h?void 0:h.contextLineCount,i.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:hi(null===(c=t.hideUnchangedRegions)||void 0===c?void 0:c.minimumLineCount,i.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:hi(null===(a=t.hideUnchangedRegions)||void 0===a?void 0:a.revealLineCount,i.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:oi(t.isInEmbeddedEditor,i.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:oi(t.onlyShowAccessibleDiffViewer,i.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:hi(t.renderSideBySideInlineBreakpoint,i.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:oi(t.useInlineViewWhenSpaceIsLimited,i.useInlineViewWhenSpaceIsLimited)}}var Oq=function(t,i){return function(e,s){i(e,s,t)}};let Iq=class extends Mq{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(t,i,e,s,n,o,r,h){var c;super(),this._domElement=t,this._parentContextKeyService=s,this._parentInstantiationService=n,this._audioCueService=r,this._editorProgressService=h,this.elements=Jl("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[Jl("div.noModificationsOverlay@overlay",{style:{position:"absolute",height:"100%",visibility:"hidden"}},[$l("span",{},"No Changes")]),Jl("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),Jl("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),Jl("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModel=FV(this,void 0),this._shouldDisposeDiffModel=!1,this.onDidChangeModel=he.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._parentInstantiationService.createChild(new iT([ah,this._contextKeyService])),this._boundarySashes=FV(this,void 0),this._accessibleDiffViewerShouldBeVisible=FV(this,!1),this._accessibleDiffViewerVisible=_V(this,(t=>!!this._options.onlyShowAccessibleDiffViewer.read(t)||this._accessibleDiffViewerShouldBeVisible.read(t))),this._movedBlocksLinesPart=FV(this,void 0),this._layoutInfo=_V(this,(t=>{var i,e,s,n,o;const r=this._rootSizeObserver.width.read(t),h=this._rootSizeObserver.height.read(t),c=null===(i=this._sash.read(t))||void 0===i?void 0:i.sashLeft.read(t),a=null!=c?c:Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft),l=r-a-(null!==(s=null===(e=this._overviewRulerPart.read(t))||void 0===e?void 0:e.width)&&void 0!==s?s:0),u=a-(null!==(o=null===(n=this._movedBlocksLinesPart.read(t))||void 0===n?void 0:n.width.read(t))&&void 0!==o?o:0);return this.elements.original.style.width=u+"px",this.elements.original.style.left="0px",this.elements.modified.style.width=l+"px",this.elements.modified.style.left=a+"px",this._editors.original.layout({width:u,height:h},!0),this._editors.modified.layout({width:l,height:h},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}})),this._diffValue=this._diffModel.map(((t,i)=>null==t?void 0:t.diff.read(i))),this.onDidUpdateDiff=he.fromObservableLight(this._diffValue),o.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(Yi((()=>this._domElement.removeChild(this.elements.root)))),this._rootSizeObserver=this._register(new hU(this.elements.root,i.dimension)),this._rootSizeObserver.setAutomaticLayout(null!==(c=i.automaticLayout)&&void 0!==c&&c),this._options=new Tq(i),this._register(WV((t=>{this._options.setWidth(this._rootSizeObserver.width.read(t))}))),this._contextKeyService.createKey(YC.isEmbeddedDiffEditor.key,!1),this._register(wU(YC.isEmbeddedDiffEditor,this._contextKeyService,(t=>this._options.isInEmbeddedEditor.read(t)))),this._register(wU(YC.comparingMovedCode,this._contextKeyService,(t=>{var i;return!!(null===(i=this._diffModel.read(t))||void 0===i?void 0:i.movedTextToCompare.read(t))}))),this._register(wU(YC.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,(t=>this._options.couldShowInlineViewBecauseOfSize.read(t)))),this._register(wU(YC.hasChanges,this._contextKeyService,(t=>{var i,e,s;return(null!==(s=null===(e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.diff.read(t))||void 0===e?void 0:e.mappings.length)&&void 0!==s?s:0)>0}))),this._editors=this._register(this._instantiationService.createInstance(Fq,this.elements.original,this.elements.modified,this._options,e,((t,i,e,s)=>this._createInnerEditor(t,i,e,s)))),this._overviewRulerPart=PV(this,(t=>this._options.renderOverviewRuler.read(t)?this._instantiationService.createInstance(fU(Aq,t),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map((t=>t.modifiedEditor))):void 0)).recomputeInitiallyAndOnChange(this._store),this._sash=PV(this,(t=>{const i=this._options.renderSideBySide.read(t);return this.elements.root.classList.toggle("side-by-side",i),i?new JU(this._options,this.elements.root,{height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(((t,i)=>{var e,s;return t-(null!==(s=null===(e=this._overviewRulerPart.read(i))||void 0===e?void 0:e.width)&&void 0!==s?s:0)}))},this._boundarySashes):void 0})).recomputeInitiallyAndOnChange(this._store);const a=PV(this,(t=>this._instantiationService.createInstance(fU(nq,t),this._editors,this._diffModel,this._options))).recomputeInitiallyAndOnChange(this._store);PV(this,(t=>this._instantiationService.createInstance(fU(GU,t),this._editors,this._diffModel,this._options,this))).recomputeInitiallyAndOnChange(this._store);const l=new Set,u=new Set;let d=!1;const f=PV(this,(t=>this._instantiationService.createInstance(fU(Cq,t),Na(this._domElement),this._editors,this._diffModel,this._options,this,(()=>d||a.get().isUpdatingHiddenAreas),l,u))).recomputeInitiallyAndOnChange(this._store),p=_V(this,(t=>{const i=f.read(t).viewZones.read(t).orig,e=a.read(t).viewZones.read(t).origViewZones;return i.concat(e)})),g=_V(this,(t=>{const i=f.read(t).viewZones.read(t).mod,e=a.read(t).viewZones.read(t).modViewZones;return i.concat(e)}));let m;this._register(pU(this._editors.original,p,(t=>{d=t}),l)),this._register(pU(this._editors.modified,g,(t=>{d=t,d?m=iU.capture(this._editors.modified):(null==m||m.restore(this._editors.modified),m=void 0)}),u)),this._accessibleDiffViewer=PV(this,(t=>this._instantiationService.createInstance(fU(CU,t),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,((t,i)=>this._accessibleDiffViewerShouldBeVisible.set(t,i)),this._options.onlyShowAccessibleDiffViewer.map((t=>!t)),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map(((t,i)=>{var e;return null===(e=null==t?void 0:t.diff.read(i))||void 0===e?void 0:e.mappings.map((t=>t.lineRangeMapping))})),this._editors))).recomputeInitiallyAndOnChange(this._store);const w=this._accessibleDiffViewerVisible.map((t=>t?"hidden":"visible"));this._register(dU(this.elements.modified,{visibility:w})),this._register(dU(this.elements.original,{visibility:w})),this._createDiffEditorContributions(),o.addDiffEditor(this),this._register(XV(this._layoutInfo)),PV(this,(t=>new(fU(UU,t))(this.elements.root,this._diffModel,this._layoutInfo.map((t=>t.originalEditor)),this._layoutInfo.map((t=>t.modifiedEditor)),this._editors))).recomputeInitiallyAndOnChange(this._store,(t=>{this._movedBlocksLinesPart.set(t,void 0)})),this._register(dU(this.elements.overlay,{width:this._layoutInfo.map(((t,i)=>t.originalEditor.width+(this._options.renderSideBySide.read(i)?0:t.modifiedEditor.width))),visibility:_V((t=>{var i,e;return this._options.hideUnchangedRegions.read(t)&&0===(null===(e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.diff.read(t))||void 0===e?void 0:e.mappings.length)?"visible":"hidden"}))})),this._register(he.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,(t=>{var i,e;if(3===(null==t?void 0:t.reason)){const s=null===(e=null===(i=this._diffModel.get())||void 0===i?void 0:i.diff.get())||void 0===e?void 0:e.mappings.find((i=>i.lineRangeMapping.modified.contains(t.position.lineNumber)));(null==s?void 0:s.lineRangeMapping.modified.isEmpty)?this._audioCueService.playAudioCue(UH.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):(null==s?void 0:s.lineRangeMapping.original.isEmpty)?this._audioCueService.playAudioCue(UH.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):s&&this._audioCueService.playAudioCue(UH.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}})));const v=this._diffModel.map(this,((t,i)=>{if(t)return void 0===t.diff.read(i)&&!t.isDiffUpToDate.read(i)}));this._register(HV(((t,i)=>{if(!0===v.read(t)){const t=this._editorProgressService.show(!0,1e3);i.add(Yi((()=>t.done())))}}))),this._register(Yi((()=>{var t;this._shouldDisposeDiffModel&&(null===(t=this._diffModel.get())||void 0===t||t.dispose())})))}_createInnerEditor(t,i,e,s){return t.createInstance(TT,i,e,s)}_createDiffEditorContributions(){const t=uu.getDiffEditorContributions();for(const i of t)try{this._register(this._instantiationService.createInstance(i.ctor,this))}catch(t){Bi(t)}}get _targetEditor(){return this._editors.modified}getEditorType(){return Og.IDiffEditor}layout(t){this._rootSizeObserver.observe(t)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var t;return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:null===(t=this._diffModel.get())||void 0===t?void 0:t.serializeState()}}restoreViewState(t){var i;if(t&&t.original&&t.modified){const e=t;this._editors.original.restoreViewState(e.original),this._editors.modified.restoreViewState(e.modified),e.modelState&&(null===(i=this._diffModel.get())||void 0===i||i.restoreSerializedState(e.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(t){return this._instantiationService.createInstance(dq,t,this._options)}getModel(){var t,i;return null!==(i=null===(t=this._diffModel.get())||void 0===t?void 0:t.model)&&void 0!==i?i:null}setModel(t,i){!t&&this._diffModel.get()&&this._accessibleDiffViewer.get().close();const e=t?"model"in t?{model:t,shouldDispose:!1}:{model:this.createViewModel(t),shouldDispose:!0}:void 0;this._diffModel.get()!==(null==e?void 0:e.model)&&xV(i,(t=>{var i;KV.batchEventsGlobally(t,(()=>{this._editors.original.setModel(e?e.model.model.original:null),this._editors.modified.setModel(e?e.model.model.modified:null)}));const s=this._diffModel.get(),n=this._shouldDisposeDiffModel;this._shouldDisposeDiffModel=null!==(i=null==e?void 0:e.shouldDispose)&&void 0!==i&&i,this._diffModel.set(null==e?void 0:e.model,t),n&&(null==s||s.dispose())}))}updateOptions(t){this._options.updateOptions(t)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var t;const i=null===(t=this._diffModel.get())||void 0===t?void 0:t.diff.get();return i?i.mappings.map((t=>{const i=t.lineRangeMapping;let e,s,n,o,r=i.innerChanges;return i.original.isEmpty?(e=i.original.startLineNumber-1,s=0,r=void 0):(e=i.original.startLineNumber,s=i.original.endLineNumberExclusive-1),i.modified.isEmpty?(n=i.modified.startLineNumber-1,o=0,r=void 0):(n=i.modified.startLineNumber,o=i.modified.endLineNumberExclusive-1),{originalStartLineNumber:e,originalEndLineNumber:s,modifiedStartLineNumber:n,modifiedEndLineNumber:o,charChanges:null==r?void 0:r.map((t=>({originalStartLineNumber:t.originalRange.startLineNumber,originalStartColumn:t.originalRange.startColumn,originalEndLineNumber:t.originalRange.endLineNumber,originalEndColumn:t.originalRange.endColumn,modifiedStartLineNumber:t.modifiedRange.startLineNumber,modifiedStartColumn:t.modifiedRange.startColumn,modifiedEndLineNumber:t.modifiedRange.endLineNumber,modifiedEndColumn:t.modifiedRange.endColumn})))}})):null}revert(t){var i;if(t.innerChanges)return void this.revertRangeMappings(t.innerChanges);const e=null===(i=this._diffModel.get())||void 0===i?void 0:i.model;e&&this._editors.modified.executeEdits("diffEditor",[{range:t.modified.toExclusiveRange(),text:e.original.getValueInRange(t.original.toExclusiveRange())}])}revertRangeMappings(t){const i=this._diffModel.get();if(!i||!i.isDiffUpToDate.get())return;const e=t.map((t=>({range:t.modifiedRange,text:i.model.original.getValueInRange(t.originalRange)})));this._editors.modified.executeEdits("diffEditor",e)}_goTo(t){this._editors.modified.setPosition(new As(t.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(t.lineRangeMapping.modified.toExclusiveRange())}goToDiff(t){var i,e,s,n;const o=null===(e=null===(i=this._diffModel.get())||void 0===i?void 0:i.diff.get())||void 0===e?void 0:e.mappings;if(!o||0===o.length)return;const r=this._editors.modified.getPosition().lineNumber;let h;h="next"===t?null!==(s=o.find((t=>t.lineRangeMapping.modified.startLineNumber>r)))&&void 0!==s?s:o[0]:null!==(n=rp(o,(t=>t.lineRangeMapping.modified.startLineNumber{var i;const e=null===(i=t.diff.get())||void 0===i?void 0:i.mappings;e&&0!==e.length&&this._goTo(e[0])}))}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const t=this._diffModel.get();t&&await t.waitForDiff()}mapToOtherSide(){var t,i;const e=this._editors.modified.hasWidgetFocus(),s=e?this._editors.original:this._editors.modified;let n;const o=(e?this._editors.modified:this._editors.original).getSelection();if(o){const s=null===(i=null===(t=this._diffModel.get())||void 0===t?void 0:t.diff.get())||void 0===i?void 0:i.mappings.map((t=>e?t.lineRangeMapping.flip():t.lineRangeMapping));if(s){const t=mU(o.getStartPosition(),s),i=mU(o.getEndPosition(),s);n=Ms.plusRange(t,i)}}return{destination:s,destinationSelection:n}}switchSide(){const{destination:t,destinationSelection:i}=this.mapToOtherSide();t.focus(),i&&t.setSelection(i)}exitCompareMove(){const t=this._diffModel.get();t&&t.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var t;const i=null===(t=this._diffModel.get())||void 0===t?void 0:t.unchangedRegions.get();i&&yV((t=>{for(const e of i)e.collapseAll(t)}))}showAllUnchangedRegions(){var t;const i=null===(t=this._diffModel.get())||void 0===t?void 0:t.unchangedRegions.get();i&&yV((t=>{for(const e of i)e.showAll(t)}))}};Iq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Oq(3,ah),Oq(4,ur),Oq(5,fr),Oq(6,zH),Oq(7,zO)],Iq);var _q=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Nq=function(t,i){return function(e,s){i(e,s,t)}};let Bq=0,Pq=!1;let $q=class extends TT{constructor(t,i,e,s,n,o,r,h,c,a,l,u){const d={...i};d.ariaLabel=d.ariaLabel||oI.editorViewAccessibleLabel,d.ariaLabel=d.ariaLabel+";"+oI.accessibilityHelpMessage,super(t,d,{},e,s,n,o,h,c,a,l,u),this._standaloneKeybindingService=r instanceof sV?r:null,function(t){if(!t){if(Pq)return;Pq=!0}!function(t){Om=document.createElement("div"),Om.className="monaco-aria-container";const i=()=>{const t=document.createElement("div");return t.className="monaco-alert",t.setAttribute("role","alert"),t.setAttribute("aria-atomic","true"),Om.appendChild(t),t};Im=i(),_m=i();const e=()=>{const t=document.createElement("div");return t.className="monaco-status",t.setAttribute("aria-live","polite"),t.setAttribute("aria-atomic","true"),Om.appendChild(t),t};Nm=e(),Bm=e(),t.appendChild(Om)}(t||$n.document.body)}(d.ariaContainerElement)}addCommand(t,i,e){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const s="DYNAMIC_"+ ++Bq,n=zr.deserialize(e);return this._standaloneKeybindingService.addDynamicKeybinding(s,t,i,n),s}createContextKey(t,i){return this._contextKeyService.createKey(t,i)}addAction(t){if("string"!=typeof t.id||"string"!=typeof t.label||"function"!=typeof t.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),te.None;const i=t.id,e=t.label,s=zr.and(zr.equals("editorId",this.getId()),zr.deserialize(t.precondition)),n=t.keybindings,o=zr.and(s,zr.deserialize(t.keybindingContext)),r=t.contextMenuGroupId||null,h=t.contextMenuOrder||0,c=(i,...e)=>Promise.resolve(t.run(this,...e)),a=new Xi,l=this.getId()+":"+i;if(a.add(Dr.registerCommand(l,c)),r&&a.add(_h.appendMenuItem(Rh.EditorContext,{command:{id:l,title:e},when:s,group:r,order:h})),Array.isArray(n))for(const t of n)a.add(this._standaloneKeybindingService.addDynamicKeybinding(l,t,c,o));const u=new qD(l,e,e,void 0,s,((...i)=>Promise.resolve(t.run(this,...i))),this._contextKeyService);return this._actions.set(i,u),a.add(Yi((()=>{this._actions.delete(i)}))),a}_triggerCommand(t,i){if(this._codeEditorService instanceof UT)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(t,i)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(t,i)}};$q=_q([Nq(2,ur),Nq(3,fr),Nq(4,Sr),Nq(5,ah),Nq(6,oC),Nq(7,Xk),Nq(8,oT),Nq(9,Zm),Nq(10,Xd),Nq(11,xg)],$q);let Wq=class extends $q{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d,f,p){const g={...i};lV(a,g,!1);const m=h.registerEditorContainer(t);"string"==typeof g.theme&&h.setTheme(g.theme),void 0!==g.autoDetectHighContrast&&h.setAutoDetectHighContrast(Boolean(g.autoDetectHighContrast));const w=g.model;let v;if(delete g.model,super(t,g,e,s,n,o,r,h,c,l,f,p),this._configurationService=a,this._standaloneThemeService=h,this._register(m),void 0===w){const t=d.getLanguageIdByMimeType(g.language)||g.language||Ud;v=zq(u,d,g.value||"",t,void 0),this._ownsModel=!0}else v=w,this._ownsModel=!1;this._attachModel(v),v&&this._onDidChangeModel.fire({oldModelUrl:null,newModelUrl:v.uri})}dispose(){super.dispose()}updateOptions(t){lV(this._configurationService,t,!1),"string"==typeof t.theme&&this._standaloneThemeService.setTheme(t.theme),void 0!==t.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(t.autoDetectHighContrast)),super.updateOptions(t)}_postDetachModelCleanup(t){super._postDetachModelCleanup(t),t&&this._ownsModel&&(t.dispose(),this._ownsModel=!1)}};Wq=_q([Nq(2,ur),Nq(3,fr),Nq(4,Sr),Nq(5,ah),Nq(6,oC),Nq(7,rH),Nq(8,oT),Nq(9,pd),Nq(10,Zm),Nq(11,pr),Nq(12,yd),Nq(13,Xd),Nq(14,xg)],Wq);let jq=class extends Iq{constructor(t,i,e,s,n,o,r,h,c,a,l,u){const d={...i};lV(h,d,!0);const f=o.registerEditorContainer(t);"string"==typeof d.theme&&o.setTheme(d.theme),void 0!==d.autoDetectHighContrast&&o.setAutoDetectHighContrast(Boolean(d.autoDetectHighContrast)),super(t,d,{},s,e,n,u,a),this._configurationService=h,this._standaloneThemeService=o,this._register(f)}dispose(){super.dispose()}updateOptions(t){lV(this._configurationService,t,!0),"string"==typeof t.theme&&this._standaloneThemeService.setTheme(t.theme),void 0!==t.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(t.autoDetectHighContrast)),super.updateOptions(t)}_createInnerEditor(t,i,e){return t.createInstance($q,i,e)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(t,i,e){return this.getModifiedEditor().addCommand(t,i,e)}createContextKey(t,i){return this.getModifiedEditor().createContextKey(t,i)}addAction(t){return this.getModifiedEditor().addAction(t)}};function zq(t,i,e,s,n){if(e=e||"",!s){const s=e.indexOf("\n");let o=e;return-1!==s&&(o=e.substring(0,s)),Hq(t,e,i.createByFilepathOrFirstLine(n||null,o),n)}return Hq(t,e,i.createById(s),n)}function Hq(t,i,e,s){return t.createModel(i,e,s)}jq=_q([Nq(2,ur),Nq(3,ah),Nq(4,fr),Nq(5,rH),Nq(6,oT),Nq(7,pd),Nq(8,lI),Nq(9,zO),Nq(10,yH),Nq(11,zH)],jq);class Vq extends te{constructor(t,i,e={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new we),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new Xi),this.options=e,this.lookupKeybindings="function"==typeof this.options.getKeyBinding,this.toggleMenuAction=this._register(new Uq((()=>{var t;return null===(t=this.toggleMenuActionViewItem)||void 0===t?void 0:t.show()}),e.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",t.appendChild(this.element),this.actionBar=this._register(new YB(this.element,{orientation:e.orientation,ariaLabel:e.ariaLabel,actionRunner:e.actionRunner,allowContextMenu:e.allowContextMenu,highlightToggledItems:e.highlightToggledItems,actionViewItemProvider:(t,s)=>{var n;if(t.id===Uq.ID)return this.toggleMenuActionViewItem=new kB(t,t.menuActions,i,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:Cr.asClassNameArray(null!==(n=e.moreIcon)&&void 0!==n?n:Os.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(e.actionViewItemProvider){const i=e.actionViewItemProvider(t,s);if(i)return i}if(t instanceof br){const e=new kB(t,t.actions,i,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:t.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry});return e.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(e),this.disposables.add(this._onDidChangeDropdownVisibility.add(e.onDidChangeVisibility)),e}}}))}set actionRunner(t){this.actionBar.actionRunner=t}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(t){return this.actionBar.getAction(t)}setActions(t,i){this.clear();const e=t?t.slice(0):[];this.hasSecondaryActions=!!(i&&i.length>0),this.hasSecondaryActions&&i&&(this.toggleMenuAction.menuActions=i.slice(0),e.push(this.toggleMenuAction)),e.forEach((t=>{this.actionBar.push(t,{icon:!0,label:!1,keybinding:this.getKeybindingLabel(t)})}))}getKeybindingLabel(t){var i,e,s;const n=this.lookupKeybindings?null===(e=(i=this.options).getKeyBinding)||void 0===e?void 0:e.call(i,t):void 0;return null!==(s=null==n?void 0:n.getLabel())&&void 0!==s?s:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class Uq extends mr{constructor(t,i){i=i||ot(0,"More Actions..."),super(Uq.ID,i,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=t}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(t){this._menuActions=t}}Uq.ID="toolbar.toggle.more";var qq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Kq=function(t,i){return function(e,s){i(e,s,t)}};let Gq=class extends Vq{constructor(t,i,e,s,n,o,r){super(t,n,{getKeyBinding:t=>{var i;return null!==(i=o.lookupKeybinding(t.id))&&void 0!==i?i:void 0},...i,allowContextMenu:!0,skipTelemetry:"string"==typeof(null==i?void 0:i.telemetrySource)}),this._options=i,this._menuService=e,this._contextKeyService=s,this._contextMenuService=n,this._sessionDisposables=this._store.add(new Xi);const h=null==i?void 0:i.telemetrySource;h&&this._store.add(this.actionBar.onDidRun((t=>r.publicLog2("workbenchActionExecuted",{id:t.action.id,from:h}))))}setActions(t,i=[],e){var s,n,o;this._sessionDisposables.clear();const r=t.slice(),h=i.slice(),c=[];let a=0;const l=[];let u=!1;if(-1!==(null===(s=this._options)||void 0===s?void 0:s.hiddenItemStrategy))for(let t=0;tnull==t?void 0:t.id))),i=this._options.overflowBehavior.maxItems-t.size;let e=0;for(let s=0;s=i&&(r[s]=void 0,l[s]=n))}}w(r),w(l),super.setActions(r,vr.join(l,h)),c.length>0&&this._sessionDisposables.add(Va(this.getElement(),"contextmenu",(t=>{var i,s,n,o,r;const h=new tc(Na(this.getElement()),t),l=this.getItemAction(h.target);if(!l)return;h.preventDefault(),h.stopPropagation();let d,f=!1;if(1===a&&0===(null===(i=this._options)||void 0===i?void 0:i.hiddenItemStrategy)){f=!0;for(let t=0;tthis._menuService.resetHiddenStates(e)}))),this._contextMenuService.showContextMenu({getAnchor:()=>h,getActions:()=>p,menuId:null===(n=this._options)||void 0===n?void 0:n.contextMenu,menuActionOptions:{renderShortTitle:!0,...null===(o=this._options)||void 0===o?void 0:o.menuOptions},skipTelemetry:"string"==typeof(null===(r=this._options)||void 0===r?void 0:r.telemetrySource),contextKeyService:this._contextKeyService})})))}};Gq=qq([Kq(2,Oh),Kq(3,ah),Kq(4,lI),Kq(5,oC),Kq(6,Wh)],Gq);let Zq=class extends Gq{constructor(t,i,e,s,n,o,r,h){super(t,{resetMenu:i,...e},s,n,o,r,h),this._onDidChangeMenuItems=this._store.add(new de);const c=this._store.add(s.createMenu(i,n,{emitEventsForSubmenuChanges:!0})),a=()=>{var i,s,n;const o=[],r=[];UB(c,null==e?void 0:e.menuOptions,{primary:o,secondary:r},null===(i=null==e?void 0:e.toolbarOptions)||void 0===i?void 0:i.primaryGroup,null===(s=null==e?void 0:e.toolbarOptions)||void 0===s?void 0:s.shouldInlineSubmenu,null===(n=null==e?void 0:e.toolbarOptions)||void 0===n?void 0:n.useSeparatorsInPrimaryActions),t.classList.toggle("has-no-actions",0===o.length&&0===r.length),super.setActions(o,r)};this._store.add(c.onDidChange((()=>{a(),this._onDidChangeMenuItems.fire(this)}))),a()}setActions(){throw new Ki("This toolbar is populated from a menu.")}};Zq=qq([Kq(3,Oh),Kq(4,ah),Kq(5,lI),Kq(6,oC),Kq(7,Wh)],Zq);class Qq extends wr{constructor(t){super(),this._getContext=t}runAction(t,i){return super.runAction(t,this._getContext())}}class Jq{constructor(t){this.viewModel=t}getId(){return this.viewModel}}let Yq=class extends te{constructor(t,i,e,s){super(),this._container=t,this._overflowWidgetsDomNode=i,this._workbenchUIElementFactory=e,this._instantiationService=s,this._viewModel=FV(this,void 0),this._collapsed=_V(this,(t=>{var i;return null===(i=this._viewModel.read(t))||void 0===i?void 0:i.collapsed.read(t)})),this._contentHeight=FV(this,500),this.height=_V(this,(t=>(this._collapsed.read(t)?0:this._contentHeight.read(t))+this._outerEditorHeight)),this._modifiedContentWidth=FV(this,0),this._modifiedWidth=FV(this,0),this._originalContentWidth=FV(this,0),this._originalWidth=FV(this,0),this.maxScroll=_V(this,(t=>{const i=this._modifiedContentWidth.read(t)-this._modifiedWidth.read(t),e=this._originalContentWidth.read(t)-this._originalWidth.read(t);return i>e?{maxScroll:i,width:this._modifiedWidth.read(t)}:{maxScroll:e,width:this._originalWidth.read(t)}})),this._elements=Jl("div.multiDiffEntry",[Jl("div.content",{style:{display:"flex",flexDirection:"column",flex:"1",overflow:"hidden"}},[Jl("div.header@header",[Jl("div.collapse-button@collapseButton"),Jl("div.title.show-file-icons@title",[]),Jl("div.actions@actions")]),Jl("div.editorParent",{style:{flex:"1",display:"flex",flexDirection:"column"}},[Jl("div.editorContainer@editor",{style:{flex:"1"}})])])]),this.editor=this._register(this._instantiationService.createInstance(Iq,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=Xq(this.editor.getModifiedEditor()),this.isOriginalFocused=Xq(this.editor.getOriginalEditor()),this.isFocused=_V(this,(t=>this.isModifedFocused.read(t)||this.isOriginalFocused.read(t))),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.title)):void 0,this._dataStore=new Xi,this._headerHeight=this._elements.header.clientHeight;const n=new Nj(this._elements.collapseButton,{});this._register(WV((t=>{n.element.className="",n.icon=this._collapsed.read(t)?Os.chevronRight:Os.chevronDown}))),this._register(n.onDidClick((()=>{var t;null===(t=this._viewModel.get())||void 0===t||t.collapsed.set(!this._collapsed.get(),void 0)}))),this._register(WV((t=>{this._elements.editor.style.display=this._collapsed.read(t)?"none":"block"}))),this.editor.getModifiedEditor().onDidLayoutChange((()=>{const t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this.editor.getOriginalEditor().onDidLayoutChange((()=>{const t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange((t=>{kV((i=>{this._contentHeight.set(t.contentHeight,i),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),i),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),i)}))}))),this._register(WV((t=>{const i=this.isFocused.read(t);this._elements.root.classList.toggle("focused",i)}))),this._container.appendChild(this._elements.root),this._outerEditorHeight=38,this._register(this._instantiationService.createInstance(Zq,this._elements.actions,Rh.MultiDiffEditorFileToolbar,{actionRunner:this._register(new Qq((()=>{var t,i;return null===(i=null===(t=this._viewModel.get())||void 0===t?void 0:t.diffEditorViewModel)||void 0===i?void 0:i.model.modified.uri}))),menuOptions:{shouldForwardArgs:!0}}))}setScrollLeft(t){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(t):this.editor.getOriginalEditor().setScrollLeft(t)}setData(t){function i(t){return{...t,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0}}const e=t.viewModel.entry.value;e.onOptionsDidChange&&this._dataStore.add(e.onOptionsDidChange((()=>{var t;this.editor.updateOptions(i(null!==(t=e.options)&&void 0!==t?t:{}))}))),kV((s=>{var n,o;null===(n=this._resourceLabel)||void 0===n||n.setUri(t.viewModel.diffEditorViewModel.model.modified.uri),this._dataStore.clear(),this._viewModel.set(t.viewModel,s),this.editor.setModel(t.viewModel.diffEditorViewModel,s),this.editor.updateOptions(i(null!==(o=e.options)&&void 0!==o?o:{}))}))}render(t,i,e,s){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${t.start}px`,this._elements.root.style.height=`${t.length}px`,this._elements.root.style.width=`${i}px`,this._elements.root.style.position="absolute";const n=Math.max(0,Math.min(t.length-this._headerHeight,s.start-t.start));this._elements.header.style.transform=`translateY(${n}px)`,kV((()=>{this.editor.layout({width:i,height:t.length-this._outerEditorHeight})})),this.editor.getOriginalEditor().setScrollTop(e),this._elements.header.classList.toggle("shadow",n>0||e>0)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};function Xq(t){return KV((i=>{const e=new Xi;return e.add(t.onDidFocusEditorWidget((()=>i(!0)))),e.add(t.onDidBlurEditorWidget((()=>i(!1)))),e}),(()=>t.hasWidgetFocus()))}Yq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,ur)],Yq);class tK{constructor(t){this._create=t,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(t){var i;let e;if(0===this._unused.size)e=this._create(t),this._itemData.set(e,t);else{const s=[...this._unused.values()];e=null!==(i=s.find((i=>this._itemData.get(i).getId()===t.getId())))&&void 0!==i?i:s[0],this._unused.delete(e),this._itemData.set(e,t),e.setData(t)}return this._used.add(e),{object:e,dispose:()=>{this._used.delete(e),this._unused.size>5?e.dispose():this._unused.add(e)}}}dispose(){for(const t of this._used)t.dispose();for(const t of this._unused)t.dispose();this._used.clear(),this._unused.clear()}}var iK=function(t,i){return function(e,s){i(e,s,t)}};let eK=class extends te{constructor(t,i,e,s,n,o){super(),this._element=t,this._dimension=i,this._viewModel=e,this._workbenchUIElementFactory=s,this._parentContextKeyService=n,this._parentInstantiationService=o,this._elements=Jl("div",{style:{overflowY:"hidden"}},[Jl("div@content",{style:{overflow:"hidden"}}),Jl("div.monaco-editor@overflowWidgetsDomNode",{})]),this._sizeObserver=this._register(new hU(this._element,void 0)),this._objectPool=this._register(new tK((t=>{const i=this._instantiationService.createInstance(Yq,this._elements.content,this._elements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return i.setData(t),i}))),this._scrollable=this._register(new xk({forceIntegerValues:!1,scheduleAtNextAnimationFrame:t=>Qa(Na(this._element),t),smoothScrollDuration:100})),this._scrollableElement=this._register(new Fk(this._elements.root,{vertical:1,horizontal:1,className:"monaco-component",useShadows:!1},this._scrollable)),this.scrollTop=KV(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollTop)),this.scrollLeft=KV(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollLeft)),this._viewItems=BV(this,((t,i)=>{const e=this._viewModel.read(t);return e?e.items.read(t).map((t=>i.add(new sK(t,this._objectPool,this.scrollLeft)))):[]})),this._totalHeight=this._viewItems.map(this,((t,i)=>t.reduce(((t,e)=>t+e.contentHeight.read(i)),0))),this.activeDiffItem=_V(this,(t=>this._viewItems.read(t).find((i=>{var e;return null===(e=i.template.read(t))||void 0===e?void 0:e.isFocused.read(t)})))),this.lastActiveDiffItem=function(t){let i;return _V((e=>(i=t(e,i),i)))}(((t,i)=>{var e;return null!==(e=this.activeDiffItem.read(t))&&void 0!==e?e:i})),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._parentInstantiationService.createChild(new iT([ah,this._contextKeyService])),this._contextKeyService.createKey(YC.inMultiDiffEditor.key,!0);const r=this._parentContextKeyService.createKey(YC.multiDiffEditorAllCollapsed.key,!1);this._register(WV((t=>{const i=this._viewModel.read(t);if(i){const e=i.items.read(t).every((i=>i.collapsed.read(t)));r.set(e)}}))),this._register(WV((t=>{const i=this.lastActiveDiffItem.read(t);yV((e=>{var s;null===(s=this._viewModel.read(t))||void 0===s||s.activeDiffItem.set(null==i?void 0:i.viewModel,e)}))}))),this._register(WV((t=>{const i=this._dimension.read(t);this._sizeObserver.observe(i)}))),this._elements.content.style.position="relative",this._register(WV((t=>{const i=this._sizeObserver.height.read(t);this._elements.root.style.height=`${i}px`;const e=this._totalHeight.read(t);this._elements.content.style.height=`${e}px`;const s=this._sizeObserver.width.read(t);let n=s;const o=up(this._viewItems.read(t),(i=>i.maxScroll.read(t).maxScroll));o&&(n=s+o.maxScroll.read(t).maxScroll),this._scrollableElement.setScrollDimensions({width:s,height:i,scrollHeight:e,scrollWidth:n})}))),t.replaceChildren(this._scrollableElement.getDomNode()),this._register(Yi((()=>{t.replaceChildren()}))),this._register(this._register(WV((t=>{kV((()=>{this.render(t)}))}))))}render(t){const i=this.scrollTop.read(t);let e=0,s=0,n=0;const o=this._sizeObserver.height.read(t),r=np.ofStartAndLength(i,o),h=this._sizeObserver.width.read(t);for(const c of this._viewItems.read(t)){const a=c.contentHeight.read(t),l=Math.min(a,o),u=np.ofStartAndLength(s,l),d=np.ofStartAndLength(n,a);if(d.isBefore(r))e-=a-l,c.hide();else if(d.isAfter(r))c.hide();else{const t=Math.max(0,Math.min(r.start-d.start,a-l));e-=t;const s=np.ofStartAndLength(i+e,o);c.render(u,t,h,s)}s+=l,n+=a}this._elements.content.style.transform=`translateY(${-(i+e)}px)`}};eK=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([iK(4,ah),iK(5,ur)],eK);class sK extends te{constructor(t,i,e){super(),this.viewModel=t,this._objectPool=i,this._scrollLeft=e,this._lastTemplateData=FV(this,{contentHeight:500,maxScroll:{maxScroll:0,width:0}}),this._templateRef=this._register(RV(this,void 0)),this.contentHeight=_V(this,(t=>{var i,e,s;return null!==(s=null===(e=null===(i=this._templateRef.read(t))||void 0===i?void 0:i.object.height)||void 0===e?void 0:e.read(t))&&void 0!==s?s:this._lastTemplateData.read(t).contentHeight})),this.maxScroll=_V(this,(t=>{var i,e;return null!==(e=null===(i=this._templateRef.read(t))||void 0===i?void 0:i.object.maxScroll.read(t))&&void 0!==e?e:this._lastTemplateData.read(t).maxScroll})),this.template=_V(this,(t=>{var i;return null===(i=this._templateRef.read(t))||void 0===i?void 0:i.object})),this._isHidden=FV(this,!1),this._register(WV((t=>{var i;const e=this._scrollLeft.read(t);null===(i=this._templateRef.read(t))||void 0===i||i.object.setScrollLeft(e)}))),this._register(WV((t=>{const i=this._templateRef.read(t);i&&this._isHidden.read(t)&&(i.object.isFocused.read(t)||yV((t=>{this._lastTemplateData.set({contentHeight:i.object.height.get(),maxScroll:{maxScroll:0,width:0}},t),i.object.hide(),this._templateRef.set(void 0,t)})))})))}dispose(){this.hide(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.entry.value.title})`}hide(){this._isHidden.set(!0,void 0)}render(t,i,e,s){this._isHidden.set(!1,void 0);let n=this._templateRef.get();n||(n=this._objectPool.getUnusedObj(new Jq(this.viewModel)),this._templateRef.set(n,void 0)),n.object.render(t,e,i,s)}}dw("multiDiffEditor.headerBackground",{dark:"#808080",light:"#b4b4b4",hcDark:"#808080",hcLight:"#b4b4b4"},ot(0,"The background color of the diff editor's header"));let nK=class extends te{constructor(t,i,e){super(),this._element=t,this._workbenchUIElementFactory=i,this._instantiationService=e,this._dimension=FV(this,void 0),this._viewModel=FV(this,void 0),this._widgetImpl=BV(this,((t,i)=>(fU(Yq,t),i.add(this._instantiationService.createInstance(fU(eK,t),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))))),this._register(XV(this._widgetImpl))}};function oK(t){const i=pV.get(oC);return i instanceof sV?i.addDynamicKeybindings(t.map((t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:zr.deserialize(t.when)})))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),te.None)}function rK(t,i){return"boolean"==typeof t?t:i}function hK(t,i){return"string"==typeof t?t:i}function cK(t,i=!1){i&&(t=t.map((function(t){return t.toLowerCase()})));const e=function(t){const i={};for(const e of t)i[e]=!0;return i}(t);return i?function(t){return void 0!==e[t.toLowerCase()]&&e.hasOwnProperty(t.toLowerCase())}:function(t){return void 0!==e[t]&&e.hasOwnProperty(t)}}function aK(t,i){i=i.replace(/@@/g,"");let e,s=0;do{e=!1,i=i.replace(/@(\w+)/g,(function(s,n){e=!0;let o="";if("string"==typeof t[n])o=t[n];else{if(!(t[n]&&t[n]instanceof RegExp))throw pm(t,void 0===t[n]?"language definition does not contain attribute '"+n+"', used at: "+i:"attribute reference '"+n+"' must be a string, used at: "+i);o=t[n].source}return um(o)?"":"(?:"+o+")"})),s++}while(e&&s<5);return i=i.replace(/\x01/g,"@"),new RegExp(i,(t.ignoreCase?"i":"")+(t.unicode?"u":""))}function lK(t,i,e,s){let n=-1,o=e,r=e.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);r&&(r[3]&&(n=parseInt(r[3]),r[2]&&(n+=100)),o=r[4]);let h,c="~",a=o;if(o&&0!==o.length?/^\w*$/.test(a)?c="==":(r=o.match(/^(@|!@|~|!~|==|!=)(.*)$/),r&&(c=r[1],a=r[2])):(c="!=",a=""),"~"!==c&&"!~"!==c||!/^(\w|\|)*$/.test(a))if("@"===c||"!@"===c){const e=t[a];if(!e)throw pm(t,"the @ match target '"+a+"' is not defined, in rule: "+i);if(!function(t,i){if(!i)return!1;if(!Array.isArray(i))return!1;for(const t of i)if("string"!=typeof t)return!1;return!0}(0,e))throw pm(t,"the @ match target '"+a+"' must be an array of strings, in rule: "+i);const s=cK(e,t.ignoreCase);h=function(t){return"@"===c?s(t):!s(t)}}else if("~"===c||"!~"===c)if(a.indexOf("$")<0){const i=aK(t,"^"+a+"$");h=function(t){return"~"===c?i.test(t):!i.test(t)}}else h=function(i,e,s,n){return aK(t,"^"+gm(t,a,e,s,n)+"$").test(i)};else if(a.indexOf("$")<0){const i=dm(t,a);h=function(t){return"=="===c?t===i:t!==i}}else{const i=dm(t,a);h=function(e,s,n,o){const r=gm(t,i,s,n,o);return"=="===c?e===r:e!==r}}else{const i=cK(a.split("|"),t.ignoreCase);h=function(t){return"~"===c?i(t):!i(t)}}return-1===n?{name:e,value:s,test:function(t,i,e,s){return h(t,t,i,e,s)}}:{name:e,value:s,test:function(t,i,e,s){const o=function(t,i,e,s){if(s<0)return t;if(s=100){s-=100;const t=e.split(".");if(t.unshift(e),s=0&&(s.tokenSubst=!0),"string"==typeof e.bracket)if("@open"===e.bracket)s.bracket=1;else{if("@close"!==e.bracket)throw pm(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+i);s.bracket=-1}if(e.next){if("string"!=typeof e.next)throw pm(t,"the next state must be a string value in rule: "+i);{let n=e.next;if(!/^(@pop|@push|@popall)$/.test(n)&&("@"===n[0]&&(n=n.substr(1)),n.indexOf("$")<0&&!function(t,i){let e=i;for(;e&&e.length>0;){if(t.stateNames[e])return!0;const i=e.lastIndexOf(".");e=i<0?null:e.substr(0,i)}return!1}(t,gm(t,n,"",[],""))))throw pm(t,"the next state '"+e.next+"' is not defined in rule: "+i);s.next=n}}return"number"==typeof e.goBack&&(s.goBack=e.goBack),"string"==typeof e.switchTo&&(s.switchTo=e.switchTo),"string"==typeof e.log&&(s.log=e.log),"string"==typeof e.nextEmbedded&&(s.nextEmbedded=e.nextEmbedded,t.usesEmbedded=!0),s}}if(Array.isArray(e)){const s=[];for(let n=0,o=e.length;n=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,ur)],nK);class dK{constructor(t){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=t}setRegex(t,i){let e;if("string"==typeof i)e=i;else{if(!(i instanceof RegExp))throw pm(t,"rules must start with a match string or regular expression: "+this.name);e=i.source}this.matchOnlyAtLineStart=e.length>0&&"^"===e[0],this.name=this.name+": "+e,this.regex=aK(t,"^(?:"+(this.matchOnlyAtLineStart?e.substr(1):e)+")")}setAction(t,i){this.action=uK(t,this.name,i)}}function fK(t,i){if(!i||"object"!=typeof i)throw new Error("Monarch: expecting a language definition object");const e={};e.languageId=t,e.includeLF=rK(i.includeLF,!1),e.noThrow=!1,e.maxStack=100,e.start="string"==typeof i.start?i.start:null,e.ignoreCase=rK(i.ignoreCase,!1),e.unicode=rK(i.unicode,!1),e.tokenPostfix=hK(i.tokenPostfix,"."+e.languageId),e.defaultToken=hK(i.defaultToken,"source"),e.usesEmbedded=!1;const s=i;function n(t,o,r){for(const h of r){let r=h.include;if(r){if("string"!=typeof r)throw pm(e,"an 'include' attribute must be a string at: "+t);if("@"===r[0]&&(r=r.substr(1)),!i.tokenizer[r])throw pm(e,"include target '"+r+"' is not defined at: "+t);n(t+"."+r,o,i.tokenizer[r])}else{const i=new dK(t);if(Array.isArray(h)&&h.length>=1&&h.length<=3)if(i.setRegex(s,h[0]),h.length>=3)if("string"==typeof h[1])i.setAction(s,{token:h[1],next:h[2]});else{if("object"!=typeof h[1])throw pm(e,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+t);{const t=h[1];t.next=h[2],i.setAction(s,t)}}else i.setAction(s,h[1]);else{if(!h.regex)throw pm(e,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+t);h.name&&"string"==typeof h.name&&(i.name=h.name),h.matchOnlyAtStart&&(i.matchOnlyAtLineStart=rK(h.matchOnlyAtLineStart,!1)),i.setRegex(s,h.regex),i.setAction(s,h.action)}o.push(i)}}}if(s.languageId=t,s.includeLF=e.includeLF,s.ignoreCase=e.ignoreCase,s.unicode=e.unicode,s.noThrow=e.noThrow,s.usesEmbedded=e.usesEmbedded,s.stateNames=i.tokenizer,s.defaultToken=e.defaultToken,!i.tokenizer||"object"!=typeof i.tokenizer)throw pm(e,"a language definition must define the 'tokenizer' attribute as an object");e.tokenizer=[];for(const t in i.tokenizer)if(i.tokenizer.hasOwnProperty(t)){e.start||(e.start=t);const s=i.tokenizer[t];e.tokenizer[t]=new Array,n("tokenizer."+t,e.tokenizer[t],s)}if(e.usesEmbedded=s.usesEmbedded,i.brackets){if(!Array.isArray(i.brackets))throw pm(e,"the 'brackets' attribute must be defined as an array")}else i.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const o=[];for(const t of i.brackets){let i=t;if(i&&Array.isArray(i)&&3===i.length&&(i={token:i[2],open:i[0],close:i[1]}),i.open===i.close)throw pm(e,"open and close brackets in a 'brackets' attribute must be different: "+i.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"!=typeof i.open||"string"!=typeof i.token||"string"!=typeof i.close)throw pm(e,"every element in the 'brackets' array must be a '{open,close,token}' object or array");o.push({token:i.token+e.tokenPostfix,open:dm(e,i.open),close:dm(e,i.close)})}return e.brackets=o,e.noThrow=!0,e}class pK{constructor(t,i){this._languageId=t,this._actual=i}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(t,i,e){if("function"==typeof this._actual.tokenize)return gK.adaptTokenize(this._languageId,this._actual,t,e);throw new Error("Not supported!")}tokenizeEncoded(t,i,e){const s=this._actual.tokenizeEncoded(t,e);return new Bs(s.tokens,s.endState)}}class gK{constructor(t,i,e,s){this._languageId=t,this._actual=i,this._languageService=e,this._standaloneThemeService=s}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(t,i){const e=[];let s=0;for(let n=0,o=t.length;n0&&n[o-1]===c)continue;let a=h.startIndex;0===t?a=0:a{const e=await Promise.resolve(i.create());return e?"function"==typeof e.getInitialState?wK(t,e):new Dm(pV.get(yd),pV.get(rH),t,fK(t,e),pV.get(pd)):null}));return Zs.registerFactory(t,e)}const bK=dr("IEditorCancelService"),yK=new ch("cancellableOperation",!1,ot(0,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));Cd(bK,class{constructor(){this._tokens=new WeakMap}add(t,i){let e,s=this._tokens.get(t);return s||(s=t.invokeWithinContext((t=>({key:yK.bindTo(t.get(ah)),tokens:new Ut}))),this._tokens.set(t,s)),s.key.set(!0),e=s.tokens.push(i),()=>{e&&(e(),s.key.set(!s.tokens.isEmpty()),e=void 0)}}cancel(t){const i=this._tokens.get(t);if(!i)return;const e=i.tokens.pop();e&&(e.cancel(),i.key.set(!i.tokens.isEmpty()))}},1);class kK extends Ce{constructor(t,i){super(i),this.editor=t,this._unregister=t.invokeWithinContext((i=>i.get(bK).add(t,this)))}dispose(){this._unregister(),super.dispose()}}hu(new class extends eu{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:yK})}runEditorCommand(t,i){t.get(bK).cancel(i)}});class xK{constructor(t,i){if(this.flags=i,1&this.flags){const i=t.getModel();this.modelVersionId=i?qn("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;this.position=4&this.flags?t.getPosition():null,this.selection=2&this.flags?t.getSelection():null,8&this.flags?(this.scrollLeft=t.getScrollLeft(),this.scrollTop=t.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(t){if(!(t instanceof xK))return!1;const i=t;return this.modelVersionId===i.modelVersionId&&this.scrollLeft===i.scrollLeft&&this.scrollTop===i.scrollTop&&!(!this.position&&i.position||this.position&&!i.position||this.position&&i.position&&!this.position.equals(i.position))&&!(!this.selection&&i.selection||this.selection&&!i.selection||this.selection&&i.selection&&!this.selection.equalsRange(i.selection))}validate(t){return this._equals(new xK(t,this.flags))}}class CK extends kK{constructor(t,i,e,s){super(t,s),this._listener=new Xi,4&i&&this._listener.add(t.onDidChangeCursorPosition((t=>{e&&Ms.containsPosition(e,t.position)||this.cancel()}))),2&i&&this._listener.add(t.onDidChangeCursorSelection((t=>{e&&Ms.containsRange(e,t.selection)||this.cancel()}))),8&i&&this._listener.add(t.onDidScrollChange((()=>this.cancel()))),1&i&&(this._listener.add(t.onDidChangeModel((()=>this.cancel()))),this._listener.add(t.onDidChangeModelContent((()=>this.cancel()))))}dispose(){this._listener.dispose(),super.dispose()}}class SK extends Ce{constructor(t,i){super(i),this._listener=t.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}function DK(t){return!(!t||"function"!=typeof t.getEditorType)&&t.getEditorType()===Og.ICodeEditor}function EK(t){return!(!t||"function"!=typeof t.getEditorType)&&t.getEditorType()===Og.IDiffEditor}function AK(t){return DK(t)?t:EK(t)?t.getModifiedEditor():function(t){return!!t&&"object"==typeof t&&"function"==typeof t.onDidChangeActiveEditor}(t)&&DK(t.activeCodeEditor)?t.activeCodeEditor:null}class MK{static _handleEolEdits(t,i){let e;const s=[];for(const t of i)"number"==typeof t.eol&&(e=t.eol),t.range&&"string"==typeof t.text&&s.push(t);return"number"==typeof e&&t.hasModel()&&t.getModel().pushEOL(e),s}static _isFullModelReplaceEdit(t,i){if(!t.hasModel())return!1;const e=t.getModel(),s=e.validateRange(i.range);return e.getFullModelRange().equalsRange(s)}static execute(t,i,e){e&&t.pushUndoStop();const s=iU.capture(t),n=MK._handleEolEdits(t,i);1===n.length&&MK._isFullModelReplaceEdit(t,n[0])?t.executeEdits("formatEditsCommand",n.map((t=>pO.replace(Ms.lift(t.range),t.text)))):t.executeEdits("formatEditsCommand",n.map((t=>pO.replaceMove(Ms.lift(t.range),t.text)))),e&&t.pushUndoStop(),s.restoreRelativeVerticalPositionOfCursor(t)}}class LK{constructor(t){this.value=t,this._lower=t.toLowerCase()}static toKey(t){return"string"==typeof t?t.toLowerCase():t._lower}}class FK{constructor(t){if(this._set=new Set,t)for(const i of t)this.add(i)}add(t){this._set.add(LK.toKey(t))}has(t){return this._set.has(LK.toKey(t))}}function TK(t,i,e){const s=[],n=new FK,o=t.ordered(e);for(const t of o)s.push(t),t.extensionId&&n.add(t.extensionId);const r=i.ordered(e);for(const t of r){if(t.extensionId){if(n.has(t.extensionId))continue;n.add(t.extensionId)}s.push({displayName:t.displayName,extensionId:t.extensionId,provideDocumentFormattingEdits:(i,e,s)=>t.provideDocumentRangeFormattingEdits(i,i.getFullModelRange(),e,s)})}return s}class RK{static setFormatterSelector(t){return{dispose:RK._selectors.unshift(t)}}static async select(t,i,e){if(0===t.length)return;const s=Ht.first(RK._selectors);return s?await s(t,i,e):void 0}}async function OK(t,i,e,s,n,o,r){const h=t.get(ur),{documentRangeFormattingEditProvider:c}=t.get(xg),a=DK(i)?i.getModel():i,l=c.ordered(a),u=await RK.select(l,a,s);u&&(n.report(u),await h.invokeFunction(IK,u,i,e,o,r))}async function IK(t,i,e,s,n,o){var r,h;const c=t.get(vP),a=t.get(jh),l=t.get(Jm);let u,d;DK(e)?(u=e.getModel(),d=new CK(e,5,void 0,n)):(u=e,d=new SK(e,n));const f=[];let p=0;for(const t of A(s).sort(Ms.compareRangesUsingStarts))p>0&&Ms.areIntersectingOrTouching(f[p-1],t)?f[p-1]=Ms.fromPositions(f[p-1].getStartPosition(),t.getEndPosition()):p=f.push(t);const g=async t=>{var e,s;a.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(e=i.extensionId)||void 0===e?void 0:e.value,t);const n=await i.provideDocumentRangeFormattingEdits(u,t,u.getFormattingOptions(),d.token)||[];return a.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(s=i.extensionId)||void 0===s?void 0:s.value,n),n},m=(t,i)=>{if(!t.length||!i.length)return!1;const e=t.reduce(((t,i)=>Ms.plusRange(t,i.range)),t[0].range);if(!i.some((t=>Ms.intersectRanges(e,t.range))))return!1;for(const e of t)for(const t of i)if(Ms.intersectRanges(e.range,t.range))return!0;return!1},w=[],v=[];try{if("function"==typeof i.provideDocumentRangesFormattingEdits){a.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(r=i.extensionId)||void 0===r?void 0:r.value,f);const t=await i.provideDocumentRangesFormattingEdits(u,f,u.getFormattingOptions(),d.token)||[];a.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(h=i.extensionId)||void 0===h?void 0:h.value,t),v.push(t)}else{for(const t of f){if(d.token.isCancellationRequested)return!0;v.push(await g(t))}for(let t=0;t({text:t.text,range:Ms.lift(t.range),forceMoveMarkers:!0}))),(t=>{for(const{range:e}of t)if(Ms.areIntersectingOrTouching(e,i))return[new Ls(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)];return null}))}return l.notify("format",o),!0}async function _K(t,i,e,s,n,o){const r=t.get(ur),h=t.get(xg),c=DK(i)?i.getModel():i,a=TK(h.documentFormattingEditProvider,h.documentRangeFormattingEditProvider,c),l=await RK.select(a,c,e);l&&(s.report(l),await r.invokeFunction(NK,l,i,e,n,o))}async function NK(t,i,e,s,n,o){const r=t.get(vP),h=t.get(Jm);let c,a,l;DK(e)?(c=e.getModel(),a=new CK(e,5,void 0,n)):(c=e,a=new SK(e,n));try{const t=await i.provideDocumentFormattingEdits(c,c.getFormattingOptions(),a.token);if(l=await r.computeMoreMinimalEdits(c.uri,t),a.token.isCancellationRequested)return!0}finally{a.dispose()}if(!l||0===l.length)return!1;if(DK(e))MK.execute(e,l,2!==s),2!==s&&e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1);else{const[{range:t}]=l,i=new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);c.pushEditOperations([i],l.map((t=>({text:t.text,range:Ms.lift(t.range),forceMoveMarkers:!0}))),(t=>{for(const{range:e}of t)if(Ms.areIntersectingOrTouching(e,i))return[new Ls(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)];return null}))}return h.notify("format",o),!0}function BK(t,i,e,s,n,o,r){const h=i.onTypeFormattingEditProvider.ordered(e);return 0===h.length||h[0].autoFormatTriggerCharacters.indexOf(n)<0?Promise.resolve(void 0):Promise.resolve(h[0].provideOnTypeFormattingEdits(e,s,n,o,r)).catch(Pi).then((i=>t.computeMoreMinimalEdits(e.uri,i)))}RK._selectors=new Ut,Dr.registerCommand("_executeFormatRangeProvider",(async function(t,...i){const[e,s,n]=i;q(ms.isUri(e)),q(Ms.isIRange(s));const o=t.get(gr),r=t.get(vP),h=t.get(xg),c=await o.createModelReference(e);try{return async function(t,i,e,s,n,o){const r=i.documentRangeFormattingEditProvider.ordered(e);for(const i of r){const r=await Promise.resolve(i.provideDocumentRangeFormattingEdits(e,s,n,o)).catch(Pi);if(b(r))return await t.computeMoreMinimalEdits(e.uri,r)}}(r,h,c.object.textEditorModel,Ms.lift(s),n,ke.None)}finally{c.dispose()}})),Dr.registerCommand("_executeFormatDocumentProvider",(async function(t,...i){const[e,s]=i;q(ms.isUri(e));const n=t.get(gr),o=t.get(vP),r=t.get(xg),h=await n.createModelReference(e);try{return async function(t,i,e,s,n){const o=TK(i.documentFormattingEditProvider,i.documentRangeFormattingEditProvider,e);for(const i of o){const o=await Promise.resolve(i.provideDocumentFormattingEdits(e,s,n)).catch(Pi);if(b(o))return await t.computeMoreMinimalEdits(e.uri,o)}}(o,r,h.object.textEditorModel,s,ke.None)}finally{h.dispose()}})),Dr.registerCommand("_executeFormatOnTypeProvider",(async function(t,...i){const[e,s,n,o]=i;q(ms.isUri(e)),q(As.isIPosition(s)),q("string"==typeof n);const r=t.get(gr),h=t.get(vP),c=t.get(xg),a=await r.createModelReference(e);try{return BK(h,c,a.object.textEditorModel,As.lift(s),n,o,ke.None)}finally{a.dispose()}})),_i.wrappingIndent.defaultValue=0,_i.glyphMargin.defaultValue=!1,_i.autoIndent.defaultValue=3,_i.overviewRulerLanes.defaultValue=2,RK.setFormatterSelector((t=>Promise.resolve(t[0])));const PK=Pn();PK.editor={create:function(t,i,e){return pV.initialize(e||{}).createInstance(Wq,t,i)},getEditors:function(){return pV.get(fr).listCodeEditors()},getDiffEditors:function(){return pV.get(fr).listDiffEditors()},onDidCreateEditor:function(t){return pV.get(fr).onCodeEditorAdd((i=>{t(i)}))},onDidCreateDiffEditor:function(t){return pV.get(fr).onDiffEditorAdd((i=>{t(i)}))},createDiffEditor:function(t,i,e){return pV.initialize(e||{}).createInstance(jq,t,i)},addCommand:function(t){if("string"!=typeof t.id||"function"!=typeof t.run)throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return Dr.registerCommand(t.id,t.run)},addEditorAction:function(t){if("string"!=typeof t.id||"string"!=typeof t.label||"function"!=typeof t.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const i=zr.deserialize(t.precondition),e=new Xi;if(e.add(Dr.registerCommand(t.id,((e,...s)=>eu.runEditorCommand(e,s,i,((i,e,s)=>Promise.resolve(t.run(e,...s))))))),t.contextMenuGroupId&&e.add(_h.appendMenuItem(Rh.EditorContext,{command:{id:t.id,title:t.label},when:i,group:t.contextMenuGroupId,order:t.contextMenuOrder||0})),Array.isArray(t.keybindings)){const s=pV.get(oC);if(s instanceof sV){const n=zr.and(i,zr.deserialize(t.keybindingContext));e.add(s.addDynamicKeybindings(t.keybindings.map((i=>({keybinding:i,command:t.id,when:n})))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return e},addKeybindingRule:function(t){return oK([t])},addKeybindingRules:oK,createModel:function(t,i,e){const s=pV.get(yd),n=s.getLanguageIdByMimeType(i)||i;return zq(pV.get(pr),s,t,n,e)},setModelLanguage:function(t,i){const e=pV.get(yd),s=e.getLanguageIdByMimeType(i)||i||Ud;t.setLanguage(e.createById(s))},setModelMarkers:function(t,i,e){t&&pV.get(kP).changeOne(i,t.uri,e)},getModelMarkers:function(t){return pV.get(kP).read(t)},removeAllMarkers:function(t){pV.get(kP).changeAll(t,[])},onDidChangeMarkers:function(t){return pV.get(kP).onMarkerChanged(t)},getModels:function(){return pV.get(pr).getModels()},getModel:function(t){return pV.get(pr).getModel(t)},onDidCreateModel:function(t){return pV.get(pr).onModelAdded(t)},onWillDisposeModel:function(t){return pV.get(pr).onModelRemoved(t)},onDidChangeModelLanguage:function(t){return pV.get(pr).onModelLanguageChanged((i=>{t({model:i.model,oldLanguage:i.oldLanguageId})}))},createWebWorker:function(t){return function(t,i,e){return new Rg(t,i,e)}(pV.get(pr),pV.get(Xd),t)},colorizeElement:function(t,i){const e=pV.get(yd),s=pV.get(rH);return Fm.colorizeElement(s,e,t,i).then((()=>{s.registerEditorContainer(t)}))},colorize:function(t,i,e){const s=pV.get(yd);return pV.get(rH).registerEditorContainer($n.document.body),Fm.colorize(s,t,i,e)},colorizeModelLine:function(t,i,e=4){return pV.get(rH).registerEditorContainer($n.document.body),Fm.colorizeModelLine(t,i,e)},tokenize:function(t,i){Zs.getOrCreate(i);const e=function(t){return Zs.get(t)||{getInitialState:()=>Ig,tokenize:(i,e,s)=>_g(t,s)}}(i),s=Xn(t),n=[];let o=e.getInitialState();for(let t=0,i=s.length;t("string"==typeof i&&(i=ms.parse(i)),t.open(i))})},registerEditorOpener:function(t){return pV.get(fr).registerCodeEditorOpenHandler((async(i,e)=>{var s;if(!e)return null;const n=null===(s=i.options)||void 0===s?void 0:s.selection;let o;return n&&"number"==typeof n.endLineNumber&&"number"==typeof n.endColumn?o=n:n&&(o={lineNumber:n.startLineNumber,column:n.startColumn}),await t.openCodeEditor(e,i.resource,o)?e:null}))},AccessibilitySupport:Qs,ContentWidgetPositionPreference:sn,CursorChangeReason:nn,DefaultEndOfLine:on,EditorAutoIndentStrategy:hn,EditorOption:cn,EndOfLinePreference:an,EndOfLineSequence:ln,MinimapPosition:bn,MouseTargetType:yn,OverlayWidgetPositionPreference:kn,OverviewRulerLane:xn,GlyphMarginLane:un,RenderLineNumbersType:Sn,RenderMinimap:Dn,ScrollbarVisibility:An,ScrollType:En,TextEditorCursorBlinkingStyle:On,TextEditorCursorStyle:In,TrackedRangeStickiness:_n,WrappingIndent:Nn,InjectedTextCursorStops:fn,PositionAffinity:Cn,ShowAiIconMode:Ln,ConfigurationChangedEvent:Yt,BareFontInfo:rr,FontInfo:hr,TextModelResolvedOptions:jf,FindMatch:zf,ApplyUpdateResult:ii,EditorZoom:nr,createMultiFileDiffEditor:function(t,i){const e=pV.initialize(i||{});return new nK(t,{},e)},EditorType:Og,EditorOptions:_i},PK.languages={register:function(t){Vd.registerLanguage(t)},getLanguages:function(){let t=[];return t=t.concat(Vd.getLanguages()),t},onLanguage:function(t,i){return pV.withServices((()=>{const e=pV.get(yd).onDidRequestRichLanguageFeatures((s=>{s===t&&(e.dispose(),i())}));return e}))},onLanguageEncountered:function(t,i){return pV.withServices((()=>{const e=pV.get(yd).onDidRequestBasicLanguageFeatures((s=>{s===t&&(e.dispose(),i())}));return e}))},getEncodedLanguageId:function(t){return pV.get(yd).languageIdCodec.encodeLanguageId(t)},setLanguageConfiguration:function(t,i){if(!pV.get(yd).isRegisteredLanguageId(t))throw new Error(`Cannot set configuration for unknown language ${t}`);return pV.get(Xd).register(t,i,100)},setColorMap:function(t){const i=pV.get(rH);if(t){const e=[null];for(let i=1,s=t.length;ii}):Zs.register(t,wK(t,i))},setMonarchTokensProvider:function(t,i){return mK(i)?vK(t,{create:()=>i}):Zs.register(t,(i=>new Dm(pV.get(yd),pV.get(rH),t,fK(t,i),pV.get(pd)))(i))},registerReferenceProvider:function(t,i){return pV.get(xg).referenceProvider.register(t,i)},registerRenameProvider:function(t,i){return pV.get(xg).renameProvider.register(t,i)},registerCompletionItemProvider:function(t,i){return pV.get(xg).completionProvider.register(t,i)},registerSignatureHelpProvider:function(t,i){return pV.get(xg).signatureHelpProvider.register(t,i)},registerHoverProvider:function(t,i){return pV.get(xg).hoverProvider.register(t,{provideHover:(t,e,s)=>{const n=t.getWordAtPosition(e);return Promise.resolve(i.provideHover(t,e,s)).then((t=>{if(t)return!t.range&&n&&(t.range=new Ms(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn)),t.range||(t.range=new Ms(e.lineNumber,e.column,e.lineNumber,e.column)),t}))}})},registerDocumentSymbolProvider:function(t,i){return pV.get(xg).documentSymbolProvider.register(t,i)},registerDocumentHighlightProvider:function(t,i){return pV.get(xg).documentHighlightProvider.register(t,i)},registerLinkedEditingRangeProvider:function(t,i){return pV.get(xg).linkedEditingRangeProvider.register(t,i)},registerDefinitionProvider:function(t,i){return pV.get(xg).definitionProvider.register(t,i)},registerImplementationProvider:function(t,i){return pV.get(xg).implementationProvider.register(t,i)},registerTypeDefinitionProvider:function(t,i){return pV.get(xg).typeDefinitionProvider.register(t,i)},registerCodeLensProvider:function(t,i){return pV.get(xg).codeLensProvider.register(t,i)},registerCodeActionProvider:function(t,i,e){return pV.get(xg).codeActionProvider.register(t,{providedCodeActionKinds:null==e?void 0:e.providedCodeActionKinds,documentation:null==e?void 0:e.documentation,provideCodeActions:(t,e,s,n)=>{const o=pV.get(kP).read({resource:t.uri}).filter((t=>Ms.areIntersectingOrTouching(t,e)));return i.provideCodeActions(t,e,{markers:o,only:s.only,trigger:s.trigger},n)},resolveCodeAction:i.resolveCodeAction})},registerDocumentFormattingEditProvider:function(t,i){return pV.get(xg).documentFormattingEditProvider.register(t,i)},registerDocumentRangeFormattingEditProvider:function(t,i){return pV.get(xg).documentRangeFormattingEditProvider.register(t,i)},registerOnTypeFormattingEditProvider:function(t,i){return pV.get(xg).onTypeFormattingEditProvider.register(t,i)},registerLinkProvider:function(t,i){return pV.get(xg).linkProvider.register(t,i)},registerColorProvider:function(t,i){return pV.get(xg).colorProvider.register(t,i)},registerFoldingRangeProvider:function(t,i){return pV.get(xg).foldingRangeProvider.register(t,i)},registerDeclarationProvider:function(t,i){return pV.get(xg).declarationProvider.register(t,i)},registerSelectionRangeProvider:function(t,i){return pV.get(xg).selectionRangeProvider.register(t,i)},registerDocumentSemanticTokensProvider:function(t,i){return pV.get(xg).documentSemanticTokensProvider.register(t,i)},registerDocumentRangeSemanticTokensProvider:function(t,i){return pV.get(xg).documentRangeSemanticTokensProvider.register(t,i)},registerInlineCompletionsProvider:function(t,i){return pV.get(xg).inlineCompletionsProvider.register(t,i)},registerInlayHintsProvider:function(t,i){return pV.get(xg).inlayHintsProvider.register(t,i)},DocumentHighlightKind:rn,CompletionItemKind:Xs,CompletionItemTag:tn,CompletionItemInsertTextRule:Ys,SymbolKind:Tn,SymbolTag:Rn,IndentAction:dn,CompletionTriggerKind:en,SignatureHelpTriggerKind:Fn,InlayHintKind:pn,InlineCompletionTriggerKind:gn,CodeActionTriggerType:Js,FoldingRangeKind:Ks,SelectedSuggestionInfo:zs};const $K=PK.CancellationTokenSource,WK=PK.Emitter,jK=PK.KeyCode,zK=PK.KeyMod,HK=PK.Position,VK=PK.Range,UK=PK.Selection,qK=PK.SelectionDirection,KK=PK.MarkerSeverity,GK=PK.MarkerTag,ZK=PK.Uri,QK=PK.Token,JK=PK.editor,YK=PK.languages,XK=globalThis.MonacoEnvironment;((null==XK?void 0:XK.globalAPI)||"function"==typeof define&&define.amd)&&(globalThis.monaco=PK),void 0!==globalThis.require&&"function"==typeof globalThis.require.config&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const tG=Object.freeze({__proto__:null,CancellationTokenSource:$K,Emitter:WK,KeyCode:jK,KeyMod:zK,Position:HK,Range:VK,Selection:UK,SelectionDirection:qK,MarkerSeverity:KK,MarkerTag:GK,Uri:ZK,Token:QK,editor:JK,languages:YK}); -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var iG=Object.defineProperty,eG=Object.getOwnPropertyDescriptor,sG=Object.getOwnPropertyNames,nG=Object.prototype.hasOwnProperty,oG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of sG(i))nG.call(t,n)||n===e||iG(t,n,{get:()=>i[n],enumerable:!(s=eG(i,n))||s.enumerable});return t},rG={};oG(rG,tG,"default");var hG={},cG={},aG=class{static getOrCreate(t){return cG[t]||(cG[t]=new aG(t)),cG[t]}_languageId;_loadingTriggered;_lazyLoadPromise;_lazyLoadPromiseResolve;_lazyLoadPromiseReject;constructor(t){this._languageId=t,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise(((t,i)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=i}))}load(){return this._loadingTriggered||(this._loadingTriggered=!0,hG[this._languageId].loader().then((t=>this._lazyLoadPromiseResolve(t)),(t=>this._lazyLoadPromiseReject(t)))),this._lazyLoadPromise}};function lG(t){const i=t.id;hG[i]=t,rG.languages.register(t);const e=aG.getOrCreate(i);rG.languages.registerTokensProviderFactory(i,{create:async()=>(await e.load()).language}),rG.languages.onLanguageEncountered(i,(async()=>{const t=await e.load();rG.languages.setLanguageConfiguration(i,t.conf)}))} -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/lG({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>import("./p-d3b737ce.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>import("./p-45edef66.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>import("./p-39352f4d.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>import("./p-005202b2.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>import("./p-2ce66364.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>import("./p-c670cf4f.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>import("./p-095d8263.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>import("./p-2750f4ba.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>import("./p-7d468b25.js")}),lG({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>import("./p-7d468b25.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>import("./p-1406be83.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"csp",extensions:[],aliases:["CSP","csp"],loader:()=>import("./p-df804da7.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>import("./p-50d90d02.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>import("./p-e01671ed.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>import("./p-6d4f5730.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>import("./p-e66815dc.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>import("./p-297cd2d8.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>import("./p-831a4edd.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>import("./p-fa45b9a6.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>import("./p-d68a0b62.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>import("./p-b7e7c162.js").then((t=>t.TagAutoInterpolationDollar))}),lG({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>import("./p-b7e7c162.js").then((t=>t.TagAngleInterpolationDollar))}),lG({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>import("./p-b7e7c162.js").then((t=>t.TagBracketInterpolationDollar))}),lG({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>import("./p-b7e7c162.js").then((t=>t.TagAngleInterpolationBracket))}),lG({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>import("./p-b7e7c162.js").then((t=>t.TagBracketInterpolationBracket))}),lG({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>import("./p-b7e7c162.js").then((t=>t.TagAutoInterpolationDollar))}),lG({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>import("./p-b7e7c162.js").then((t=>t.TagAutoInterpolationBracket))}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>import("./p-93ee5e2b.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>import("./p-f58d8606.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>import("./p-25abbae0.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>import("./p-51d9419e.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>import("./p-ddaa9756.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>import("./p-83b1ffbc.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>import("./p-240e41a9.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>import("./p-071aef3f.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>import("./p-bb603f80.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>import("./p-c7525afe.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>import("./p-a22dad5b.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>import("./p-35e10c64.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>import("./p-6598cc43.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>import("./p-09894e60.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>import("./p-a8ccd6b6.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>import("./p-50894742.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>import("./p-765fc707.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>import("./p-1eefd2d2.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>import("./p-7da1fc98.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>import("./p-6955a5aa.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>import("./p-c8dbf5cd.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>import("./p-bd89e16a.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>import("./p-3a05bf1f.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>import("./p-3e74fab5.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>import("./p-5e816f17.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>import("./p-493cf2f5.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"pla",extensions:[".pla"],loader:()=>import("./p-be870f9d.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>import("./p-bee0894d.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>import("./p-d849396d.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>import("./p-5aa871ef.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>import("./p-979b8efa.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>import("./p-026b7dca.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>import("./p-3acf85e1.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>import("./p-4eb215fd.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>import("./p-36051613.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>import("./p-14fb669d.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>import("./p-72e349f9.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>import("./p-b1d9e26c.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>import("./p-103fce0e.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>import("./p-bfbb5e47.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>import("./p-9d06ca6f.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>import("./p-cd3bb211.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>import("./p-0140c2c6.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>import("./p-2a7a0456.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>import("./p-ad89550a.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>import("./p-77f8a21a.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>import("./p-e4bb9b5c.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>import("./p-9b5d7c31.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>import("./p-346ffee7.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>import("./p-5c810a14.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>import("./p-7d17d4e2.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>import("./p-bd0ec68d.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>import("./p-2ffb4d60.js")}),lG({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>import("./p-2ffb4d60.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>import("./p-3b365d02.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>import("./p-a8787e4b.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>import("./p-831ce65f.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>import("./p-a0fbd1a2.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>import("./p-55315355.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\import("./p-cb8c8d9f.js")}), -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -lG({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>import("./p-b77050f3.js")}); -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -var uG=Object.defineProperty,dG=Object.getOwnPropertyDescriptor,fG=Object.getOwnPropertyNames,pG=Object.prototype.hasOwnProperty,gG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of fG(i))pG.call(t,n)||n===e||uG(t,n,{get:()=>i[n],enumerable:!(s=dG(i,n))||s.enumerable});return t},mG={};((t,i)=>{gG(mG,i,"default")})(0,tG);var wG=class{_onDidChange=new mG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(t){this.setOptions(t)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},vG={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},bG={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},yG=new wG("css",vG,bG),kG=new wG("scss",vG,bG),xG=new wG("less",vG,bG);function CG(){return import("./p-cdc2b707.js")}mG.languages.css={cssDefaults:yG,lessDefaults:xG,scssDefaults:kG},mG.languages.onLanguage("less",(()=>{CG().then((t=>t.setupMode(xG)))})),mG.languages.onLanguage("scss",(()=>{CG().then((t=>t.setupMode(kG)))})),mG.languages.onLanguage("css",(()=>{CG().then((t=>t.setupMode(yG)))})); -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -var SG=Object.defineProperty,DG=Object.getOwnPropertyDescriptor,EG=Object.getOwnPropertyNames,AG=Object.prototype.hasOwnProperty,MG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of EG(i))AG.call(t,n)||n===e||SG(t,n,{get:()=>i[n],enumerable:!(s=DG(i,n))||s.enumerable});return t},LG={};((t,i)=>{MG(LG,i,"default")})(0,tG);var FG=class{_onDidChange=new LG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},TG={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},suggest:{},data:{useDefaultDataProvider:!0}};function RG(t){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:t===OG,documentFormattingEdits:t===OG,documentRangeFormattingEdits:t===OG}}var OG="html",IG="handlebars",_G="razor",NG=jG(OG,TG,RG(OG)),BG=NG.defaults,PG=jG(IG,TG,RG(IG)),$G=PG.defaults,WG=jG(_G,TG,RG(_G));function jG(t,i=TG,e=RG(t)){const s=new FG(t,i,e);let n;const o=LG.languages.onLanguage(t,(async()=>{n=(await import("./p-bcb9c305.js")).setupMode(s)}));return{defaults:s,dispose(){o.dispose(),n?.dispose(),n=void 0}}} -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/LG.languages.html={htmlDefaults:BG,razorDefaults:WG.defaults,handlebarDefaults:$G,htmlLanguageService:NG,handlebarLanguageService:PG,razorLanguageService:WG,registerHTMLLanguageService:jG};var zG=Object.defineProperty,HG=Object.getOwnPropertyDescriptor,VG=Object.getOwnPropertyNames,UG=Object.prototype.hasOwnProperty,qG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of VG(i))UG.call(t,n)||n===e||zG(t,n,{get:()=>i[n],enumerable:!(s=HG(i,n))||s.enumerable});return t},KG={};((t,i)=>{qG(KG,i,"default")})(0,tG);var GG=new class{_onDidChange=new KG.Emitter;_diagnosticsOptions;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setDiagnosticsOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}}("json",{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});KG.languages.json={jsonDefaults:GG},KG.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),KG.languages.onLanguage("json",(()=>{import("./p-dfea941c.js").then((t=>t.setupMode(GG)))})); -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/ -var ZG=Object.defineProperty,QG=Object.getOwnPropertyDescriptor,JG=Object.getOwnPropertyNames,YG=Object.prototype.hasOwnProperty,XG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of JG(i))YG.call(t,n)||n===e||ZG(t,n,{get:()=>i[n],enumerable:!(s=QG(i,n))||s.enumerable});return t},tZ={};((t,i)=>{XG(tZ,i,"default")})(0,tG);var iZ=(t=>(t[t.None=0]="None",t[t.CommonJS=1]="CommonJS",t[t.AMD=2]="AMD",t[t.UMD=3]="UMD",t[t.System=4]="System",t[t.ES2015=5]="ES2015",t[t.ESNext=99]="ESNext",t))(iZ||{}),eZ=(t=>(t[t.None=0]="None",t[t.Preserve=1]="Preserve",t[t.React=2]="React",t[t.ReactNative=3]="ReactNative",t[t.ReactJSX=4]="ReactJSX",t[t.ReactJSXDev=5]="ReactJSXDev",t))(eZ||{}),sZ=(t=>(t[t.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",t[t.LineFeed=1]="LineFeed",t))(sZ||{}),nZ=(t=>(t[t.ES3=0]="ES3",t[t.ES5=1]="ES5",t[t.ES2015=2]="ES2015",t[t.ES2016=3]="ES2016",t[t.ES2017=4]="ES2017",t[t.ES2018=5]="ES2018",t[t.ES2019=6]="ES2019",t[t.ES2020=7]="ES2020",t[t.ESNext=99]="ESNext",t[t.JSON=100]="JSON",t[t.Latest=99]="Latest",t))(nZ||{}),oZ=(t=>(t[t.Classic=1]="Classic",t[t.NodeJs=2]="NodeJs",t))(oZ||{}),rZ=class{_onDidChange=new tZ.Emitter;_onDidExtraLibsChange=new tZ.Emitter;_extraLibs;_removedExtraLibs;_eagerModelSync;_compilerOptions;_diagnosticsOptions;_workerOptions;_onDidExtraLibsChangeTimeout;_inlayHintsOptions;_modeConfiguration;constructor(t,i,e,s,n){this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(t),this.setDiagnosticsOptions(i),this.setWorkerOptions(e),this.setInlayHintsOptions(s),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(t,i){let e;if(e=void 0===i?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i,this._extraLibs[e]&&this._extraLibs[e].content===t)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[e]&&(s=this._removedExtraLibs[e]+1),this._extraLibs[e]&&(s=this._extraLibs[e].version+1),this._extraLibs[e]={content:t,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let t=this._extraLibs[e];t&&t.version===s&&(delete this._extraLibs[e],this._removedExtraLibs[e]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(t){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),t&&t.length>0)for(const i of t){const t=i.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`;let e=1;this._removedExtraLibs[t]&&(e=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i.content,version:e}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){-1===this._onDidExtraLibsChangeTimeout&&(this._onDidExtraLibsChangeTimeout=window.setTimeout((()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)}),0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(t){this._compilerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(t){this._workerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(t){this._inlayHintsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(t){}setEagerModelSync(t){this._eagerModelSync=t}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(void 0)}},hZ={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},cZ=new rZ({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},hZ),aZ=new rZ({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},hZ);function lZ(){return import("./p-00ba73e5.js")}tZ.languages.typescript={ModuleKind:iZ,JsxEmit:eZ,NewLineKind:sZ,ScriptTarget:nZ,ModuleResolutionKind:oZ,typescriptVersion:"5.0.2",typescriptDefaults:cZ,javascriptDefaults:aZ,getTypeScriptWorker:()=>lZ().then((t=>t.getTypeScriptWorker())),getJavaScriptWorker:()=>lZ().then((t=>t.getJavaScriptWorker()))},tZ.languages.onLanguage("typescript",(()=>lZ().then((t=>t.setupTypeScript(cZ))))),tZ.languages.onLanguage("javascript",(()=>lZ().then((t=>t.setupJavaScript(aZ))))),$h(class extends Ph{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:{value:ot(0,"Toggle Collapse Unchanged Regions"),original:"Toggle Collapse Unchanged Regions"},icon:Os.map,toggled:zr.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:zr.has("isInDiffEditor"),menu:{when:zr.has("isInDiffEditor"),id:Rh.EditorTitle,order:22,group:"navigation"}})}run(t,...i){const e=t.get(pd),s=!e.getValue("diffEditor.hideUnchangedRegions.enabled");e.updateValue("diffEditor.hideUnchangedRegions.enabled",s)}});class uZ extends Ph{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:{value:ot(0,"Toggle Show Moved Code Blocks"),original:"Toggle Show Moved Code Blocks"},precondition:zr.has("isInDiffEditor")})}run(t,...i){const e=t.get(pd),s=!e.getValue("diffEditor.experimental.showMoves");e.updateValue("diffEditor.experimental.showMoves",s)}}$h(uZ);class dZ extends Ph{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:{value:ot(0,"Toggle Use Inline View When Space Is Limited"),original:"Toggle Use Inline View When Space Is Limited"},precondition:zr.has("isInDiffEditor")})}run(t,...i){const e=t.get(pd),s=!e.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");e.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",s)}}$h(dZ),_h.appendMenuItem(Rh.EditorTitle,{command:{id:(new dZ).desc.id,title:ot(0,"Use Inline View When Space Is Limited"),toggled:zr.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:zr.has("isInDiffEditor")},order:11,group:"1_diff",when:zr.and(YC.diffEditorRenderSideBySideInlineBreakpointReached,zr.has("isInDiffEditor"))}),_h.appendMenuItem(Rh.EditorTitle,{command:{id:(new uZ).desc.id,title:ot(0,"Show Moved Code Blocks"),icon:Os.move,toggled:Kr.create("config.diffEditor.experimental.showMoves",!0),precondition:zr.has("isInDiffEditor")},order:10,group:"1_diff",when:zr.has("isInDiffEditor")});const fZ={value:ot(0,"Diff Editor"),original:"Diff Editor"};$h(class extends ou{constructor(){super({id:"diffEditor.switchSide",title:{value:ot(0,"Switch Side"),original:"Switch Side"},icon:Os.arrowSwap,precondition:zr.has("isInDiffEditor"),f1:!0,category:fZ})}runEditorCommand(t,i,e){const s=wZ(t);if(s instanceof Iq){if(e&&e.dryRun)return{destinationSelection:s.mapToOtherSide().destinationSelection};s.switchSide()}}}),$h(class extends ou{constructor(){super({id:"diffEditor.exitCompareMove",title:{value:ot(0,"Exit Compare Move"),original:"Exit Compare Move"},icon:Os.close,precondition:YC.comparingMovedCode,f1:!1,category:fZ,keybinding:{weight:1e4,primary:9}})}runEditorCommand(t,i,...e){const s=wZ(t);s instanceof Iq&&s.exitCompareMove()}}),$h(class extends ou{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:{value:ot(0,"Collapse All Unchanged Regions"),original:"Collapse All Unchanged Regions"},icon:Os.fold,precondition:zr.has("isInDiffEditor"),f1:!0,category:fZ})}runEditorCommand(t,i,...e){const s=wZ(t);s instanceof Iq&&s.collapseAllUnchangedRegions()}}),$h(class extends ou{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:{value:ot(0,"Show All Unchanged Regions"),original:"Show All Unchanged Regions"},icon:Os.unfold,precondition:zr.has("isInDiffEditor"),f1:!0,category:fZ})}runEditorCommand(t,i,...e){const s=wZ(t);s instanceof Iq&&s.showAllUnchangedRegions()}});const pZ={value:ot(0,"Accessible Diff Viewer"),original:"Accessible Diff Viewer"};class gZ extends Ph{constructor(){super({id:gZ.id,title:{value:ot(0,"Go to Next Difference"),original:"Go to Next Difference"},category:pZ,precondition:zr.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(t){const i=wZ(t);null==i||i.accessibleDiffViewerNext()}}gZ.id="editor.action.accessibleDiffViewer.next",_h.appendMenuItem(Rh.EditorTitle,{command:{id:gZ.id,title:ot(0,"Open Accessible Diff Viewer"),precondition:zr.has("isInDiffEditor")},order:10,group:"2_diff",when:zr.and(YC.accessibleDiffViewerVisible.negate(),zr.has("isInDiffEditor"))});class mZ extends Ph{constructor(){super({id:mZ.id,title:{value:ot(0,"Go to Previous Difference"),original:"Go to Previous Difference"},category:pZ,precondition:zr.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(t){const i=wZ(t);null==i||i.accessibleDiffViewerPrev()}}function wZ(t){var i;const e=t.get(fr),s=e.listDiffEditors(),n=null!==(i=e.getFocusedCodeEditor())&&void 0!==i?i:e.getActiveCodeEditor();if(!n)return null;for(let t=0,i=s.length;tthis.selectionAnchorSetContextKey.reset()))}setSelectionAnchor(){if(this.editor.hasModel()){const t=this.editor.getPosition();this.editor.changeDecorations((i=>{this.decorationId&&i.removeDecoration(this.decorationId),this.decorationId=i.addDecoration(Ls.fromPositions(t,t),{description:"selection-anchor",stickiness:1,hoverMessage:(new N_).appendText(ot(0,"Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),Pm(ot(0,"Anchor set at {0}:{1}",t.lineNumber,t.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);t&&this.editor.setPosition(t.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);if(t){const i=this.editor.getPosition();this.editor.setSelection(Ls.fromPositions(t.getStartPosition(),i)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const t=this.decorationId;this.editor.changeDecorations((i=>{i.removeDecoration(t),this.decorationId=void 0})),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};kZ.ID="editor.contrib.selectionAnchorController",kZ=bZ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ah)],kZ),lu(kZ.ID,kZ,4),cu(class extends su{constructor(){super({id:"editor.action.setSelectionAnchor",label:ot(0,"Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2080),weight:100}})}async run(t,i){var e;null===(e=kZ.get(i))||void 0===e||e.setSelectionAnchor()}}),cu(class extends su{constructor(){super({id:"editor.action.goToSelectionAnchor",label:ot(0,"Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:yZ})}async run(t,i){var e;null===(e=kZ.get(i))||void 0===e||e.goToSelectionAnchor()}}),cu(class extends su{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:ot(0,"Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:yZ,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2089),weight:100}})}async run(t,i){var e;null===(e=kZ.get(i))||void 0===e||e.selectFromAnchorToCursor()}}),cu(class extends su{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:ot(0,"Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:yZ,kbOpts:{kbExpr:YC.editorTextFocus,primary:9,weight:100}})}async run(t,i){var e;null===(e=kZ.get(i))||void 0===e||e.cancelSelectionAnchor()}});const xZ=dw("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},ot(0,"Overview ruler marker color for matching brackets."));class CZ{constructor(t,i,e){this.position=t,this.brackets=i,this.options=e}}class SZ extends te{static get(t){return t.getContribution(SZ.ID)}constructor(t){super(),this._editor=t,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new pc((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(71),this._updateBracketsSoon.schedule(),this._register(t.onDidChangeCursorPosition((()=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelContent((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModel((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelLanguageConfiguration((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(71)&&(this._matchBrackets=this._editor.getOption(71),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))),this._register(t.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}jumpToBracket(){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._editor.getSelections().map((i=>{const e=i.getStartPosition(),s=t.bracketPairs.matchBracket(e);let n=null;if(s)s[0].containsPosition(e)&&!s[1].containsPosition(e)?n=s[1].getStartPosition():s[1].containsPosition(e)&&(n=s[0].getStartPosition());else{const i=t.bracketPairs.findEnclosingBrackets(e);if(i)n=i[1].getStartPosition();else{const i=t.bracketPairs.findNextBracket(e);i&&i.range&&(n=i.range.getStartPosition())}}return n?new Ls(n.lineNumber,n.column,n.lineNumber,n.column):new Ls(e.lineNumber,e.column,e.lineNumber,e.column)}));this._editor.setSelections(i),this._editor.revealRange(i[0])}selectToBracket(t){if(!this._editor.hasModel())return;const i=this._editor.getModel(),e=[];this._editor.getSelections().forEach((s=>{const n=s.getStartPosition();let o=i.bracketPairs.matchBracket(n);if(!o&&(o=i.bracketPairs.findEnclosingBrackets(n),!o)){const t=i.bracketPairs.findNextBracket(n);t&&t.range&&(o=i.bracketPairs.matchBracket(t.range.getStartPosition()))}let r=null,h=null;if(o){o.sort(Ms.compareRangesUsingStarts);const[i,e]=o;if(r=t?i.getStartPosition():i.getEndPosition(),h=t?e.getEndPosition():e.getStartPosition(),e.containsPosition(n)){const t=r;r=h,h=t}}r&&h&&e.push(new Ls(r.lineNumber,r.column,h.lineNumber,h.column))})),e.length>0&&(this._editor.setSelections(e),this._editor.revealRange(e[0]))}removeBrackets(t){if(!this._editor.hasModel())return;const i=this._editor.getModel();this._editor.getSelections().forEach((e=>{const s=e.getPosition();let n=i.bracketPairs.matchBracket(s);n||(n=i.bracketPairs.findEnclosingBrackets(s)),n&&(this._editor.pushUndoStop(),this._editor.executeEdits(t,[{range:n[0],text:""},{range:n[1],text:""}]),this._editor.pushUndoStop())}))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const t=[];let i=0;for(const e of this._lastBracketsData){const s=e.brackets;s&&(t[i++]={range:s[0],options:e.options},t[i++]={range:s[1],options:e.options})}this._decorations.set(t)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getSelections();if(t.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const i=this._editor.getModel(),e=i.getVersionId();let s=[];this._lastVersionId===e&&(s=this._lastBracketsData);const n=[];let o=0;for(let i=0,e=t.length;i1&&n.sort(As.compare);const r=[];let h=0,c=0;const a=s.length;for(let t=0,e=n.length;t0&&(i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop())}});const AZ="9_cutcopypaste",MZ=Dt||document.queryCommandSupported("cut"),LZ=Dt||document.queryCommandSupported("copy"),FZ=void 0!==navigator.clipboard&&!Uo||document.queryCommandSupported("paste");function TZ(t){return t.register(),t}const RZ=MZ?TZ(new tu({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Dt?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Rh.MenubarEditMenu,group:"2_ccp",title:ot(0,"Cu&&t"),order:1},{menuId:Rh.EditorContext,group:AZ,title:ot(0,"Cut"),when:YC.writable,order:1},{menuId:Rh.CommandPalette,group:"",title:ot(0,"Cut"),order:1},{menuId:Rh.SimpleEditorContext,group:AZ,title:ot(0,"Cut"),when:YC.writable,order:1}]})):void 0,OZ=LZ?TZ(new tu({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Dt?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Rh.MenubarEditMenu,group:"2_ccp",title:ot(0,"&&Copy"),order:2},{menuId:Rh.EditorContext,group:AZ,title:ot(0,"Copy"),order:2},{menuId:Rh.CommandPalette,group:"",title:ot(0,"Copy"),order:1},{menuId:Rh.SimpleEditorContext,group:AZ,title:ot(0,"Copy"),order:2}]})):void 0;_h.appendMenuItem(Rh.MenubarEditMenu,{submenu:Rh.MenubarCopy,title:{value:ot(0,"Copy As"),original:"Copy As"},group:"2_ccp",order:3}),_h.appendMenuItem(Rh.EditorContext,{submenu:Rh.EditorContextCopy,title:{value:ot(0,"Copy As"),original:"Copy As"},group:AZ,order:3}),_h.appendMenuItem(Rh.EditorContext,{submenu:Rh.EditorContextShare,title:{value:ot(0,"Share"),original:"Share"},group:"11_share",order:-1,when:zr.and(zr.notEquals("resourceScheme","output"),YC.editorTextFocus)}),_h.appendMenuItem(Rh.EditorTitleContext,{submenu:Rh.EditorTitleContextShare,title:{value:ot(0,"Share"),original:"Share"},group:"11_share",order:-1}),_h.appendMenuItem(Rh.ExplorerContext,{submenu:Rh.ExplorerContextShare,title:{value:ot(0,"Share"),original:"Share"},group:"11_share",order:-1});const IZ=FZ?TZ(new tu({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Dt?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Rh.MenubarEditMenu,group:"2_ccp",title:ot(0,"&&Paste"),order:4},{menuId:Rh.EditorContext,group:AZ,title:ot(0,"Paste"),when:YC.writable,order:4},{menuId:Rh.CommandPalette,group:"",title:ot(0,"Paste"),order:1},{menuId:Rh.SimpleEditorContext,group:AZ,title:ot(0,"Paste"),when:YC.writable,order:4}]})):void 0;function _Z(t,i){t&&(t.addImplementation(1e4,"code-editor",(t=>{const e=t.get(fr).getFocusedCodeEditor();if(e&&e.hasTextFocus()){const t=e.getOption(37),s=e.getSelection();return s&&s.isEmpty()&&!t||e.getContainerDomNode().ownerDocument.execCommand(i),!0}return!1})),t.addImplementation(0,"generic-dom",(()=>(ml().execCommand(i),!0))))}_Z(RZ,"cut"),_Z(OZ,"copy"),IZ&&(IZ.addImplementation(1e4,"code-editor",(t=>{const i=t.get(fr),e=t.get(yH),s=i.getFocusedCodeEditor();return!(!s||!s.hasTextFocus())&&(!(!s.getContainerDomNode().ownerDocument.execCommand("paste")&&Et)||(async()=>{const t=await e.readText();if(""!==t){const i=Vk.INSTANCE.get(t);let e=!1,n=null,o=null;i&&(e=s.getOption(37)&&!!i.isFromEmptySelection,n=void 0!==i.multicursorText?i.multicursorText:null,o=i.mode),s.trigger("keyboard","paste",{text:t,pasteOnNewLine:e,multicursorText:n,mode:o})}})())})),IZ.addImplementation(0,"generic-dom",(()=>(ml().execCommand("paste"),!0)))),LZ&&cu(class extends su{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:ot(0,"Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:YC.textInputFocus,primary:0,weight:100}})}run(t,i){i.hasModel()&&(!i.getOption(37)&&i.getSelection().isEmpty()||(Hk.forceCopyWithSyntaxHighlighting=!0,i.focus(),i.getContainerDomNode().ownerDocument.execCommand("copy"),Hk.forceCopyWithSyntaxHighlighting=!1))}});class NZ{constructor(t){this.value=t}equals(t){return this.value===t.value}contains(t){return this.equals(t)||""===this.value||t.value.startsWith(this.value+NZ.sep)}intersects(t){return this.contains(t)||t.contains(this)}append(t){return new NZ(this.value+NZ.sep+t)}}var BZ;function PZ(t,i,e){return!(!i.contains(t)||e&&i.contains(e))}NZ.sep=".",NZ.None=new NZ("@@none@@"),NZ.Empty=new NZ(""),NZ.QuickFix=new NZ("quickfix"),NZ.Refactor=new NZ("refactor"),NZ.RefactorExtract=NZ.Refactor.append("extract"),NZ.RefactorInline=NZ.Refactor.append("inline"),NZ.RefactorMove=NZ.Refactor.append("move"),NZ.RefactorRewrite=NZ.Refactor.append("rewrite"),NZ.Notebook=new NZ("notebook"),NZ.Source=new NZ("source"),NZ.SourceOrganizeImports=NZ.Source.append("organizeImports"),NZ.SourceFixAll=NZ.Source.append("fixAll"),NZ.SurroundWith=NZ.Refactor.append("surround"),function(t){t.Refactor="refactor",t.RefactorPreview="refactor preview",t.Lightbulb="lightbulb",t.Default="other (default)",t.SourceAction="source action",t.QuickFix="quick fix action",t.FixAll="fix all",t.OrganizeImports="organize imports",t.AutoFix="auto fix",t.QuickFixHover="quick fix hover window",t.OnSave="save participants",t.ProblemsView="problems view"}(BZ||(BZ={}));class $Z{static fromUser(t,i){return t&&"object"==typeof t?new $Z($Z.getKindFromUser(t,i.kind),$Z.getApplyFromUser(t,i.apply),$Z.getPreferredUser(t)):new $Z(i.kind,i.apply,!1)}static getApplyFromUser(t,i){switch("string"==typeof t.apply?t.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return i}}static getKindFromUser(t,i){return"string"==typeof t.kind?new NZ(t.kind):i}static getPreferredUser(t){return"boolean"==typeof t.preferred&&t.preferred}constructor(t,i,e){this.kind=t,this.apply=i,this.preferred=e}}class WZ{constructor(t,i,e){this.action=t,this.provider=i,this.highlightRange=e}async resolve(t){var i;if((null===(i=this.provider)||void 0===i?void 0:i.resolveCodeAction)&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,t)}catch(t){Pi(t)}i&&(this.action.edit=i.edit)}return this}}const jZ="editor.action.codeAction",zZ="editor.action.quickFix",HZ="editor.action.autoFix",VZ="editor.action.refactor",UZ="editor.action.sourceAction",qZ="editor.action.organizeImports",KZ="editor.action.fixAll";class GZ extends te{static codeActionsPreferredComparator(t,i){return t.isPreferred&&!i.isPreferred?-1:!t.isPreferred&&i.isPreferred?1:0}static codeActionsComparator({action:t},{action:i}){return t.isAI&&!i.isAI?1:!t.isAI&&i.isAI?-1:b(t.diagnostics)?b(i.diagnostics)?GZ.codeActionsPreferredComparator(t,i):-1:b(i.diagnostics)?1:GZ.codeActionsPreferredComparator(t,i)}constructor(t,i,e){super(),this.documentation=i,this._register(e),this.allActions=[...t].sort(GZ.codeActionsComparator),this.validActions=this.allActions.filter((({action:t})=>!t.disabled))}get hasAutoFix(){return this.validActions.some((({action:t})=>!!t.kind&&NZ.QuickFix.contains(new NZ(t.kind))&&!!t.isPreferred))}get hasAIFix(){return this.validActions.some((({action:t})=>!!t.isAI))}get allAIFixes(){return this.validActions.every((({action:t})=>!!t.isAI))}}const ZZ={actions:[],documentation:void 0};async function QZ(t,i,e,s,n,o){var r;const h=s.filter||{},c={...h,excludes:[...h.excludes||[],NZ.Notebook]},a={only:null===(r=h.include)||void 0===r?void 0:r.value,trigger:s.type},u=new SK(i,o),d=function(t,i,e){return t.all(i).filter((t=>!t.providedCodeActionKinds||t.providedCodeActionKinds.some((t=>function(t,i){return!(t.include&&!t.include.intersects(i)||t.excludes&&t.excludes.some((e=>PZ(i,e,t.include)))||!t.includeSourceActions&&NZ.Source.contains(i))}(e,new NZ(t))))))}(t,i,2===s.type?c:h),f=new Xi,p=d.map((async t=>{try{n.report(t);const s=await t.provideCodeActions(i,e,a,u.token);if(s&&f.add(s),u.token.isCancellationRequested)return ZZ;const o=((null==s?void 0:s.actions)||[]).filter((t=>t&&function(t,i){const e=i.kind?new NZ(i.kind):void 0;return!(!(!t.include||e&&t.include.contains(e))||t.excludes&&e&&t.excludes.some((i=>PZ(e,i,t.include)))||!t.includeSourceActions&&e&&NZ.Source.contains(e)||t.onlyIncludePreferredActions&&!i.isPreferred)}(h,t))),r=function(t,i,e){if(!t.documentation)return;const s=t.documentation.map((t=>({kind:new NZ(t.kind),command:t.command})));if(e){let t;for(const i of s)i.kind.contains(e)&&(t?t.kind.contains(i.kind)&&(t=i):t=i);if(t)return null==t?void 0:t.command}for(const t of i)if(t.kind)for(const i of s)if(i.kind.contains(new NZ(t.kind)))return i.command}(t,o,h.include);return{actions:o.map((i=>new WZ(i,t))),documentation:r}}catch(t){if(ji(t))throw t;return Pi(t),ZZ}})),g=t.onDidChange((()=>{l(t.all(i),d)||u.cancel()}));try{const e=await Promise.all(p),n=e.map((t=>t.actions)).flat(),o=[...m(e.map((t=>t.documentation))),...JZ(t,i,s,n)];return new GZ(n,o,f)}finally{g.dispose(),u.dispose()}}function*JZ(t,i,e,s){var n,o,r;if(i&&s.length)for(const h of t.all(i))h._getAdditionalMenuItems&&(yield*null===(n=h._getAdditionalMenuItems)||void 0===n?void 0:n.call(h,{trigger:e.type,only:null===(r=null===(o=e.filter)||void 0===o?void 0:o.include)||void 0===r?void 0:r.value},s.map((t=>t.action))))}var YZ;async function XZ(t,i,e,s,n=ke.None){var o;const r=t.get(nO),h=t.get(Sr),c=t.get(Wh),a=t.get(oT);if(c.publicLog2("codeAction.applyCodeAction",{codeActionTitle:i.action.title,codeActionKind:i.action.kind,codeActionIsPreferred:!!i.action.isPreferred,reason:e}),await i.resolve(n),!n.isCancellationRequested){if((null===(o=i.action.edit)||void 0===o?void 0:o.edits.length)&&!(await r.apply(i.action.edit,{editor:null==s?void 0:s.editor,label:i.action.title,quotableLabel:i.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:e!==YZ.OnSave,showPreview:null==s?void 0:s.preview})).isApplied)return;if(i.action.command)try{await h.executeCommand(i.action.command.id,...i.action.command.arguments||[])}catch(t){const i=function(t){return"string"==typeof t?t:t instanceof Error&&"string"==typeof t.message?t.message:void 0}(t);a.error("string"==typeof i?i:ot(0,"An unknown error occurred while applying the code action"))}}}!function(t){t.OnSave="onSave",t.FromProblemsView="fromProblemsView",t.FromCodeActions="fromCodeActions"}(YZ||(YZ={})),Dr.registerCommand("_executeCodeActionProvider",(async function(t,i,e,s,n){if(!(i instanceof ms))throw Hi();const{codeActionProvider:o}=t.get(xg),r=t.get(pr).getModel(i);if(!r)throw Hi();const h=Ls.isISelection(e)?Ls.liftSelection(e):Ms.isIRange(e)?r.validateRange(e):void 0;if(!h)throw Hi();const c="string"==typeof s?new NZ(s):void 0,a=await QZ(o,r,h,{type:1,triggerAction:BZ.Default,filter:{includeSourceActions:!0,include:c}},jO.None,ke.None),l=[],u=Math.min(a.validActions.length,"number"==typeof n?n:0);for(let t=0;tt.action))}finally{setTimeout((()=>a.dispose()),100)}}));var tQ;let iQ=tQ=class{constructor(t){this.keybindingService=t}getResolver(){const t=new zn((()=>this.keybindingService.getKeybindings().filter((t=>tQ.codeActionCommands.indexOf(t.command)>=0)).filter((t=>t.resolvedKeybinding)).map((t=>{let i=t.commandArgs;return t.command===qZ?i={kind:NZ.SourceOrganizeImports.value}:t.command===KZ&&(i={kind:NZ.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...$Z.fromUser(i,{kind:NZ.None,apply:"never"})}}))));return i=>{if(i.kind){const e=this.bestKeybindingForCodeAction(i,t.value);return null==e?void 0:e.resolvedKeybinding}}}bestKeybindingForCodeAction(t,i){if(!t.kind)return;const e=new NZ(t.kind);return i.filter((t=>t.kind.contains(e))).filter((i=>!i.preferred||t.isPreferred)).reduceRight(((t,i)=>t?t.kind.contains(i.kind)?i:t:i),void 0)}};iQ.codeActionCommands=[VZ,jZ,UZ,qZ,KZ],iQ=tQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,oC)],iQ),dw("symbolIcon.arrayForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.booleanForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},ot(0,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.colorForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.constantForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},ot(0,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},ot(0,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},ot(0,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},ot(0,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},ot(0,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.fileForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.folderForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},ot(0,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},ot(0,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.keyForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.keywordForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},ot(0,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.moduleForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.namespaceForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.nullForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.numberForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.objectForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.operatorForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.packageForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.propertyForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.referenceForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.snippetForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.stringForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.structForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.textForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.typeParameterForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.unitForeground",{dark:fw,light:fw,hcDark:fw,hcLight:fw},ot(0,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),dw("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},ot(0,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const eQ=Object.freeze({kind:NZ.Empty,title:ot(0,"More Actions...")}),sQ=Object.freeze([{kind:NZ.QuickFix,title:ot(0,"Quick Fix")},{kind:NZ.RefactorExtract,title:ot(0,"Extract"),icon:Os.wrench},{kind:NZ.RefactorInline,title:ot(0,"Inline"),icon:Os.wrench},{kind:NZ.RefactorRewrite,title:ot(0,"Rewrite"),icon:Os.wrench},{kind:NZ.RefactorMove,title:ot(0,"Move"),icon:Os.wrench},{kind:NZ.SurroundWith,title:ot(0,"Surround With"),icon:Os.symbolSnippet},{kind:NZ.Source,title:ot(0,"Source Action"),icon:Os.symbolFile},eQ]);var nQ,oQ,rQ=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.Hidden={type:0},t.Showing=class{constructor(t,i,e,s){this.actions=t,this.trigger=i,this.editorPosition=e,this.widgetPosition=s,this.type=1}}}(oQ||(oQ={}));let hQ=nQ=class extends te{constructor(t,i,e){var s,n,o;super(),this._editor=t,this._keybindingService=i,this._onClick=this._register(new de),this.onClick=this._onClick.event,this._state=oQ.Hidden,this._iconClasses=[],this._domNode=$l("div.lightBulbWidget"),this._register(rw.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((()=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()}))),this._register((n=t=>{var i;if(1!==this.state.type)return;const s=this._editor.getOption(64).experimental.showAiIcon;if((s===mi.On||s===mi.OnCode)&&this.state.actions.allAIFixes&&1===this.state.actions.validActions.length){const s=this.state.actions.validActions[0].action;if(null===(i=s.command)||void 0===i?void 0:i.id)return e.executeCommand(s.command.id,...s.command.arguments||[]),void t.preventDefault()}this._editor.focus(),t.preventDefault();const{top:n,height:o}=nl(this._domNode),r=this._editor.getOption(66);let h=Math.floor(r/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1&~t.buttons||this.hide()}))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(64)&&(this._editor.getOption(64).enabled||this.hide(),this._updateLightBulbTitleAndIcon())}))),this._register(he.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,(()=>{var t,i,e,s;this._preferredKbLabel=null!==(i=null===(t=this._keybindingService.lookupKeybinding(HZ))||void 0===t?void 0:t.getLabel())&&void 0!==i?i:void 0,this._quickFixKbLabel=null!==(s=null===(e=this._keybindingService.lookupKeybinding(zZ))||void 0===e?void 0:e.getLabel())&&void 0!==s?s:void 0,this._updateLightBulbTitleAndIcon()})))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return 1===this._state.type?this._state.widgetPosition:null}update(t,i,e){if(t.validActions.length<=0)return this.hide();const s=this._editor.getOptions();if(!s.get(64).enabled)return this.hide();const n=this._editor.getModel();if(!n)return this.hide();const{lineNumber:o,column:r}=n.validatePosition(e),h=n.getOptions().tabSize,c=s.get(50),a=RS(n.getLineContent(o),h),l=t=>t>2&&this._editor.getTopForLineNumber(t)===this._editor.getTopForLineNumber(t-1);let u=o;if(!(c.spaceWidth*a>22))if(o>1&&!l(o-1))u-=1;else if(l(o+1)){if(r*c.spaceWidth<22)return this.hide()}else u+=1;this.state=new oQ.Showing(t,i,e,{position:{lineNumber:u,column:n.getLineContent(u).match(/^\S\s*$/)?2:1},preference:nQ._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state!==oQ.Hidden&&(this.state=oQ.Hidden,this._editor.layoutContentWidget(this))}get state(){return this._state}set state(t){this._state=t,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){var t,i,e;if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],1!==this.state.type)return;const s=()=>{this._preferredKbLabel&&(this.title=ot(0,"Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel))},n=()=>{this.title=this._quickFixKbLabel?ot(0,"Show Code Actions ({0})",this._quickFixKbLabel):ot(0,"Show Code Actions")};let o;const r=this._editor.getOption(64).experimental.showAiIcon;if(r===mi.On||r===mi.OnCode)if(r===mi.On&&this.state.actions.allAIFixes)if(o=Os.sparkleFilled,this.state.actions.allAIFixes&&1===this.state.actions.validActions.length)if("inlineChat.start"===(null===(t=this.state.actions.validActions[0].action.command)||void 0===t?void 0:t.id)){const t=null!==(e=null===(i=this._keybindingService.lookupKeybinding("inlineChat.start"))||void 0===i?void 0:i.getLabel())&&void 0!==e?e:void 0;this.title=t?ot(0,"Start Inline Chat ({0})",t):ot(0,"Start Inline Chat")}else this.title=ot(0,"Trigger AI Action");else n();else this.state.actions.hasAutoFix?(o=this.state.actions.hasAIFix?Os.lightbulbSparkleAutofix:Os.lightbulbAutofix,s()):this.state.actions.hasAIFix?(o=Os.lightbulbSparkle,n()):(o=Os.lightBulb,n());else this.state.actions.hasAutoFix?(o=Os.lightbulbAutofix,s()):(o=Os.lightBulb,n());this._iconClasses=Cr.asClassNameArray(o),this._domNode.classList.add(...this._iconClasses)}set title(t){this._domNode.title=t}};hQ.ID="editor.contrib.lightbulbWidget",hQ._posPref=[0],hQ=nQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([rQ(1,oC),rQ(2,Sr)],hQ);var cQ,aQ=function(t,i){return function(e,s){i(e,s,t)}};let lQ=cQ=class{constructor(t,i,e){this._options=t,this._languageService=i,this._openerService=e,this._onDidRenderAsync=new de,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(t,i,e){if(!t)return{element:document.createElement("span"),dispose:()=>{}};const s=new Xi,n=s.add(oN(t,{...this._getRenderOptions(t,s),...i},e));return n.element.classList.add("rendered-markdown"),{element:n.element,dispose:()=>s.dispose()}}_getRenderOptions(t,i){return{codeBlockRenderer:async(t,i)=>{var e,s,n;let o;t?o=this._languageService.getLanguageIdByLanguageName(t):this._options.editor&&(o=null===(e=this._options.editor.getModel())||void 0===e?void 0:e.getLanguageId()),o||(o=Ud);const r=await async function(t,i,e){if(!e)return SF(i,t.languageIdCodec,xF);const s=await Zs.getOrCreate(e);return SF(i,t.languageIdCodec,s||xF)}(this._languageService,i,o),h=document.createElement("span");return h.innerHTML=null!==(n=null===(s=cQ._ttpTokenizer)||void 0===s?void 0:s.createHTML(r))&&void 0!==n?n:r,this._options.editor?ir(h,this._options.editor.getOption(50)):this._options.codeBlockFontFamily&&(h.style.fontFamily=this._options.codeBlockFontFamily),void 0!==this._options.codeBlockFontSize&&(h.style.fontSize=this._options.codeBlockFontSize),h},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>uQ(this._openerService,i,t.isTrusted),disposables:i}}}};async function uQ(t,i,e){try{return await t.open(i,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:dQ(e)})}catch(t){return Bi(t),!1}}function dQ(t){return!0===t||!(!t||!Array.isArray(t.enabledCommands))&&t.enabledCommands}lQ._ttpTokenizer=Mu("tokenizeToString",{createHTML:t=>t}),lQ=cQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([aQ(1,yd),aQ(2,dP)],lQ);var fQ,pQ=function(t,i){return function(e,s){i(e,s,t)}};let gQ=fQ=class{static get(t){return t.getContribution(fQ.ID)}constructor(t,i,e){this._openerService=e,this._messageWidget=new ie,this._messageListeners=new Xi,this._mouseOverMessage=!1,this._editor=t,this._visible=fQ.MESSAGE_VISIBLE.bindTo(i)}dispose(){var t;null===(t=this._message)||void 0===t||t.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(t,i){let e;Pm(P_(t)?t.value:t),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=P_(t)?oN(t,{actionHandler:{callback:i=>uQ(this._openerService,i,P_(t)?t.isTrusted:void 0),disposables:this._messageListeners}}):void 0,this._messageWidget.value=new mQ(this._editor,i,"string"==typeof t?t:this._message.element),this._messageListeners.add(he.debounce(this._editor.onDidBlurEditorText,((t,i)=>i),0)((()=>{this._mouseOverMessage||this._messageWidget.value&&al(pl(),this._messageWidget.value.getDomNode())||this.closeMessage()}))),this._messageListeners.add(this._editor.onDidChangeCursorPosition((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidDispose((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidChangeModel((()=>this.closeMessage()))),this._messageListeners.add(Va(this._messageWidget.value.getDomNode(),Ll.MOUSE_ENTER,(()=>this._mouseOverMessage=!0),!0)),this._messageListeners.add(Va(this._messageWidget.value.getDomNode(),Ll.MOUSE_LEAVE,(()=>this._mouseOverMessage=!1),!0)),this._messageListeners.add(this._editor.onMouseMove((t=>{t.target.position&&(e?e.containsPosition(t.target.position)||this.closeMessage():e=new Ms(i.lineNumber-3,1,t.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(mQ.fadeOut(this._messageWidget.value))}};gQ.ID="editor.contrib.messageController",gQ.MESSAGE_VISIBLE=new ch("messageVisible",!1,ot(0,"Whether the editor is currently showing an inline message")),gQ=fQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([pQ(1,ah),pQ(2,dP)],gQ),hu(new(eu.bindToContribution(gQ.get))({id:"leaveEditorMessage",precondition:gQ.MESSAGE_VISIBLE,handler:t=>t.closeMessage(),kbOpts:{weight:130,primary:9}}));class mQ{static fadeOut(t){const i=()=>{t.dispose(),clearTimeout(e),t.getDomNode().removeEventListener("animationend",i)},e=setTimeout(i,110);return t.getDomNode().addEventListener("animationend",i),t.getDomNode().classList.add("fadeOut"),{dispose:i}}constructor(t,{lineNumber:i,column:e},s){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=t,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:e},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const n=document.createElement("div");n.classList.add("anchor","top"),this._domNode.appendChild(n);const o=document.createElement("div");"string"==typeof s?(o.classList.add("message"),o.textContent=s):(s.classList.add("message"),o.appendChild(s)),this._domNode.appendChild(o);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(t){this._domNode.classList.toggle("below",2===t)}}lu(gQ.ID,gQ,4);var wQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},vQ=function(t,i){return function(e,s){i(e,s,t)}};const bQ="acceptSelectedCodeAction",yQ="previewSelectedCodeAction";class kQ{get templateId(){return"header"}renderTemplate(t){t.classList.add("group-header");const i=document.createElement("span");return t.append(i),{container:t,text:i}}renderElement(t,i,e){var s,n;e.text.textContent=null!==(n=null===(s=t.group)||void 0===s?void 0:s.title)&&void 0!==n?n:""}disposeTemplate(t){}}let xQ=class{get templateId(){return"action"}constructor(t,i){this._supportsPreview=t,this._keybindingService=i}renderTemplate(t){t.classList.add(this.templateId);const i=document.createElement("div");i.className="icon",t.append(i);const e=document.createElement("span");return e.className="title",t.append(e),{container:t,icon:i,text:e,keybinding:new Xj(t,It)}}renderElement(t,i,e){var s,n,o;if((null===(s=t.group)||void 0===s?void 0:s.icon)?(e.icon.className=Cr.asClassName(t.group.icon),t.group.icon.color&&(e.icon.style.color=aw(t.group.icon.color.id))):(e.icon.className=Cr.asClassName(Os.lightBulb),e.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!t.item||!t.label)return;e.text.textContent=AQ(t.label),e.keybinding.set(t.keybinding),function(t,...i){t?Wl(...i):jl(...i)}(!!t.keybinding,e.keybinding.element);const r=null===(n=this._keybindingService.lookupKeybinding(bQ))||void 0===n?void 0:n.getLabel(),h=null===(o=this._keybindingService.lookupKeybinding(yQ))||void 0===o?void 0:o.getLabel();e.container.classList.toggle("option-disabled",t.disabled),e.container.title=t.disabled?t.label:r&&h?this._supportsPreview&&t.canPreview?ot(0,"{0} to apply, {1} to preview",r,h):ot(0,"{0} to apply",r):""}disposeTemplate(t){}};xQ=wQ([vQ(1,oC)],xQ);class CQ extends UIEvent{constructor(){super("acceptSelectedAction")}}class SQ extends UIEvent{constructor(){super("previewSelectedAction")}}function DQ(t){if("action"===t.kind)return t.label}let EQ=class extends te{constructor(t,i,e,s,n,o){super(),this._delegate=s,this._contextViewService=n,this._keybindingService=o,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Ce),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList"),this._list=this._register(new aB(t,this.domNode,{getHeight:t=>"header"===t.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:t=>t.kind},[new xQ(i,this._keybindingService),new kQ],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:DQ},accessibilityProvider:{getAriaLabel:t=>{if("action"===t.kind){let i=t.label?AQ(null==t?void 0:t.label):"";return t.disabled&&(i=ot(0,"{0}, Disabled Reason: {1}",i,t.disabled)),i}return null},getWidgetAriaLabel:()=>ot(0,"Action Widget"),getRole:t=>"action"===t.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(BB),this._register(this._list.onMouseClick((t=>this.onListClick(t)))),this._register(this._list.onMouseOver((t=>this.onListHover(t)))),this._register(this._list.onDidChangeFocus((()=>this.onFocus()))),this._register(this._list.onDidChangeSelection((t=>this.onListSelection(t)))),this._allMenuItems=e,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(t){return!t.disabled&&"action"===t.kind}hide(t){this._delegate.onHide(t),this.cts.cancel(),this._contextViewService.hideContextView()}layout(t){const i=this._allMenuItems.filter((t=>"header"===t.kind)).length,e=this._allMenuItems.length*this._actionLineHeight+i*this._headerLineHeight-i*this._actionLineHeight;this._list.layout(e);let s=t;if(this._allMenuItems.length>=50)s=380;else{const i=this._allMenuItems.map(((t,i)=>{const e=this.domNode.ownerDocument.getElementById(this._list.getElementID(i));if(e){e.style.width="auto";const t=e.getBoundingClientRect().width;return e.style.width="",t}return 0}));s=Math.max(...i,t)}const n=Math.min(e,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(n,s),this.domNode.style.height=`${n}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(t){const i=this._list.getFocus();if(0===i.length)return;const e=i[0],s=this._list.element(e);if(!this.focusCondition(s))return;const n=t?new SQ:new CQ;this._list.setSelection([e],n)}onListSelection(t){if(!t.elements.length)return;const i=t.elements[0];i.item&&this.focusCondition(i)?this._delegate.onSelect(i.item,t.browserEvent instanceof SQ):this._list.setSelection([])}onFocus(){var t,i;this._list.domFocus();const e=this._list.getFocus();if(0===e.length)return;const s=this._list.element(e[0]);null===(i=(t=this._delegate).onFocus)||void 0===i||i.call(t,s.item)}async onListHover(t){const i=t.element;if(i&&i.item&&this.focusCondition(i)){if(this._delegate.onHover&&!i.disabled&&"action"===i.kind){const t=await this._delegate.onHover(i.item,this.cts.token);i.canPreview=t?t.canPreview:void 0}t.index&&this._list.splice(t.index,1,[i])}this._list.setFocus("number"==typeof t.index?[t.index]:[])}onListClick(t){t.element&&this.focusCondition(t.element)&&this._list.setFocus([])}};function AQ(t){return t.replace(/\r\n|\r|\n/g," ")}EQ=wQ([vQ(4,aI),vQ(5,oC)],EQ);var MQ=function(t,i){return function(e,s){i(e,s,t)}};dw("actionBar.toggledBackground",{dark:Ew,light:Ew,hcDark:Ew,hcLight:Ew},ot(0,"Background color for toggled action items in action bar."));const LQ={Visible:new ch("codeActionMenuVisible",!1,ot(0,"Whether the action widget list is visible"))},FQ=dr("actionWidgetService");let TQ=class extends te{get isVisible(){return LQ.Visible.getValue(this._contextKeyService)||!1}constructor(t,i,e){super(),this._contextViewService=t,this._contextKeyService=i,this._instantiationService=e,this._list=this._register(new ie)}show(t,i,e,s,n,o,r){const h=LQ.Visible.bindTo(this._contextKeyService),c=this._instantiationService.createInstance(EQ,t,i,e,s);this._contextViewService.showContextView({getAnchor:()=>n,render:t=>(h.set(!0),this._renderWidget(t,c,null!=r?r:[])),onHide:t=>{h.reset(),this._onWidgetClosed(t)}},o,!1)}acceptSelected(t){var i;null===(i=this._list.value)||void 0===i||i.acceptSelected(t)}focusPrevious(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusPrevious()}focusNext(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusNext()}hide(){var t;null===(t=this._list.value)||void 0===t||t.hide(),this._list.clear()}_renderWidget(t,i,e){var s;const n=document.createElement("div");if(n.classList.add("action-widget"),t.appendChild(n),this._list.value=i,!this._list.value)throw new Error("List has no value");n.appendChild(this._list.value.domNode);const o=new Xi,r=document.createElement("div"),h=t.appendChild(r);h.classList.add("context-view-block"),o.add(Va(h,Ll.MOUSE_DOWN,(t=>t.stopPropagation())));const c=document.createElement("div"),a=t.appendChild(c);a.classList.add("context-view-pointerBlock"),o.add(Va(a,Ll.POINTER_MOVE,(()=>a.remove()))),o.add(Va(a,Ll.MOUSE_DOWN,(()=>a.remove())));let l=0;if(e.length){const t=this._createActionBar(".action-widget-action-bar",e);t&&(n.appendChild(t.getContainer().parentElement),o.add(t),l=t.getContainer().offsetWidth)}const u=null===(s=this._list.value)||void 0===s?void 0:s.layout(l);n.style.width=`${u}px`;const d=o.add(Rl(t));return o.add(d.onDidBlur((()=>this.hide()))),o}_createActionBar(t,i){if(!i.length)return;const e=$l(t),s=new YB(e);return s.push(i,{icon:!1,label:!0}),s}_onWidgetClosed(t){var i;null===(i=this._list.value)||void 0===i||i.hide(t)}};TQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([MQ(0,aI),MQ(1,ah),MQ(2,ur)],TQ),Cd(FQ,TQ,1);const RQ=1100;$h(class extends Ph{constructor(){super({id:"hideCodeActionWidget",title:{value:ot(0,"Hide action widget"),original:"Hide action widget"},precondition:LQ.Visible,keybinding:{weight:RQ,primary:9,secondary:[1033]}})}run(t){t.get(FQ).hide()}}),$h(class extends Ph{constructor(){super({id:"selectPrevCodeAction",title:{value:ot(0,"Select previous action"),original:"Select previous action"},precondition:LQ.Visible,keybinding:{weight:RQ,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(t){const i=t.get(FQ);i instanceof TQ&&i.focusPrevious()}}),$h(class extends Ph{constructor(){super({id:"selectNextCodeAction",title:{value:ot(0,"Select next action"),original:"Select next action"},precondition:LQ.Visible,keybinding:{weight:RQ,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(t){const i=t.get(FQ);i instanceof TQ&&i.focusNext()}}),$h(class extends Ph{constructor(){super({id:bQ,title:{value:ot(0,"Accept selected action"),original:"Accept selected action"},precondition:LQ.Visible,keybinding:{weight:RQ,primary:3,secondary:[2137]}})}run(t){const i=t.get(FQ);i instanceof TQ&&i.acceptSelected()}}),$h(class extends Ph{constructor(){super({id:yQ,title:{value:ot(0,"Preview selected action"),original:"Preview selected action"},precondition:LQ.Visible,keybinding:{weight:RQ,primary:2051}})}run(t){const i=t.get(FQ);i instanceof TQ&&i.acceptSelected(!0)}});const OQ=new ch("supportedCodeAction","");class IQ extends te{constructor(t,i,e,s=250){super(),this._editor=t,this._markerService=i,this._signalChange=e,this._delay=s,this._autoTriggerTimer=this._register(new dc),this._register(this._markerService.onMarkerChanged((t=>this._onMarkerChanges(t)))),this._register(this._editor.onDidChangeCursorPosition((()=>this._tryAutoTrigger())))}trigger(t){const i=this._getRangeOfSelectionUnlessWhitespaceEnclosed(t);this._signalChange(i?{trigger:t,selection:i}:void 0)}_onMarkerChanges(t){const i=this._editor.getModel();i&&t.some((t=>wA(t,i.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:BZ.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(t){var i;if(!this._editor.hasModel())return;const e=this._editor.getModel(),s=this._editor.getSelection();if(s.isEmpty()&&2===t.type){const{lineNumber:t,column:n}=s.getPosition(),o=e.getLineContent(t);if(0===o.length){if((null===(i=this._editor.getOption(64).experimental)||void 0===i?void 0:i.showAiIcon)!==mi.On)return}else if(1===n){if(/\s/.test(o[0]))return}else if(n===e.getLineMaxColumn(t)){if(/\s/.test(o[o.length-1]))return}else if(/\s/.test(o[n-2])&&/\s/.test(o[n-1]))return}return s}}var _Q;!function(t){t.Empty={type:0},t.Triggered=class{constructor(t,i,e){this.trigger=t,this.position=i,this._cancellablePromise=e,this.type=1,this.actions=e.catch((t=>{if(ji(t))return NQ;throw t}))}cancel(){this._cancellablePromise.cancel()}}}(_Q||(_Q={}));const NQ=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class BQ extends te{constructor(t,i,e,s,n,o){super(),this._editor=t,this._registry=i,this._markerService=e,this._progressService=n,this._configurationService=o,this._codeActionOracle=this._register(new ie),this._state=_Q.Empty,this._onDidChangeState=this._register(new de),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=OQ.bindTo(s),this._register(this._editor.onDidChangeModel((()=>this._update()))),this._register(this._editor.onDidChangeModelLanguage((()=>this._update()))),this._register(this._registry.onDidChange((()=>this._update()))),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(_Q.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:null==i?void 0:i.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(_Q.Empty);const t=this._editor.getModel();if(t&&this._registry.has(t)&&!this._editor.getOption(90)){const i=this._registry.all(t).flatMap((t=>{var i;return null!==(i=t.providedCodeActionKinds)&&void 0!==i?i:[]}));this._supportedCodeActions.set(i.join(" ")),this._codeActionOracle.value=new IQ(this._editor,this._markerService,(i=>{var e;if(!i)return void this.setState(_Q.Empty);const s=i.selection.getStartPosition(),n=nc((async e=>{var s,n,o,r,h,c;if(this._settingEnabledNearbyQuickfixes()&&1===i.trigger.type&&(i.trigger.triggerAction===BZ.QuickFix||(null===(n=null===(s=i.trigger.filter)||void 0===s?void 0:s.include)||void 0===n?void 0:n.contains(NZ.QuickFix)))){const s=await QZ(this._registry,t,i.selection,i.trigger,jO.None,e),n=[...s.allActions];if(e.isCancellationRequested)return NQ;if(!(null===(o=s.validActions)||void 0===o?void 0:o.some((t=>!!t.action.kind&&NZ.QuickFix.contains(new NZ(t.action.kind)))))){const o=this._markerService.read({resource:t.uri});if(o.length>0){const a=i.selection.getPosition();let l=a,u=Number.MAX_VALUE;const d=[...s.validActions];for(const f of o){const o=f.endColumn,p=f.endLineNumber;if(p===a.lineNumber||f.startLineNumber===a.lineNumber){l=new As(p,o);const f={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(null===(r=i.trigger.filter)||void 0===r?void 0:r.include)?null===(h=i.trigger.filter)||void 0===h?void 0:h.include:NZ.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:(null===(c=i.trigger.context)||void 0===c?void 0:c.notAvailableMessage)||"",position:l}},g=new Ls(l.lineNumber,l.column,l.lineNumber,l.column),m=await QZ(this._registry,t,g,f,jO.None,e);if(0!==m.validActions.length){for(const t of m.validActions)t.highlightRange=t.action.isPreferred;0===s.allActions.length&&n.push(...m.allActions),Math.abs(a.column-o)e.findIndex((i=>i.action.title===t.action.title))===i));return f.sort(((t,i)=>t.action.isPreferred&&!i.action.isPreferred?-1:!t.action.isPreferred&&i.action.isPreferred||t.action.isAI&&!i.action.isAI?1:!t.action.isAI&&i.action.isAI?-1:0)),{validActions:f,allActions:n,documentation:s.documentation,hasAutoFix:s.hasAutoFix,hasAIFix:s.hasAIFix,allAIFixes:s.allAIFixes,dispose:()=>{s.dispose()}}}}}return QZ(this._registry,t,i.selection,i.trigger,jO.None,e)}));1===i.trigger.type&&(null===(e=this._progressService)||void 0===e||e.showWhile(n,250)),this.setState(new _Q.Triggered(i.trigger,s,n))}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:BZ.Default})}else this._supportedCodeActions.reset()}trigger(t){var i;null===(i=this._codeActionOracle.value)||void 0===i||i.trigger(t)}setState(t,i){t!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=t,i||this._disposed||this._onDidChangeState.fire(t))}}var PQ,$Q=function(t,i){return function(e,s){i(e,s,t)}};let WQ=PQ=class extends te{static get(t){return t.getContribution(PQ.ID)}constructor(t,i,e,s,n,o,r,h,c,a){super(),this._commandService=r,this._configurationService=h,this._actionWidgetService=c,this._instantiationService=a,this._activeCodeActions=this._register(new ie),this._showDisabled=!1,this._disposed=!1,this._editor=t,this._model=this._register(new BQ(this._editor,n.codeActionProvider,i,e,o,h)),this._register(this._model.onDidChangeState((t=>this.update(t)))),this._lightBulbWidget=new zn((()=>{const t=this._editor.getContribution(hQ.ID);return t&&this._register(t.onClick((t=>this.showCodeActionList(t.actions,t,{includeDisabledActions:!1,fromLightbulb:!0})))),t})),this._resolver=s.createInstance(iQ),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=!0,super.dispose()}showCodeActions(t,i,e){return this.showCodeActionList(i,e,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(t,i,e,s){var n;if(!this._editor.hasModel())return;null===(n=gQ.get(this._editor))||void 0===n||n.closeMessage();const o=this._editor.getPosition();this._trigger({type:1,triggerAction:i,filter:e,autoApply:s,context:{notAvailableMessage:t,position:o}})}_trigger(t){return this._model.trigger(t)}async _applyCodeAction(t,i,e){try{await this._instantiationService.invokeFunction(XZ,t,YZ.FromCodeActions,{preview:e,editor:this._editor})}finally{i&&this._trigger({type:2,triggerAction:BZ.QuickFix,filter:{}})}}async update(t){var i,e,s,n,o,r,h;if(1!==t.type)return void(null===(i=this._lightBulbWidget.rawValue)||void 0===i||i.hide());let c;try{c=await t.actions}catch(t){return void Bi(t)}if(!this._disposed)if(null===(e=this._lightBulbWidget.value)||void 0===e||e.update(c,t.trigger,t.position),1===t.trigger.type){if(null===(s=t.trigger.filter)||void 0===s?void 0:s.include){const i=this.tryGetValidActionToApply(t.trigger,c);if(i){try{null===(n=this._lightBulbWidget.value)||void 0===n||n.hide(),await this._applyCodeAction(i,!1,!1)}finally{c.dispose()}return}if(t.trigger.context){const i=this.getInvalidActionThatWouldHaveBeenApplied(t.trigger,c);if(i&&i.action.disabled)return null===(o=gQ.get(this._editor))||void 0===o||o.showMessage(i.action.disabled,t.trigger.context.position),void c.dispose()}}const i=!!(null===(r=t.trigger.filter)||void 0===r?void 0:r.include);if(t.trigger.context&&(!c.allActions.length||!i&&!c.validActions.length))return null===(h=gQ.get(this._editor))||void 0===h||h.showMessage(t.trigger.context.notAvailableMessage,t.trigger.context.position),this._activeCodeActions.value=c,void c.dispose();this._activeCodeActions.value=c,this.showCodeActionList(c,this.toCoords(t.position),{includeDisabledActions:i,fromLightbulb:!1})}else this._actionWidgetService.isVisible?c.dispose():this._activeCodeActions.value=c}getInvalidActionThatWouldHaveBeenApplied(t,i){if(i.allActions.length)return"first"===t.autoApply&&0===i.validActions.length||"ifSingle"===t.autoApply&&1===i.allActions.length?i.allActions.find((({action:t})=>t.disabled)):void 0}tryGetValidActionToApply(t,i){if(i.validActions.length)return"first"===t.autoApply&&i.validActions.length>0||"ifSingle"===t.autoApply&&1===i.validActions.length?i.validActions[0]:void 0}async showCodeActionList(t,i,e){const s=this._editor.createDecorationsCollection(),n=this._editor.getDomNode();if(!n)return;const o=e.includeDisabledActions&&(this._showDisabled||0===t.validActions.length)?t.allActions:t.validActions;if(!o.length)return;const r=As.isIPosition(i)?this.toCoords(i):i,h={onSelect:async(t,i)=>{this._applyCodeAction(t,!0,!!i),this._actionWidgetService.hide(),s.clear()},onHide:()=>{var t;null===(t=this._editor)||void 0===t||t.focus(),s.clear()},onHover:async(t,i)=>{var e;if(await t.resolve(i),!i.isCancellationRequested)return{canPreview:!!(null===(e=t.action.edit)||void 0===e?void 0:e.edits.length)}},onFocus:t=>{var i,e;if(t&&t.highlightRange&&t.action.diagnostics){s.set([{range:t.action.diagnostics[0],options:PQ.DECORATION}]);const n=t.action.diagnostics[0];$m(ot(0,"Context: {0} at line {1} and column {2}.",null===(e=null===(i=this._editor.getModel())||void 0===i?void 0:i.getWordAtPosition({lineNumber:n.startLineNumber,column:n.startColumn}))||void 0===e?void 0:e.word,n.startLineNumber,n.startColumn))}else s.clear()}};this._actionWidgetService.show("codeActionWidget",!0,function(t,i,e){if(!i)return t.map((t=>{var i;return{kind:"action",item:t,group:eQ,disabled:!!t.action.disabled,label:t.action.disabled||t.action.title,canPreview:!!(null===(i=t.action.edit)||void 0===i?void 0:i.edits.length)}}));const s=sQ.map((t=>({group:t,actions:[]})));for(const i of t){const t=i.action.kind?new NZ(i.action.kind):NZ.None;for(const e of s)if(e.group.kind.contains(t)){e.actions.push(i);break}}const n=[];for(const t of s)if(t.actions.length){n.push({kind:"header",group:t.group});for(const i of t.actions){const s=t.group;n.push({kind:"action",item:i,group:i.action.isAI?{title:s.title,kind:s.kind,icon:Os.sparkle}:s,label:i.action.title,disabled:!!i.action.disabled,keybinding:e(i.action)})}}return n}(o,this._shouldShowHeaders(),this._resolver.getResolver()),h,r,n,this._getActionBarActions(t,i,e))}toCoords(t){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(t,1),this._editor.render();const i=this._editor.getScrolledVisiblePosition(t),e=nl(this._editor.getDomNode());return{x:e.left+i.left,y:e.top+i.top+i.height}}_shouldShowHeaders(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:null==i?void 0:i.uri})}_getActionBarActions(t,i,e){if(e.fromLightbulb)return[];const s=t.documentation.map((t=>{var i;return{id:t.id,label:t.title,tooltip:null!==(i=t.tooltip)&&void 0!==i?i:"",class:void 0,enabled:!0,run:()=>{var i;return this._commandService.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}}}));return e.includeDisabledActions&&t.validActions.length>0&&t.allActions.length!==t.validActions.length&&s.push(this._showDisabled?{id:"hideMoreActions",label:ot(0,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(t,i,e))}:{id:"showMoreActions",label:ot(0,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(t,i,e))}),s}};function jQ(t){return zr.regex(OQ.keys()[0],new RegExp("(\\s|^)"+Gn(t.value)+"\\b"))}WQ.ID="editor.contrib.codeActionController",WQ.DECORATION=AL.register({description:"quickfix-highlight",className:"quickfix-edit-highlight"}),WQ=PQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([$Q(1,kP),$Q(2,ah),$Q(3,ur),$Q(4,xg),$Q(5,zO),$Q(6,Sr),$Q(7,pd),$Q(8,FQ),$Q(9,ur)],WQ),nx(((t,i)=>{((t,e)=>{e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { background-color: ${e}; }`)})(0,t.getColor(Lv));const e=t.getColor(Rv);e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${zy(t.type)?"dotted":"solid"} ${e}; box-sizing: border-box; }`)}));const zQ={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:ot(0,"Kind of the code action to run.")},apply:{type:"string",description:ot(0,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[ot(0,"Always apply the first returned code action."),ot(0,"Apply the first returned code action if it is the only one."),ot(0,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:ot(0,"Controls if only preferred code actions should be returned.")}}};function HQ(t,i,e,s,n=BZ.Default){if(t.hasModel()){const o=WQ.get(t);null==o||o.manualTriggerAtCurrentPosition(i,n,e,s)}}lu(WQ.ID,WQ,3),lu(hQ.ID,hQ,4),cu(class extends su{constructor(){super({id:zZ,label:ot(0,"Quick Fix..."),alias:"Quick Fix...",precondition:zr.and(YC.writable,YC.hasCodeActionsProvider),kbOpts:{kbExpr:YC.textInputFocus,primary:2137,weight:100}})}run(t,i){return HQ(i,ot(0,"No code actions available"),void 0,void 0,BZ.QuickFix)}}),cu(class extends su{constructor(){super({id:VZ,label:ot(0,"Refactor..."),alias:"Refactor...",precondition:zr.and(YC.writable,YC.hasCodeActionsProvider),kbOpts:{kbExpr:YC.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:zr.and(YC.writable,jQ(NZ.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:zQ}]}})}run(t,i,e){const s=$Z.fromUser(e,{kind:NZ.Refactor,apply:"never"});return HQ(i,"string"==typeof(null==e?void 0:e.kind)?ot(0,s.preferred?"No preferred refactorings for '{0}' available":"No refactorings for '{0}' available",e.kind):ot(0,s.preferred?"No preferred refactorings available":"No refactorings available"),{include:NZ.Refactor.contains(s.kind)?s.kind:NZ.None,onlyIncludePreferredActions:s.preferred},s.apply,BZ.Refactor)}}),cu(class extends su{constructor(){super({id:UZ,label:ot(0,"Source Action..."),alias:"Source Action...",precondition:zr.and(YC.writable,YC.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:zr.and(YC.writable,jQ(NZ.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:zQ}]}})}run(t,i,e){const s=$Z.fromUser(e,{kind:NZ.Source,apply:"never"});return HQ(i,"string"==typeof(null==e?void 0:e.kind)?ot(0,s.preferred?"No preferred source actions for '{0}' available":"No source actions for '{0}' available",e.kind):ot(0,s.preferred?"No preferred source actions available":"No source actions available"),{include:NZ.Source.contains(s.kind)?s.kind:NZ.None,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply,BZ.SourceAction)}}),cu(class extends su{constructor(){super({id:qZ,label:ot(0,"Organize Imports"),alias:"Organize Imports",precondition:zr.and(YC.writable,jQ(NZ.SourceOrganizeImports)),kbOpts:{kbExpr:YC.textInputFocus,primary:1581,weight:100}})}run(t,i){return HQ(i,ot(0,"No organize imports action available"),{include:NZ.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",BZ.OrganizeImports)}}),cu(class extends su{constructor(){super({id:HZ,label:ot(0,"Auto Fix..."),alias:"Auto Fix...",precondition:zr.and(YC.writable,jQ(NZ.QuickFix)),kbOpts:{kbExpr:YC.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(t,i){return HQ(i,ot(0,"No auto fixes available"),{include:NZ.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",BZ.AutoFix)}}),cu(class extends su{constructor(){super({id:KZ,label:ot(0,"Fix All"),alias:"Fix All",precondition:zr.and(YC.writable,jQ(NZ.SourceFixAll))})}run(t,i){return HQ(i,ot(0,"No fix all action available"),{include:NZ.SourceFixAll,includeSourceActions:!0},"ifSingle",BZ.FixAll)}}),hu(new class extends eu{constructor(){super({id:jZ,precondition:zr.and(YC.writable,YC.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:zQ}]}})}runEditorCommand(t,i,e){const s=$Z.fromUser(e,{kind:NZ.Empty,apply:"ifSingle"});return HQ(i,"string"==typeof(null==e?void 0:e.kind)?ot(0,s.preferred?"No preferred code actions for '{0}' available":"No code actions for '{0}' available",e.kind):ot(0,s.preferred?"No preferred code actions available":"No code actions available"),{include:s.kind,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply)}}),Dh.as(Md).registerConfiguration({...aO,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:ot(0,"Enable/disable showing group headers in the Code Action menu."),default:!0}}}),Dh.as(Md).registerConfiguration({...aO,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:ot(0,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});class VQ{constructor(){this.lenses=[],this._disposables=new Xi}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(t,i){this._disposables.add(t);for(const e of t.lenses)this.lenses.push({symbol:e,provider:i})}}async function UQ(t,i,e){const s=t.ordered(i),n=new Map,o=new VQ,r=s.map((async(t,s)=>{n.set(t,s);try{const s=await Promise.resolve(t.provideCodeLenses(i,e));s&&o.add(s,t)}catch(t){Pi(t)}}));return await Promise.all(r),o.lenses=o.lenses.sort(((t,i)=>t.symbol.range.startLineNumberi.symbol.range.startLineNumber?1:n.get(t.provider)n.get(i.provider)?1:t.symbol.range.startColumni.symbol.range.startColumn?1:0)),o}Dr.registerCommand("_executeCodeLensProvider",(function(t,...i){let[e,s]=i;q(ms.isUri(e)),q("number"==typeof s||!s);const{codeLensProvider:n}=t.get(xg),o=t.get(pr).getModel(e);if(!o)throw Hi();const r=[],h=new Xi;return UQ(n,o,ke.None).then((t=>{h.add(t);const i=[];for(const e of t.lenses)null==s||Boolean(e.symbol.command)?r.push(e.symbol):s-- >0&&e.provider.resolveCodeLens&&i.push(Promise.resolve(e.provider.resolveCodeLens(o,e.symbol,ke.None)).then((t=>r.push(t||e.symbol))));return Promise.all(i)})).then((()=>r)).finally((()=>{setTimeout((()=>h.dispose()),100)}))}));const qQ=dr("ICodeLensCache");class KQ{constructor(t,i){this.lineCount=t,this.data=i}}let GQ=class{constructor(t){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Vp(20,.75),Ka($n,(()=>t.remove("codelens/cache",1)));const i="codelens/cache2",e=t.get(i,1,"{}");this._deserialize(e),he.once(t.onWillSaveState)((e=>{e.reason===MB.SHUTDOWN&&t.store(i,this._serialize(),1,1)}))}put(t,i){const e=i.lenses.map((t=>{var i;return{range:t.symbol.range,command:t.symbol.command&&{id:"",title:null===(i=t.symbol.command)||void 0===i?void 0:i.title}}})),s=new VQ;s.add({lenses:e,dispose:()=>{}},this._fakeProvider);const n=new KQ(t.getLineCount(),s);this._cache.set(t.uri.toString(),n)}get(t){const i=this._cache.get(t.uri.toString());return i&&i.lineCount===t.getLineCount()?i.data:void 0}delete(t){this._cache.delete(t.uri.toString())}_serialize(){const t=Object.create(null);for(const[i,e]of this._cache){const s=new Set;for(const t of e.data.lenses)s.add(t.symbol.range.startLineNumber);t[i]={lineCount:e.lineCount,lines:[...s.values()]}}return JSON.stringify(t)}_deserialize(t){try{const i=JSON.parse(t);for(const t in i){const e=i[t],s=[];for(const t of e.lines)s.push({range:new Ms(t,1,t,11)});const n=new VQ;n.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(t,new KQ(e.lineCount,n))}}catch(t){}}};GQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,AB)],GQ),Cd(qQ,GQ,1);class ZQ{constructor(t,i,e){this.afterColumn=1073741824,this.afterLineNumber=t,this.heightInPx=i,this._onHeight=e,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(t){void 0===this._lastHeight?this._lastHeight=t:this._lastHeight!==t&&(this._lastHeight=t,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class QQ{constructor(t,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id="codelens.widget-"+QQ._idPool++,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(t,i){this._commands.clear();const e=[];let s=!1;for(let i=0;i{t.symbol.command&&h.push(t.symbol),e.addDecoration({range:t.symbol.range,options:YQ},(t=>this._decorationIds[i]=t)),r=r?Ms.plusRange(r,t.symbol.range):Ms.lift(t.symbol.range)})),this._viewZone=new ZQ(r.startLineNumber-1,n,o),this._viewZoneId=s.addZone(this._viewZone),h.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(h,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new QQ(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(t,i){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],null==i||i.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some(((t,i)=>{const e=this._editor.getModel().getDecorationRange(t);return!(!e||Ms.isEmpty(this._data[i].symbol.range)!==e.isEmpty())}))}updateCodeLensSymbols(t,i){this._decorationIds.forEach(i.removeDecoration,i),this._decorationIds=[],this._data=t,this._data.forEach(((t,e)=>{i.addDecoration({range:t.symbol.range,options:YQ},(t=>this._decorationIds[e]=t))}))}updateHeight(t,i){this._viewZone.heightInPx=t,i.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(t){if(!this._viewZone.isVisible())return null;for(let i=0;ithis._resolveCodeLensesInViewport()),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(50)||t.hasChanged(19)||t.hasChanged(18))&&this._updateLensStyle(),t.hasChanged(17)&&this._onModelChange()}))),this._disposables.add(i.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var t;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),null===(t=this._currentCodeLensModel)||void 0===t||t.dispose()}_getLayoutInfo(){const t=Math.max(1.3,this._editor.getOption(66)/this._editor.getOption(52));let i=this._editor.getOption(19);return(!i||i<5)&&(i=.9*this._editor.getOption(52)|0),{fontSize:i,codeLensHeight:i*t|0}}_updateLensStyle(){const{codeLensHeight:t,fontSize:i}=this._getLayoutInfo(),e=this._editor.getOption(18),s=this._editor.getOption(50),{style:n}=this._editor.getContainerDomNode();n.setProperty("--vscode-editorCodeLens-lineHeight",`${t}px`),n.setProperty("--vscode-editorCodeLens-fontSize",`${i}px`),n.setProperty("--vscode-editorCodeLens-fontFeatureSettings",s.fontFeatureSettings),e&&(n.setProperty("--vscode-editorCodeLens-fontFamily",e),n.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Ri.fontFamily)),this._editor.changeViewZones((i=>{for(const e of this._lenses)e.updateHeight(t,i)}))}_localDispose(){var t,i,e;null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=void 0,null===(i=this._resolveCodeLensesPromise)||void 0===i||i.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(e=this._currentCodeLensModel)||void 0===e||e.dispose()}_onModelChange(){this._localDispose();const t=this._editor.getModel();if(!t)return;if(!this._editor.getOption(17)||t.isTooLargeForTokenization())return;const i=this._codeLensCache.get(t);if(i&&this._renderCodeLensSymbols(i),!this._languageFeaturesService.codeLensProvider.has(t))return void(i&&lc((()=>{const e=this._codeLensCache.get(t);i===e&&(this._codeLensCache.delete(t),this._onModelChange())}),3e4,this._localToDispose));for(const i of this._languageFeaturesService.codeLensProvider.all(t))if("function"==typeof i.onDidChange){const t=i.onDidChange((()=>e.schedule()));this._localToDispose.add(t)}const e=new pc((()=>{var i;const s=Date.now();null===(i=this._getCodeLensModelPromise)||void 0===i||i.cancel(),this._getCodeLensModelPromise=nc((i=>UQ(this._languageFeaturesService.codeLensProvider,t,i))),this._getCodeLensModelPromise.then((i=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=i,this._codeLensCache.put(t,i);const n=this._provideCodeLensDebounce.update(t,Date.now()-s);e.delay=n,this._renderCodeLensSymbols(i),this._resolveCodeLensesInViewportSoon()}),Bi)}),this._provideCodeLensDebounce.get(t));this._localToDispose.add(e),this._localToDispose.add(Yi((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{var t;this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const e=[];let s=-1;this._lenses.forEach((t=>{t.isValid()&&s!==t.getLineNumber()?(t.update(i),s=t.getLineNumber()):e.push(t)}));const n=new JQ;e.forEach((t=>{t.dispose(n,i),this._lenses.splice(this._lenses.indexOf(t),1)})),n.commit(t)}))})),e.schedule(),this._resolveCodeLensesScheduler.cancel(),null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0}))),this._localToDispose.add(this._editor.onDidFocusEditorWidget((()=>{e.schedule()}))),this._localToDispose.add(this._editor.onDidBlurEditorText((()=>{e.cancel()}))),this._localToDispose.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(Yi((()=>{if(this._editor.getModel()){const t=iU.capture(this._editor);this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{this._disposeAllLenses(t,i)}))})),t.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((t=>{if(9!==t.target.type)return;let i=t.target.element;if("SPAN"===(null==i?void 0:i.tagName)&&(i=i.parentElement),"A"===(null==i?void 0:i.tagName))for(const t of this._lenses){const e=t.getCommand(i);if(e){this._commandService.executeCommand(e.id,...e.arguments||[]).catch((t=>this._notificationService.error(t)));break}}}))),e.schedule()}_disposeAllLenses(t,i){const e=new JQ;for(const t of this._lenses)t.dispose(e,i);t&&e.commit(t),this._lenses.length=0}_renderCodeLensSymbols(t){if(!this._editor.hasModel())return;const i=this._editor.getModel().getLineCount(),e=[];let s;for(const n of t.lenses){const t=n.symbol.range.startLineNumber;t<1||t>i||(s&&s[s.length-1].symbol.range.startLineNumber===t?s.push(n):(s=[n],e.push(s)))}if(!e.length&&!this._lenses.length)return;const n=iU.capture(this._editor),o=this._getLayoutInfo();this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const s=new JQ;let n=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),n++,r++)}for(;nthis._resolveCodeLensesInViewportSoon()))),r++;s.commit(t)}))})),n.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var t;null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0;const i=this._editor.getModel();if(!i)return;const e=[],s=[];if(this._lenses.forEach((t=>{const n=t.computeIfNecessary(i);n&&(e.push(n),s.push(t))})),0===e.length)return;const n=Date.now(),o=nc((t=>{const n=e.map(((e,n)=>{const o=new Array(e.length),r=e.map(((e,s)=>e.symbol.command||"function"!=typeof e.provider.resolveCodeLens?(o[s]=e.symbol,Promise.resolve(void 0)):Promise.resolve(e.provider.resolveCodeLens(i,e.symbol,t)).then((t=>{o[s]=t}),Pi)));return Promise.all(r).then((()=>{t.isCancellationRequested||s[n].isDisposed()||s[n].updateCommands(o)}))}));return Promise.all(n)}));this._resolveCodeLensesPromise=o,this._resolveCodeLensesPromise.then((()=>{const t=this._resolveCodeLensesDebounce.update(i,Date.now()-n);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(i,this._currentCodeLensModel),this._oldCodeLensModels.clear(),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(t=>{Bi(t),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}async getModel(){var t;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(null===(t=this._currentCodeLensModel)||void 0===t?void 0:t.isDisposed)?void 0:this._currentCodeLensModel}};iJ.ID="css.editor.codeLens",iJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([tJ(1,xg),tJ(2,gR),tJ(3,Sr),tJ(4,oT),tJ(5,qQ)],iJ),lu(iJ.ID,iJ,1),cu(class extends su{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:YC.hasCodeLensProvider,label:ot(0,"Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(t,i){if(!i.hasModel())return;const e=t.get(Oj),s=t.get(Sr),n=t.get(oT),o=i.getSelection().positionLineNumber,r=i.getContribution(iJ.ID);if(!r)return;const h=await r.getModel();if(!h)return;const c=[];for(const t of h.lenses)t.symbol.command&&t.symbol.range.startLineNumber===o&&c.push({label:t.symbol.command.title,command:t.symbol.command});if(0===c.length)return;const a=await e.pick(c,{canPickMany:!1,placeHolder:ot(0,"Select a command")});if(!a)return;let l=a.command;if(h.isDisposed){const t=await r.getModel(),i=null==t?void 0:t.lenses.find((t=>{var i;return t.symbol.range.startLineNumber===o&&(null===(i=t.symbol.command)||void 0===i?void 0:i.title)===l.title}));if(!i||!i.symbol.command)return;l=i.symbol.command}try{await s.executeCommand(l.id,...l.arguments||[])}catch(t){n.error(t)}}});var eJ=function(t,i){return function(e,s){i(e,s,t)}};class sJ{constructor(t,i){this._editorWorkerClient=new Tg(t,!1,"editorWorkerService",i)}async provideDocumentColors(t,i){return this._editorWorkerClient.computeDefaultDocumentColors(t.uri)}provideColorPresentations(t,i,e){const s=i.range,n=i.color,o=n.alpha,r=new lg(new hg(Math.round(255*n.red),Math.round(255*n.green),Math.round(255*n.blue),o)),h=o?lg.Format.CSS.formatRGB(r):lg.Format.CSS.formatRGBA(r),c=o?lg.Format.CSS.formatHSL(r):lg.Format.CSS.formatHSLA(r),a=o?lg.Format.CSS.formatHex(r):lg.Format.CSS.formatHexA(r),l=[];return l.push({label:h,textEdit:{range:s,text:h}}),l.push({label:c,textEdit:{range:s,text:c}}),l.push({label:a,textEdit:{range:s,text:a}}),l}}let nJ=class extends te{constructor(t,i,e){super(),this._register(e.colorProvider.register("*",new sJ(t,i)))}};async function oJ(t,i,e,s=!0){return lJ(new hJ,t,i,e,s)}function rJ(t,i,e,s){return Promise.resolve(e.provideColorPresentations(t,i,s))}nJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([eJ(0,pr),eJ(1,Xd),eJ(2,xg)],nJ),GH(nJ);class hJ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const i of n)s.push({colorInfo:i,provider:t});return Array.isArray(n)}}class cJ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const t of n)s.push({range:t.range,color:[t.color.red,t.color.green,t.color.blue,t.color.alpha]});return Array.isArray(n)}}class aJ{constructor(t){this.colorInfo=t}async compute(t,i,e,s){const n=await t.provideColorPresentations(i,this.colorInfo,ke.None);return Array.isArray(n)&&s.push(...n),Array.isArray(n)}}async function lJ(t,i,e,s,n){let o,r=!1;const h=[],c=i.ordered(e);for(let i=c.length-1;i>=0;i--){const n=c[i];if(n instanceof sJ)o=n;else try{await t.compute(n,e,s,h)&&(r=!0)}catch(t){Pi(t)}}return r?h:o&&n?(await t.compute(o,e,s,h),h):[]}function uJ(t,i){const{colorProvider:e}=t.get(xg),s=t.get(pr).getModel(i);if(!s)throw Hi();return{model:s,colorProviderRegistry:e,isDefaultColorDecoratorsEnabled:t.get(pd).getValue("editor.defaultColorDecorators",{resource:i})}}Dr.registerCommand("_executeDocumentColorProvider",(function(t,...i){const[e]=i;if(!(e instanceof ms))throw Hi();const{model:s,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:o}=uJ(t,e);return lJ(new cJ,n,s,ke.None,o)})),Dr.registerCommand("_executeColorPresentationProvider",(function(t,...i){const[e,s]=i,{uri:n,range:o}=s;if(!(n instanceof ms&&Array.isArray(e)&&4===e.length&&Ms.isIRange(o)))throw Hi();const{model:r,colorProviderRegistry:h,isDefaultColorDecoratorsEnabled:c}=uJ(t,n),[a,l,u,d]=e;return lJ(new aJ({range:o,color:{red:a,green:l,blue:u,alpha:d}}),h,r,ke.None,c)}));var dJ,fJ=function(t,i){return function(e,s){i(e,s,t)}};const pJ=Object.create({});let gJ=dJ=class extends te{constructor(t,i,e,s){super(),this._editor=t,this._configurationService=i,this._languageFeaturesService=e,this._localToDispose=this._register(new Xi),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new Ay(this._editor),this._decoratorLimitReporter=new mJ,this._colorDecorationClassRefs=this._register(new Xi),this._debounceInformation=s.for(e.colorProvider,"Document Colors",{min:dJ.RECOMPUTE_TIME}),this._register(t.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()}))),this._register(t.onDidChangeModelLanguage((()=>this.updateColors()))),this._register(e.colorProvider.onDidChange((()=>this.updateColors()))),this._register(t.onDidChangeConfiguration((t=>{const i=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145);const e=i!==this._isColorDecoratorsEnabled||t.hasChanged(21),s=t.hasChanged(145);(e||s)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145),this.updateColors()}isEnabled(){const t=this._editor.getModel();if(!t)return!1;const i=t.getLanguageId(),e=this._configurationService.getValue(i);if(e&&"object"==typeof e){const t=e.colorDecorators;if(t&&void 0!==t.enable&&!t.enable)return t.enable}return this._editor.getOption(20)}static get(t){return t.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const t=this._editor.getModel();t&&this._languageFeaturesService.colorProvider.has(t)&&(this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._timeoutTimer||(this._timeoutTimer=new dc,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(t)))}))),this.beginCompute())}async beginCompute(){this._computePromise=nc((async t=>{const i=this._editor.getModel();if(!i)return[];const e=new re(!1),s=await oJ(this._languageFeaturesService.colorProvider,i,t,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(i,e.elapsed()),s}));try{const t=await this._computePromise;this.updateDecorations(t),this.updateColorDecorators(t),this._computePromise=null}catch(t){Bi(t)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(t){const i=t.map((t=>({range:{startLineNumber:t.colorInfo.range.startLineNumber,startColumn:t.colorInfo.range.startColumn,endLineNumber:t.colorInfo.range.endLineNumber,endColumn:t.colorInfo.range.endColumn},options:AL.EMPTY})));this._editor.changeDecorations((e=>{this._decorationsIds=e.deltaDecorations(this._decorationsIds,i),this._colorDatas=new Map,this._decorationsIds.forEach(((i,e)=>this._colorDatas.set(i,t[e])))}))}updateColorDecorators(t){this._colorDecorationClassRefs.clear();const i=[],e=this._editor.getOption(21);for(let s=0;sthis._colorDatas.has(t.id)));return 0===e.length?null:this._colorDatas.get(e[0].id)}isColorDecoration(t){return this._colorDecoratorIds.has(t)}};gJ.ID="editor.contrib.colorDetector",gJ.RECOMPUTE_TIME=1e3,gJ=dJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([fJ(1,pd),fJ(2,xg),fJ(3,gR)],gJ);class mJ{constructor(){this._onDidChange=new de,this._computed=0,this._limited=!1}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}lu(gJ.ID,gJ,1);class wJ{get color(){return this._color}set color(t){this._color.equals(t)||(this._color=t,this._onDidChangeColor.fire(t))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(t){this._colorPresentations=t,this.presentationIndex>t.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(t,i,e){this.presentationIndex=e,this._onColorFlushed=new de,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new de,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new de,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=t,this._color=t,this._colorPresentations=i}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(t,i){let e=-1;for(let t=0;t{this.backgroundColor=t.getColor(Iv)||lg.white}))),this._register(Va(this._pickedColorNode,Ll.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(Va(this._originalColorNode,Ll.CLICK,(()=>{this.model.color=this.model.originalColor,this.model.flushColor()}))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this._register(i.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=lg.Format.CSS.format(i.color)||"",this._pickedColorNode.classList.toggle("light",i.color.rgba.a<.5?this.backgroundColor.isLighter():i.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new yJ(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(t){this._pickedColorNode.style.backgroundColor=lg.Format.CSS.format(t)||"",this._pickedColorNode.classList.toggle("light",t.rgba.a<.5?this.backgroundColor.isLighter():t.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class yJ extends te{constructor(t){super(),this._onClicked=this._register(new de),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Ol(t,this._button);const i=document.createElement("div");i.classList.add("close-button-inner-div"),Ol(this._button,i),Ol(i,vJ(".button"+Cr.asCSSSelector(Hz("color-picker-close",Os.close,ot(0,"Icon to close the color picker"))))).classList.add("close-icon"),this._button.onclick=()=>{this._onClicked.fire()}}}class kJ extends te{constructor(t,i,e,s=!1){super(),this.model=i,this.pixelRatio=e,this._insertButton=null,this._domNode=vJ(".colorpicker-body"),Ol(t,this._domNode),this._saturationBox=new xJ(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new SJ(this._domNode,this.model,s),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new DJ(this._domNode,this.model,s),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),s&&(this._insertButton=this._register(new EJ(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:t,v:i}){const e=this.model.color.hsva;this.model.color=new lg(new ag(e.h,t,i,e.a))}onDidOpacityChange(t){const i=this.model.color.hsva;this.model.color=new lg(new ag(i.h,i.s,i.v,t))}onDidHueChange(t){const i=this.model.color.hsva,e=360*(1-t);this.model.color=new lg(new ag(360===e?0:e,i.s,i.v,i.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class xJ extends te{constructor(t,i,e){super(),this.model=i,this.pixelRatio=e,this._onDidChange=new de,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new de,this.onColorFlushed=this._onColorFlushed.event,this._domNode=vJ(".saturation-wrap"),Ol(t,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Ol(this._domNode,this._canvas),this.selection=vJ(".saturation-selection"),Ol(this._domNode,this.selection),this.layout(),this._register(Va(this._domNode,Ll.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;this.monitor=this._register(new hw);const i=nl(this._domNode);t.target!==this.selection&&this.onDidChangePosition(t.offsetX,t.offsetY),this.monitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangePosition(t.pageX-i.left,t.pageY-i.top)),(()=>null));const e=Va(t.target.ownerDocument,Ll.POINTER_UP,(()=>{this._onColorFlushed.fire(),e.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(t,i){const e=Math.max(0,Math.min(1,t/this.width)),s=Math.max(0,Math.min(1,1-i/this.height));this.paintSelection(e,s),this._onDidChange.fire({s:e,v:s})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const t=this.model.color.hsva;this.paintSelection(t.s,t.v)}paint(){const t=new lg(new ag(this.model.color.hsva.h,1,1,1)),i=this._canvas.getContext("2d"),e=i.createLinearGradient(0,0,this._canvas.width,0);e.addColorStop(0,"rgba(255, 255, 255, 1)"),e.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),e.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=lg.Format.CSS.format(t),i.fill(),i.fillStyle=e,i.fill(),i.fillStyle=s,i.fill()}paintSelection(t,i){this.selection.style.left=t*this.width+"px",this.selection.style.top=this.height-i*this.height+"px"}onDidChangeColor(t){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const i=t.hsva;this.paintSelection(i.s,i.v)}}class CJ extends te{constructor(t,i,e=!1){super(),this.model=i,this._onDidChange=new de,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new de,this.onColorFlushed=this._onColorFlushed.event,e?(this.domNode=Ol(t,vJ(".standalone-strip")),this.overlay=Ol(this.domNode,vJ(".standalone-overlay"))):(this.domNode=Ol(t,vJ(".strip")),this.overlay=Ol(this.domNode,vJ(".overlay"))),this.slider=Ol(this.domNode,vJ(".slider")),this.slider.style.top="0px",this._register(Va(this.domNode,Ll.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const t=this.getValue(this.model.color);this.updateSliderPosition(t)}onDidChangeColor(t){const i=this.getValue(t);this.updateSliderPosition(i)}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;const i=this._register(new hw),e=nl(this.domNode);this.domNode.classList.add("grabbing"),t.target!==this.slider&&this.onDidChangeTop(t.offsetY),i.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangeTop(t.pageY-e.top)),(()=>null));const s=Va(t.target.ownerDocument,Ll.POINTER_UP,(()=>{this._onColorFlushed.fire(),s.dispose(),i.stopMonitoring(!0),this.domNode.classList.remove("grabbing")}),!0)}onDidChangeTop(t){const i=Math.max(0,Math.min(1,1-t/this.height));this.updateSliderPosition(i),this._onDidChange.fire(i)}updateSliderPosition(t){this.slider.style.top=(1-t)*this.height+"px"}}class SJ extends CJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(t){super.onDidChangeColor(t);const{r:i,g:e,b:s}=t.rgba,n=new lg(new hg(i,e,s,1)),o=new lg(new hg(i,e,s,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${o} 100%)`}getValue(t){return t.hsva.a}}class DJ extends CJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("hue-strip")}getValue(t){return 1-t.hsva.h/360}}class EJ extends te{constructor(t){super(),this._onClicked=this._register(new de),this.onClicked=this._onClicked.event,this._button=Ol(t,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._button.onclick=()=>{this._onClicked.fire()}}get button(){return this._button}}class AJ extends pk{constructor(t,i,e,s,n=!1){super(),this.model=i,this.pixelRatio=e,this._register(Ho.onDidChange((()=>this.layout())));const o=vJ(".colorpicker-widget");t.appendChild(o),this.header=this._register(new bJ(o,this.model,s,n)),this.body=this._register(new kJ(o,this.model,this.pixelRatio,n))}layout(){this.body.layout()}}var MJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},LJ=function(t,i){return function(e,s){i(e,s,t)}};class FJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s,this.forceShowAtRange=!0}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let TJ=class{constructor(t,i){this._editor=t,this._themeService=i,this.hoverOrdinal=2}computeSync(t,i){return[]}computeAsync(t,i,e){return kc.fromPromise(this._computeAsync(t,i,e))}async _computeAsync(t,i,e){if(!this._editor.hasModel())return[];const s=gJ.get(this._editor);if(!s)return[];for(const t of i){if(!s.isColorDecoration(t))continue;const i=s.getColorData(t.range.getStartPosition());if(i)return[await IJ(this,this._editor.getModel(),i.colorInfo,i.provider)]}return[]}renderHoverParts(t,i){return _J(this,this._editor,this._themeService,i,t)}};TJ=MJ([LJ(1,Xk)],TJ);class RJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s}}let OJ=class{constructor(t,i){this._editor=t,this._themeService=i,this._color=null}async createColorHover(t,i,e){if(!this._editor.hasModel())return null;if(!gJ.get(this._editor))return null;const s=await oJ(e,this._editor.getModel(),ke.None);let n=null,o=null;for(const i of s){const e=i.colorInfo;Ms.containsRange(e.range,t.range)&&(n=e,o=i.provider)}const r=null!=n?n:t,h=null!=o?o:i,c=!!n;return{colorHover:await IJ(this,this._editor.getModel(),r,h),foundInEditor:c}}async updateEditorModel(t){if(!this._editor.hasModel())return;const i=t.model;let e=new Ms(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn);this._color&&(await BJ(this._editor.getModel(),i,this._color,e,t),e=NJ(this._editor,e,i))}renderHoverParts(t,i){return _J(this,this._editor,this._themeService,i,t)}set color(t){this._color=t}get color(){return this._color}};async function IJ(t,i,e,s){const n=i.getValueInRange(e.range),{red:o,green:r,blue:h,alpha:c}=e.color,a=new hg(Math.round(255*o),Math.round(255*r),Math.round(255*h),c),l=new lg(a),u=await rJ(i,e,s,ke.None),d=new wJ(l,[],0);return d.colorPresentations=u||[],d.guessColorPresentation(l,n),t instanceof TJ?new FJ(t,Ms.lift(e.range),d,s):new RJ(t,Ms.lift(e.range),d,s)}function _J(t,i,e,s,n){if(0===s.length||!i.hasModel())return te.None;if(n.setMinimumDimensions){const t=i.getOption(66)+8;n.setMinimumDimensions(new el(302,t))}const o=new Xi,r=s[0],h=i.getModel(),c=r.model,a=o.add(new AJ(n.fragment,c,i.getOption(141),e,t instanceof OJ));n.setColorPicker(a);let l=!1,u=new Ms(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(t instanceof OJ){const i=s[0].model.color;t.color=i,BJ(h,c,i,u,r),o.add(c.onColorFlushed((i=>{t.color=i})))}else o.add(c.onColorFlushed((async t=>{await BJ(h,c,t,u,r),l=!0,u=NJ(i,u,c,n)})));return o.add(c.onDidChangeColor((t=>{BJ(h,c,t,u,r)}))),o.add(i.onDidChangeModelContent((()=>{l?l=!1:(n.hide(),i.focus())}))),o}function NJ(t,i,e,s){let n,o;if(e.presentation.textEdit){n=[e.presentation.textEdit],o=new Ms(e.presentation.textEdit.range.startLineNumber,e.presentation.textEdit.range.startColumn,e.presentation.textEdit.range.endLineNumber,e.presentation.textEdit.range.endColumn);const i=t.getModel()._setTrackedRange(null,o,3);t.pushUndoStop(),t.executeEdits("colorpicker",n),o=t.getModel()._getTrackedRange(i)||o}else n=[{range:i,text:e.presentation.label,forceMoveMarkers:!1}],o=i.setEndPosition(i.endLineNumber,i.startColumn+e.presentation.label.length),t.pushUndoStop(),t.executeEdits("colorpicker",n);return e.presentation.additionalTextEdits&&(n=[...e.presentation.additionalTextEdits],t.executeEdits("colorpicker",n),s&&s.hide()),t.pushUndoStop(),o}async function BJ(t,i,e,s,n){const o=await rJ(t,{range:s,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},n.provider,ke.None);i.colorPresentations=o||[]}function PJ(t,i){return!!t[i]}OJ=MJ([LJ(1,Xk)],OJ);class $J{constructor(t,i){this.target=t.target,this.isLeftClick=t.event.leftButton,this.isMiddleClick=t.event.middleButton,this.isRightClick=t.event.rightButton,this.hasTriggerModifier=PJ(t.event,i.triggerModifier),this.hasSideBySideModifier=PJ(t.event,i.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=t.event.detail<=1}}class WJ{constructor(t,i){this.keyCodeIsTriggerKey=t.keyCode===i.triggerKey,this.keyCodeIsSideBySideKey=t.keyCode===i.triggerSideBySideKey,this.hasTriggerModifier=PJ(t,i.triggerModifier)}}class jJ{constructor(t,i,e,s){this.triggerKey=t,this.triggerModifier=i,this.triggerSideBySideKey=e,this.triggerSideBySideModifier=s}equals(t){return this.triggerKey===t.triggerKey&&this.triggerModifier===t.triggerModifier&&this.triggerSideBySideKey===t.triggerSideBySideKey&&this.triggerSideBySideModifier===t.triggerSideBySideModifier}}function zJ(t){return"altKey"===t?Ct?new jJ(57,"metaKey",6,"altKey"):new jJ(5,"ctrlKey",6,"altKey"):Ct?new jJ(6,"altKey",57,"metaKey"):new jJ(6,"altKey",5,"ctrlKey")}class HJ extends te{constructor(t,i){var e;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new de),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new de),this.onExecute=this._onExecute.event,this._onCancel=this._register(new de),this.onCancel=this._onCancel.event,this._editor=t,this._extractLineNumberFromMouseEvent=null!==(e=null==i?void 0:i.extractLineNumberFromMouseEvent)&&void 0!==e?e:t=>t.target.position?t.target.position.lineNumber:0,this._opts=zJ(this._editor.getOption(77)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((t=>{if(t.hasChanged(77)){const t=zJ(this._editor.getOption(77));if(this._opts.equals(t))return;this._opts=t,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((t=>this._onEditorMouseMove(new $J(t,this._opts))))),this._register(this._editor.onMouseDown((t=>this._onEditorMouseDown(new $J(t,this._opts))))),this._register(this._editor.onMouseUp((t=>this._onEditorMouseUp(new $J(t,this._opts))))),this._register(this._editor.onKeyDown((t=>this._onEditorKeyDown(new WJ(t,this._opts))))),this._register(this._editor.onKeyUp((t=>this._onEditorKeyUp(new WJ(t,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((t=>this._onDidChangeCursorSelection(t)))),this._register(this._editor.onDidChangeModel((()=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((t=>{(t.scrollTopChanged||t.scrollLeftChanged)&&this._resetHandler()})))}_onDidChangeCursorSelection(t){t.selection&&t.selection.startColumn!==t.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(t){this._lastMouseMoveEvent=t,this._onMouseMoveOrRelevantKeyDown.fire([t,null])}_onEditorMouseDown(t){this._hasTriggerKeyOnMouseDown=t.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(t)}_onEditorMouseUp(t){const i=this._extractLineNumberFromMouseEvent(t);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===i&&this._onExecute.fire(t)}_onEditorKeyDown(t){this._lastMouseMoveEvent&&(t.keyCodeIsTriggerKey||t.keyCodeIsSideBySideKey&&t.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,t]):t.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(t){t.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var VJ=function(t,i){return function(e,s){i(e,s,t)}};let UJ=class extends TT{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d){super(t,{...s.getRawOptions(),overflowWidgetsDomNode:s.getOverflowWidgetsDomNode()},e,n,o,r,h,c,a,l,u,d),this._parentEditor=s,this._overwriteOptions=i,super.updateOptions(this._overwriteOptions),this._register(s.onDidChangeConfiguration((t=>this._onParentConfigurationChanged(t))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(t){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(t){tt(this._overwriteOptions,t,!0),super.updateOptions(this._overwriteOptions)}};UJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([VJ(4,ur),VJ(5,fr),VJ(6,Sr),VJ(7,ah),VJ(8,Xk),VJ(9,oT),VJ(10,Zm),VJ(11,Xd),VJ(12,xg)],UJ);const qJ=new lg(new hg(0,122,204)),KJ={showArrow:!0,showFrame:!0,className:"",frameColor:qJ,arrowColor:qJ,keepEditorSelection:!1};class GJ{constructor(t,i,e,s,n,o,r,h){this.id="",this.domNode=t,this.afterLineNumber=i,this.afterColumn=e,this.heightInLines=s,this.showInHiddenAreas=r,this.ordinal=h,this._onDomNodeTop=n,this._onComputedHeight=o}onDomNodeTop(t){this._onDomNodeTop(t)}onComputedHeight(t){this._onComputedHeight(t)}}class ZJ{constructor(t,i){this._id=t,this._domNode=i}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class QJ{constructor(t){this._editor=t,this._ruleName=QJ._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),Dl(this._ruleName)}set color(t){this._color!==t&&(this._color=t,this._updateStyle())}set height(t){this._height!==t&&(this._height=t,this._updateStyle())}_updateStyle(){Dl(this._ruleName),Sl(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(t){1===t.column&&(t={lineNumber:t.lineNumber,column:2}),this._decorations.set([{range:Ms.fromPositions(t),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}QJ._IdGenerator=new J_(".arrow-decoration-");class JJ{constructor(t,i={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Xi,this.container=null,this._isShowing=!1,this.editor=t,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=Q(i),tt(this.options,KJ,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange((t=>{const i=this._getWidth(t);this.domNode.style.width=i+"px",this.domNode.style.left=this._getLeft(t)+"px",this._onWidth(i)})))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id),this._viewZone=null})),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new QJ(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(t){t.frameColor&&(this.options.frameColor=t.frameColor),t.arrowColor&&(this.options.arrowColor=t.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const t=this.options.frameColor.toString();this.container.style.borderTopColor=t,this.container.style.borderBottomColor=t}if(this._arrow&&this.options.arrowColor){const t=this.options.arrowColor.toString();this._arrow.color=t}}_getWidth(t){return t.width-t.minimap.minimapWidth-t.verticalScrollbarWidth}_getLeft(t){return t.minimap.minimapWidth>0&&0===t.minimap.minimapLeft?t.minimap.minimapWidth:0}_onViewZoneTop(t){this.domNode.style.top=t+"px"}_onViewZoneHeight(t){var i;if(this.domNode.style.height=`${t}px`,this.container){const i=t-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const e=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(e))}null===(i=this._resizeSash)||void 0===i||i.layout()}get position(){const t=this._positionMarkerId.getRange(0);if(t)return t.getStartPosition()}show(t,i){const e=Ms.isIRange(t)?Ms.lift(t):Ms.fromPositions(t);this._isShowing=!0,this._showImpl(e,i),this._isShowing=!1,this._positionMarkerId.set([{range:e,options:AL.EMPTY}])}hide(){var t;this._viewZone&&(this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),null===(t=this._arrow)||void 0===t||t.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const t=this.editor.getOption(66);let i=0;return this.options.showArrow&&(i+=2*Math.round(t/3)),this.options.showFrame&&(i+=2*Math.round(t/9)),i}_showImpl(t,i){const e=t.getStartPosition(),s=this.editor.getLayoutInfo(),n=this._getWidth(s);this.domNode.style.width=`${n}px`,this.domNode.style.left=this._getLeft(s)+"px";const o=document.createElement("div");o.style.overflow="hidden";const r=this.editor.getOption(66);if(!this.options.allowUnlimitedHeight){const t=Math.max(12,this.editor.getLayoutInfo().height/r*.8);i=Math.min(i,t)}let h=0,c=0;if(this._arrow&&this.options.showArrow&&(h=Math.round(r/3),this._arrow.height=h,this._arrow.show(e)),this.options.showFrame&&(c=Math.round(r/9)),this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new GJ(o,e.lineNumber,e.column,i,(t=>this._onViewZoneTop(t)),(t=>this._onViewZoneHeight(t)),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=t.addZone(this._viewZone),this._overlayWidget=new ZJ("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const t=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=t+"px",this.container.style.borderBottomWidth=t+"px"}const a=i*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=h+"px",this.container.style.height=a+"px",this.container.style.overflow="hidden"),this._doLayout(a,n),this.options.keepEditorSelection||this.editor.setSelection(t);const l=this.editor.getModel();if(l){const i=l.validateRange(new Ms(t.startLineNumber,1,t.endLineNumber+1,1));this.revealRange(i,i.startLineNumber===l.getLineCount())}}revealRange(t,i){i?this.editor.revealLineNearTop(t.endLineNumber,0):this.editor.revealRange(t,0)}setCssClass(t,i){this.container&&(i&&this.container.classList.remove(i),this.container.classList.add(t))}_onWidth(t){}_doLayout(t,i){}_relayout(t){this._viewZone&&this._viewZone.heightInLines!==t&&this.editor.changeViewZones((i=>{this._viewZone&&(this._viewZone.heightInLines=t,i.layoutZone(this._viewZone.id))}))}_initSash(){if(this._resizeSash)return;let t;this._resizeSash=this._disposables.add(new VP(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart((i=>{this._viewZone&&(t={startY:i.startY,heightInLines:this._viewZone.heightInLines})}))),this._disposables.add(this._resizeSash.onDidEnd((()=>{t=void 0}))),this._disposables.add(this._resizeSash.onDidChange((i=>{if(t){const e=(i.currentY-t.startY)/this.editor.getOption(66),s=e<0?Math.ceil(e):Math.floor(e),n=t.heightInLines+s;n>5&&n<35&&this._relayout(n)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const t=this.editor.getLayoutInfo();return t.width-t.minimap.minimapWidth}}var YJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},XJ=function(t,i){return function(e,s){i(e,s,t)}};const tY=dr("IPeekViewService");var iY;Cd(tY,class{constructor(){this._widgets=new Map}addExclusiveWidget(t,i){const e=this._widgets.get(t);e&&(e.listener.dispose(),e.widget.dispose()),this._widgets.set(t,{widget:i,listener:i.onDidClose((()=>{const e=this._widgets.get(t);e&&e.widget===i&&(e.listener.dispose(),this._widgets.delete(t))}))})}},1),function(t){t.inPeekEditor=new ch("inReferenceSearchEditor",!0,ot(0,"Whether the current code editor is embedded inside peek")),t.notInPeekEditor=t.inPeekEditor.toNegated()}(iY||(iY={}));let eY=class{constructor(t,i){t instanceof UJ&&iY.inPeekEditor.bindTo(i)}dispose(){}};eY.ID="editor.contrib.referenceController",eY=YJ([XJ(1,ah)],eY),lu(eY.ID,eY,0);const sY={headerBackgroundColor:lg.white,primaryHeadingColor:lg.fromHex("#333333"),secondaryHeadingColor:lg.fromHex("#6c6c6cb3")};let nY=class extends JJ{constructor(t,i,e){super(t,i),this.instantiationService=e,this._onDidClose=new de,this.onDidClose=this._onDidClose.event,tt(this.options,sY,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(t){const i=this.options;t.headerBackgroundColor&&(i.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(i.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(i.secondaryHeadingColor=t.secondaryHeadingColor),super.style(t)}_applyStyles(){super._applyStyles();const t=this.options;this._headElement&&t.headerBackgroundColor&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&t.primaryHeadingColor&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&t.secondaryHeadingColor&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&t.frameColor&&(this._bodyElement.style.borderColor=t.frameColor.toString())}_fillContainer(t){this.setCssClass("peekview-widget"),this._headElement=$l(".head"),this._bodyElement=$l(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),t.appendChild(this._headElement),t.appendChild(this._bodyElement)}_fillHead(t,i){this._titleElement=$l(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),qa(this._titleElement,"click",(t=>this._onTitleClick(t)))),Ol(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=$l("span.filename"),this._secondaryHeading=$l("span.dirname"),this._metaHeading=$l("span.meta"),Ol(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const e=$l(".peekview-actions");Ol(this._headElement,e);const s=this._getActionBarOptions();this._actionbarWidget=new YB(e,s),this._disposables.add(this._actionbarWidget),i||this._actionbarWidget.push(new mr("peekview.close",ot(0,"Close"),Cr.asClassName(Os.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(t){}_getActionBarOptions(){return{actionViewItemProvider:JB.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(t){}setTitle(t,i){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=t,this._primaryHeading.setAttribute("title",t),i?this._secondaryHeading.innerText=i:za(this._secondaryHeading))}setMetaTitle(t){this._metaHeading&&(t?(this._metaHeading.innerText=t,Wl(this._metaHeading)):jl(this._metaHeading))}_doLayout(t,i){if(!this._isShowing&&t<0)return void this.dispose();const e=Math.ceil(1.2*this.editor.getOption(66)),s=Math.round(t-(e+2));this._doLayoutHead(e,i),this._doLayoutBody(s,i)}_doLayoutHead(t,i){this._headElement&&(this._headElement.style.height=`${t}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(t,i){this._bodyElement&&(this._bodyElement.style.height=`${t}px`)}};nY=YJ([XJ(2,ur)],nY);const oY=dw("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:lg.black,hcLight:lg.white},ot(0,"Background color of the peek view title area.")),rY=dw("peekViewTitleLabel.foreground",{dark:lg.white,light:lg.black,hcDark:lg.white,hcLight:lv},ot(0,"Color of the peek view title.")),hY=dw("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},ot(0,"Color of the peek view title info.")),cY=dw("peekView.border",{dark:rv,light:rv,hcDark:ww,hcLight:ww},ot(0,"Color of the peek view borders and arrow.")),aY=dw("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:lg.black,hcLight:lg.white},ot(0,"Background color of the peek view result list."));dw("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:lg.white,hcLight:lv},ot(0,"Foreground color for line nodes in the peek view result list.")),dw("peekViewResult.fileForeground",{dark:lg.white,light:"#1E1E1E",hcDark:lg.white,hcLight:lv},ot(0,"Foreground color for file nodes in the peek view result list.")),dw("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},ot(0,"Background color of the selected entry in the peek view result list.")),dw("peekViewResult.selectionForeground",{dark:lg.white,light:"#6C6C6C",hcDark:lg.white,hcLight:lv},ot(0,"Foreground color of the selected entry in the peek view result list."));const lY=dw("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:lg.black,hcLight:lg.white},ot(0,"Background color of the peek view editor."));dw("peekViewEditorGutter.background",{dark:lY,light:lY,hcDark:lY,hcLight:lY},ot(0,"Background color of the gutter in the peek view editor.")),dw("peekViewEditorStickyScroll.background",{dark:lY,light:lY,hcDark:lY,hcLight:lY},ot(0,"Background color of sticky scroll in the peek view editor.")),dw("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},ot(0,"Match highlight color in the peek view result list.")),dw("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},ot(0,"Match highlight color in the peek view editor.")),dw("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:vw,hcLight:vw},ot(0,"Match highlight border in the peek view editor."));class uY{constructor(t,i,e,s){this.isProviderFirst=t,this.parent=i,this.link=e,this._rangeCallback=s,this.id=Y_.nextId()}get uri(){return this.link.uri}get range(){var t,i;return null!==(i=null!==(t=this._range)&&void 0!==t?t:this.link.targetSelectionRange)&&void 0!==i?i:this.link.range}set range(t){this._range=t,this._rangeCallback(this)}get ariaMessage(){var t;const i=null===(t=this.parent.getPreview(this))||void 0===t?void 0:t.preview(this.range);return i?ot(0,"{0} in {1} on line {2} at column {3}",i.value,bA(this.uri),this.range.startLineNumber,this.range.startColumn):ot(0,"in {0} on line {1} at column {2}",bA(this.uri),this.range.startLineNumber,this.range.startColumn)}}class dY{constructor(t){this._modelReference=t}dispose(){this._modelReference.dispose()}preview(t,i=8){const e=this._modelReference.object.textEditorModel;if(!e)return;const{startLineNumber:s,startColumn:n,endLineNumber:o,endColumn:r}=t,h=e.getWordUntilPosition({lineNumber:s,column:n-i}),c=new Ms(s,h.startColumn,s,n),a=new Ms(o,r,o,1073741824),l=e.getValueInRange(c).replace(/^\s+/,""),u=e.getValueInRange(t);return{value:l+u+e.getValueInRange(a).replace(/\s+$/,""),highlight:{start:l.length,end:l.length+u.length}}}}class fY{constructor(t,i){this.parent=t,this.uri=i,this.children=[],this._previews=new zp}dispose(){Qi(this._previews.values()),this._previews.clear()}getPreview(t){return this._previews.get(t.uri)}get ariaMessage(){const t=this.children.length;return 1===t?ot(0,"1 symbol in {0}, full path {1}",bA(this.uri),this.uri.fsPath):ot(0,"{0} symbols in {1}, full path {2}",t,bA(this.uri),this.uri.fsPath)}async resolve(t){if(0!==this._previews.size)return this;for(const i of this.children)if(!this._previews.has(i.uri))try{const e=await t.createModelReference(i.uri);this._previews.set(i.uri,new dY(e))}catch(t){Bi(t)}return this}}class pY{constructor(t,i){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new de,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=t,this._title=i;const[e]=t;let s;t.sort(pY._compareReferences);for(const i of t)if(s&&mA.isEqual(s.uri,i.uri,!0)||(s=new fY(this,i.uri),this.groups.push(s)),0===s.children.length||0!==pY._compareReferences(i,s.children[s.children.length-1])){const t=new uY(e===i,s,i,(t=>this._onDidChangeReferenceRange.fire(t)));this.references.push(t),s.children.push(t)}}dispose(){Qi(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new pY(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?ot(0,"No results found"):1===this.references.length?ot(0,"Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?ot(0,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):ot(0,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(t,i){const{parent:e}=t;let s=e.children.indexOf(t);const n=e.children.length,o=e.parent.groups.length;return 1===o||i&&s+10?(s=i?(s+1)%n:(s+n-1)%n,e.children[s]):(s=e.parent.groups.indexOf(e),i?(s=(s+1)%o,e.parent.groups[s].children[0]):(s=(s+o-1)%o,e.parent.groups[s].children[e.parent.groups[s].children.length-1]))}nearestReference(t,i){const e=this.references.map(((e,s)=>({idx:s,prefixLen:fo(e.uri.toString(),t.toString()),offsetDist:100*Math.abs(e.range.startLineNumber-i.lineNumber)+Math.abs(e.range.startColumn-i.column)}))).sort(((t,i)=>t.prefixLen>i.prefixLen?-1:t.prefixLeni.offsetDist?1:0))[0];if(e)return this.references[e.idx]}referenceAt(t,i){for(const e of this.references)if(e.uri.toString()===t.toString()&&Ms.containsPosition(e.range,i))return e}firstReference(){for(const t of this.references)if(t.isProviderFirst)return t;return this.references[0]}static _compareReferences(t,i){return mA.compare(t.uri,i.uri)||Ms.compareRangesUsingStarts(t.range,i.range)}}var gY,mY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},wY=function(t,i){return function(e,s){i(e,s,t)}};let vY=class{constructor(t){this._resolverService=t}hasChildren(t){return t instanceof pY||t instanceof fY}getChildren(t){if(t instanceof pY)return t.groups;if(t instanceof fY)return t.resolve(this._resolverService).then((t=>t.children));throw new Error("bad tree")}};vY=mY([wY(0,gr)],vY);class bY{getHeight(){return 23}getTemplateId(t){return t instanceof fY?CY.id:DY.id}}let yY=class{constructor(t){this._keybindingService=t}getKeyboardNavigationLabel(t){var i;if(t instanceof uY){const e=null===(i=t.parent.getPreview(t))||void 0===i?void 0:i.preview(t.range);if(e)return e.value}return bA(t.uri)}};yY=mY([wY(0,oC)],yY);class kY{getId(t){return t instanceof uY?t.id:t.uri}}let xY=class extends te{constructor(t,i){super(),this._labelService=i;const e=document.createElement("div");e.classList.add("reference-file"),this.file=this._register(new Gj(e,{supportHighlights:!0})),this.badge=new Bj(Ol(e,$l(".count")),{},NB),t.appendChild(e)}set(t,i){const e=kA(t.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(t.uri),this._labelService.getUriLabel(e,{relative:!0}),{title:this._labelService.getUriLabel(t.uri),matches:i});const s=t.children.length;this.badge.setCount(s),this.badge.setTitleFormat(ot(0,s>1?"{0} references":"{0} reference",s))}};xY=mY([wY(1,$O)],xY);let CY=gY=class{constructor(t){this._instantiationService=t,this.templateId=gY.id}renderTemplate(t){return this._instantiationService.createInstance(xY,t)}renderElement(t,i,e){e.set(t.element,l_(t.filterData))}disposeTemplate(t){t.dispose()}};CY.id="FileReferencesRenderer",CY=gY=mY([wY(0,ur)],CY);class SY{constructor(t){this.label=new qj(t)}set(t,i){var e;const s=null===(e=t.parent.getPreview(t))||void 0===e?void 0:e.preview(t.range);if(s&&s.value){const{value:t,highlight:e}=s;i&&!x_.isDefault(i)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(t,l_(i))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(t,[e]))}else this.label.set(`${bA(t.uri)}:${t.range.startLineNumber+1}:${t.range.startColumn+1}`)}}class DY{constructor(){this.templateId=DY.id}renderTemplate(t){return new SY(t)}renderElement(t,i,e){e.set(t.element,t.filterData)}disposeTemplate(){}}DY.id="OneReferenceRenderer";class EY{getWidgetAriaLabel(){return ot(0,"References")}getAriaLabel(t){return t.ariaMessage}}var AY=function(t,i){return function(e,s){i(e,s,t)}};class MY{constructor(t,i){this._editor=t,this._model=i,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Xi,this._callOnModelChange=new Xi,this._callOnDispose.add(this._editor.onDidChangeModel((()=>this._onModelChanged()))),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const t=this._editor.getModel();if(t)for(const i of this._model.references)if(i.uri.toString()===t.uri.toString())return void this._addDecorations(i.parent)}_addDecorations(t){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const i=[],e=[];for(let s=0,n=t.children.length;s{const n=s.deltaDecorations([],i);for(let i=0;i{t.equals(9)&&(this._keybindingService.dispatchEvent(t,t.target),t.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(FY,"ReferencesWidget",this._treeContainer,new bY,[this._instantiationService.createInstance(CY),this._instantiationService.createInstance(DY)],this._instantiationService.createInstance(vY),i),this._splitView.addView({onDidChange:he.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:t=>{this._preview.layout({height:this._dim.height,width:t})}},QP.Distribute),this._splitView.addView({onDidChange:he.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:t=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${t}px`,this._tree.layout(this._dim.height,t)}},QP.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const e=(t,i)=>{t instanceof uY&&("show"===i&&this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:i,source:"tree"}))};this._tree.onDidOpen((t=>{e(t.element,t.sideBySide?"side":t.editorOptions.pinned?"goto":"show")})),jl(this._treeContainer)}_onWidth(t){this._dim&&this._doLayoutBody(this._dim.height,t)}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._dim=new el(i,t),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(i),this._splitView.resizeView(0,i*this.layoutData.ratio)}setSelection(t){return this._revealReference(t,!0).then((()=>{this._model&&(this._tree.setSelection([t]),this._tree.setFocus([t]))}))}setModel(t){return this._disposeOnNewModel.clear(),this._model=t,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=ot(0,"No results"),Wl(this._messageContainer),Promise.resolve(void 0)):(jl(this._messageContainer),this._decorationsManager=new MY(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((t=>this._tree.rerender(t)))),this._disposeOnNewModel.add(this._preview.onMouseDown((t=>{const{event:i,target:e}=t;if(2!==i.detail)return;const s=this._getFocusedReference();s&&this._onDidSelectReference.fire({element:{uri:s.uri,range:e.range},kind:i.ctrlKey||i.metaKey||i.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),Wl(this._treeContainer),Wl(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[t]=this._tree.getFocus();return t instanceof uY?t:t instanceof fY&&t.children.length>0?t.children[0]:void 0}async revealReference(t){await this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:"goto",source:"tree"})}async _revealReference(t,i){if(this._revealedReference===t)return;this._revealedReference=t,t.uri.scheme!==ka.inMemory?this.setTitle(vA(t.uri),this._uriLabel.getUriLabel(kA(t.uri))):this.setTitle(ot(0,"References"));const e=this._textModelResolverService.createModelReference(t.uri);this._tree.getInput()===t.parent||(i&&this._tree.reveal(t.parent),await this._tree.expand(t.parent)),this._tree.reveal(t);const s=await e;if(!this._model)return void s.dispose();Qi(this._previewModelReference);const n=s.object;if(n){const i=this._preview.getModel()===n.textEditorModel?0:1,e=Ms.lift(t.range).collapseToStart();this._previewModelReference=s,this._preview.setModel(n.textEditorModel),this._preview.setSelection(e),this._preview.revealRangeInCenter(e,i)}else this._preview.setModel(this._previewNotAvailableMessage),s.dispose()}};TY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([AY(3,Xk),AY(4,gr),AY(5,ur),AY(6,tY),AY(7,$O),AY(8,hL),AY(9,oC),AY(10,yd),AY(11,Xd)],TY);var RY,OY=function(t,i){return function(e,s){i(e,s,t)}};const IY=new ch("referenceSearchVisible",!1,ot(0,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let _Y=RY=class{static get(t){return t.getContribution(RY.ID)}constructor(t,i,e,s,n,o,r,h){this._defaultTreeKeyboardSupport=t,this._editor=i,this._editorService=s,this._notificationService=n,this._instantiationService=o,this._storageService=r,this._configurationService=h,this._disposables=new Xi,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=IY.bindTo(e)}dispose(){var t,i;this._referenceSearchVisible.reset(),this._disposables.dispose(),null===(t=this._widget)||void 0===t||t.dispose(),null===(i=this._model)||void 0===i||i.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(t,i,e){let s;if(this._widget&&(s=this._widget.position),this.closeWidget(),s&&t.containsPosition(s))return;this._peekMode=e,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const n="peekViewLayout",o=LY.fromJSON(this._storageService.get(n,0,"{}"));this._widget=this._instantiationService.createInstance(TY,this._editor,this._defaultTreeKeyboardSupport,o),this._widget.setTitle(ot(0,"Loading...")),this._widget.show(t),this._disposables.add(this._widget.onDidClose((()=>{i.cancel(),this._widget&&(this._storageService.store(n,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((t=>{const{element:i,kind:s}=t;if(i)switch(s){case"open":"editor"===t.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(i,!1,!1);break;case"side":this.openReference(i,!0,!1);break;case"goto":e?this._gotoReference(i,!0):this.openReference(i,!1,!0)}})));const r=++this._requestIdPool;i.then((i=>{var e;if(r===this._requestIdPool&&this._widget)return null===(e=this._model)||void 0===e||e.dispose(),this._model=i,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._widget.setMetaTitle(this._model.isEmpty?"":ot(0,"{0} ({1})",this._model.title,this._model.references.length));const i=this._editor.getModel().uri,e=new As(t.startLineNumber,t.startColumn),s=this._model.nearestReference(i,e);if(s)return this._widget.setSelection(s).then((()=>{this._widget&&"editor"===this._editor.getOption(86)&&this._widget.focusOnPreviewEditor()}))}}));i.dispose()}),(t=>{this._notificationService.error(t)}))}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(t){if(!this._editor.hasModel()||!this._model||!this._widget)return;const i=this._widget.position;if(!i)return;const e=this._model.nearestReference(this._editor.getModel().uri,i);if(!e)return;const s=this._model.nextOrPreviousReference(e,t),n=this._editor.hasTextFocus(),o=this._widget.isPreviewEditorFocused();await this._widget.setSelection(s),await this._gotoReference(s,!1),n?this._editor.focus():this._widget&&o&&this._widget.focusOnPreviewEditor()}async revealReference(t){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(t)}closeWidget(t=!0){var i,e;null===(i=this._widget)||void 0===i||i.dispose(),null===(e=this._model)||void 0===e||e.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,t&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(t,i){var e;null===(e=this._widget)||void 0===e||e.hide(),this._ignoreModelChangeEvent=!0;const s=Ms.lift(t.range).collapseToStart();return this._editorService.openCodeEditor({resource:t.uri,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor).then((t=>{var i;if(this._ignoreModelChangeEvent=!1,t&&this._widget)if(this._editor===t)this._widget.show(s),this._widget.focusOnReferenceTree();else{const e=RY.get(t),n=this._model.clone();this.closeWidget(),t.focus(),null==e||e.toggleWidget(s,nc((()=>Promise.resolve(n))),null!==(i=this._peekMode)&&void 0!==i&&i)}else this.closeWidget()}),(t=>{this._ignoreModelChangeEvent=!1,Bi(t)}))}openReference(t,i,e){i||this.closeWidget();const{uri:s,range:n}=t;this._editorService.openCodeEditor({resource:s,options:{selection:n,selectionSource:"code.jump",pinned:e}},this._editor,i)}};function NY(t,i){const e=function(t){const i=t.get(fr).getFocusedCodeEditor();return i instanceof UJ?i.getParentEditor():i}(t);if(!e)return;const s=_Y.get(e);s&&i(s)}_Y.ID="editor.contrib.referencesController",_Y=RY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([OY(2,ah),OY(3,fr),OY(4,oT),OY(5,ur),OY(6,AB),OY(7,pd)],_Y),Ah.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Ne(2089,60),when:zr.or(IY,iY.inPeekEditor),handler(t){NY(t,(t=>{t.changeFocusBetweenPreviewAndReferences()}))}}),Ah.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:zr.or(IY,iY.inPeekEditor),handler(t){NY(t,(t=>{t.goToNextOrPreviousReference(!0)}))}}),Ah.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:zr.or(IY,iY.inPeekEditor),handler(t){NY(t,(t=>{t.goToNextOrPreviousReference(!1)}))}}),Dr.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),Dr.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),Dr.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),Dr.registerCommand("closeReferenceSearch",(t=>NY(t,(t=>t.closeWidget())))),Ah.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:zr.and(iY.inPeekEditor,zr.not("config.editor.stablePeek"))}),Ah.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:zr.and(IY,zr.not("config.editor.stablePeek"))}),Ah.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:zr.and(IY,TW,BW.negate(),$W.negate()),handler(t){var i;const e=null===(i=t.get(AW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof uY&&NY(t,(t=>t.revealReference(e[0])))}}),Ah.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:zr.and(IY,TW,BW.negate(),$W.negate()),handler(t){var i;const e=null===(i=t.get(AW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof uY&&NY(t,(t=>t.openReference(e[0],!0,!0)))}}),Dr.registerCommand("openReference",(t=>{var i;const e=null===(i=t.get(AW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof uY&&NY(t,(t=>t.openReference(e[0],!1,!0)))}));var BY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},PY=function(t,i){return function(e,s){i(e,s,t)}};const $Y=new ch("hasSymbols",!1,ot(0,"Whether there are symbol locations that can be navigated via keyboard-only.")),WY=dr("ISymbolNavigationService");let jY=class{constructor(t,i,e,s){this._editorService=i,this._notificationService=e,this._keybindingService=s,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=$Y.bindTo(t)}reset(){var t,i;this._ctxHasSymbols.reset(),null===(t=this._currentState)||void 0===t||t.dispose(),null===(i=this._currentMessage)||void 0===i||i.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(t){const i=t.parent.parent;if(i.references.length<=1)return void this.reset();this._currentModel=i,this._currentIdx=i.references.indexOf(t),this._ctxHasSymbols.set(!0),this._showMessage();const e=new zY(this._editorService),s=e.onDidChange((()=>{if(this._ignoreEditorChange)return;const t=this._editorService.getActiveCodeEditor();if(!t)return;const e=t.getModel(),s=t.getPosition();if(!e||!s)return;let n=!1,o=!1;for(const t of i.references)if(wA(t.uri,e.uri))n=!0,o=o||Ms.containsPosition(t.range,s);else if(n)break;n&&o||this.reset()}));this._currentState=Ji(e,s)}revealNext(t){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const i=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:i.uri,options:{selection:Ms.collapseToStart(i.range),selectionRevealType:3}},t).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){var t;null===(t=this._currentMessage)||void 0===t||t.dispose();const i=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),e=i?ot(0,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,i.getLabel()):ot(0,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(e)}};jY=BY([PY(0,ah),PY(1,fr),PY(2,oT),PY(3,oC)],jY),Cd(WY,jY,1),hu(new class extends eu{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:$Y,kbOpts:{weight:100,primary:70}})}runEditorCommand(t,i){return t.get(WY).revealNext(i)}}),Ah.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:$Y,primary:9,handler(t){t.get(WY).reset()}});let zY=class{constructor(t){this._listener=new Map,this._disposables=new Xi,this._onDidChange=new de,this.onDidChange=this._onDidChange.event,this._disposables.add(t.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(t.onCodeEditorAdd(this._onDidAddEditor,this)),t.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),Qi(this._listener.values())}_onDidAddEditor(t){this._listener.set(t,Ji(t.onDidChangeCursorPosition((()=>this._onDidChange.fire({editor:t}))),t.onDidChangeModelContent((()=>this._onDidChange.fire({editor:t})))))}_onDidRemoveEditor(t){var i;null===(i=this._listener.get(t))||void 0===i||i.dispose(),this._listener.delete(t)}};async function HY(t,i,e,s){const n=e.ordered(t).map((e=>Promise.resolve(s(e,t,i)).then(void 0,(t=>{Pi(t)}))));return m((await Promise.all(n)).flat())}function VY(t,i,e,s){return HY(i,e,t,((t,i,e)=>t.provideDefinition(i,e,s)))}function UY(t,i,e,s){return HY(i,e,t,((t,i,e)=>t.provideDeclaration(i,e,s)))}function qY(t,i,e,s){return HY(i,e,t,((t,i,e)=>t.provideImplementation(i,e,s)))}function KY(t,i,e,s){return HY(i,e,t,((t,i,e)=>t.provideTypeDefinition(i,e,s)))}function GY(t,i,e,s,n){return HY(i,e,t,(async(t,i,e)=>{const o=await t.provideReferences(i,e,{includeDeclaration:!0},n);if(!s||!o||2!==o.length)return o;const r=await t.provideReferences(i,e,{includeDeclaration:!1},n);return r&&1===r.length?r:o}))}async function ZY(t){const i=await t(),e=new pY(i,""),s=e.references.map((t=>t.link));return e.dispose(),s}var QY,JY,YY,XY,tX,iX,eX,sX;zY=BY([PY(0,fr)],zY),ru("_executeDefinitionProvider",((t,i,e)=>{const s=VY(t.get(xg).definitionProvider,i,e,ke.None);return ZY((()=>s))})),ru("_executeTypeDefinitionProvider",((t,i,e)=>{const s=KY(t.get(xg).typeDefinitionProvider,i,e,ke.None);return ZY((()=>s))})),ru("_executeDeclarationProvider",((t,i,e)=>{const s=UY(t.get(xg).declarationProvider,i,e,ke.None);return ZY((()=>s))})),ru("_executeReferenceProvider",((t,i,e)=>{const s=GY(t.get(xg).referenceProvider,i,e,!1,ke.None);return ZY((()=>s))})),ru("_executeImplementationProvider",((t,i,e)=>{const s=qY(t.get(xg).implementationProvider,i,e,ke.None);return ZY((()=>s))})),_h.appendMenuItem(Rh.EditorContext,{submenu:Rh.EditorContextPeek,title:ot(0,"Peek"),group:"navigation",order:100});class nX{static is(t){return!(!t||"object"!=typeof t)&&(t instanceof nX||!(!As.isIPosition(t.position)||!t.model))}constructor(t,i){this.model=t,this.position=i}}class oX extends ou{static all(){return oX._allSymbolNavigationCommands.values()}static _patchConfig(t){const i={...t,f1:!0};if(i.menu)for(const e of Ht.wrap(i.menu))e.id!==Rh.EditorContext&&e.id!==Rh.EditorContextPeek||(e.when=zr.and(t.precondition,e.when));return i}constructor(t,i){super(oX._patchConfig(i)),this.configuration=t,oX._allSymbolNavigationCommands.set(i.id,this)}runEditorCommand(t,i,e,s){if(!i.hasModel())return Promise.resolve(void 0);const n=t.get(oT),o=t.get(fr),r=t.get(zO),h=t.get(WY),c=t.get(xg),a=t.get(ur),l=i.getModel(),u=i.getPosition(),d=nX.is(e)?e:new nX(l,u),f=new CK(i,5),p=oc(this._getLocationModel(c,d.model,d.position,f.token),f.token).then((async t=>{var n;if(!t||f.token.isCancellationRequested)return;let r;if(Pm(t.ariaMessage),t.referenceAt(l.uri,u)){const t=this._getAlternativeCommand(i);!oX._activeAlternativeCommands.has(t)&&oX._allSymbolNavigationCommands.has(t)&&(r=oX._allSymbolNavigationCommands.get(t))}const c=t.references.length;if(0===c){if(!this.configuration.muteMessage){const t=l.getWordAtPosition(u);null===(n=gQ.get(i))||void 0===n||n.showMessage(this._getNoResultFoundMessage(t),u)}}else{if(1!==c||!r)return this._onResult(o,h,i,t,s);oX._activeAlternativeCommands.add(this.desc.id),a.invokeFunction((t=>r.runEditorCommand(t,i,e,s).finally((()=>{oX._activeAlternativeCommands.delete(this.desc.id)}))))}}),(t=>{n.error(t)})).finally((()=>{f.dispose()}));return r.showWhile(p,250),p}async _onResult(t,i,e,s,n){const o=this._getGoToPreference(e);if(e instanceof UJ||!(this.configuration.openInPeek||"peek"===o&&s.references.length>1)){const r=s.firstReference(),h=s.references.length>1&&"gotoAndPeek"===o,c=await this._openReference(e,t,r,this.configuration.openToSide,!h);h&&c?this._openInPeek(c,s,n):s.dispose(),"goto"===o&&i.put(r)}else this._openInPeek(e,s,n)}async _openReference(t,i,e,s,n){let o;var r;if((r=e)&&ms.isUri(r.uri)&&Ms.isIRange(r.range)&&(Ms.isIRange(r.originSelectionRange)||Ms.isIRange(r.targetSelectionRange))&&(o=e.targetSelectionRange),o||(o=e.range),!o)return;const h=await i.openCodeEditor({resource:e.uri,options:{selection:Ms.collapseToStart(o),selectionRevealType:3,selectionSource:"code.jump"}},t,s);if(h){if(n){const t=h.getModel(),i=h.createDecorationsCollection([{range:o,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{h.getModel()===t&&i.clear()}),350)}return h}}_openInPeek(t,i,e){const s=_Y.get(t);s&&t.hasModel()?s.toggleWidget(null!=e?e:t.getSelection(),nc((()=>Promise.resolve(i))),this.configuration.openInPeek):i.dispose()}}oX._allSymbolNavigationCommands=new Map,oX._activeAlternativeCommands=new Set;class rX extends oX{async _getLocationModel(t,i,e,s){return new pY(await VY(t.definitionProvider,i,e,s),ot(0,"Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?ot(0,"No definition found for '{0}'",t.word):ot(0,"No definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleDefinitions}}$h(((QY=class extends rX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:QY.id,title:{value:ot(0,"Go to Definition"),original:"Go to Definition",mnemonicTitle:ot(0,"Go to &&Definition")},precondition:zr.and(YC.hasDefinitionProvider,YC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:YC.editorTextFocus,primary:70,weight:100},{when:zr.and(YC.editorTextFocus,yW),primary:2118,weight:100}],menu:[{id:Rh.EditorContext,group:"navigation",order:1.1},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Dr.registerCommandAlias("editor.action.goToDeclaration",QY.id)}}).id="editor.action.revealDefinition",QY)),$h(((JY=class extends rX{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:JY.id,title:{value:ot(0,"Open Definition to the Side"),original:"Open Definition to the Side"},precondition:zr.and(YC.hasDefinitionProvider,YC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:YC.editorTextFocus,primary:Ne(2089,70),weight:100},{when:zr.and(YC.editorTextFocus,yW),primary:Ne(2089,2118),weight:100}]}),Dr.registerCommandAlias("editor.action.openDeclarationToTheSide",JY.id)}}).id="editor.action.revealDefinitionAside",JY)),$h(((YY=class extends rX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:YY.id,title:{value:ot(0,"Peek Definition"),original:"Peek Definition"},precondition:zr.and(YC.hasDefinitionProvider,iY.notInPeekEditor,YC.isInWalkThroughSnippet.toNegated()),keybinding:{when:YC.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Rh.EditorContextPeek,group:"peek",order:2}}),Dr.registerCommandAlias("editor.action.previewDeclaration",YY.id)}}).id="editor.action.peekDefinition",YY));class hX extends oX{async _getLocationModel(t,i,e,s){return new pY(await UY(t.declarationProvider,i,e,s),ot(0,"Declarations"))}_getNoResultFoundMessage(t){return t&&t.word?ot(0,"No declaration found for '{0}'",t.word):ot(0,"No declaration found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDeclarationCommand}_getGoToPreference(t){return t.getOption(58).multipleDeclarations}}$h(((XY=class extends hX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:XY.id,title:{value:ot(0,"Go to Declaration"),original:"Go to Declaration",mnemonicTitle:ot(0,"Go to &&Declaration")},precondition:zr.and(YC.hasDeclarationProvider,YC.isInWalkThroughSnippet.toNegated()),menu:[{id:Rh.EditorContext,group:"navigation",order:1.3},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(t){return t&&t.word?ot(0,"No declaration found for '{0}'",t.word):ot(0,"No declaration found")}}).id="editor.action.revealDeclaration",XY)),$h(class extends hX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:{value:ot(0,"Peek Declaration"),original:"Peek Declaration"},precondition:zr.and(YC.hasDeclarationProvider,iY.notInPeekEditor,YC.isInWalkThroughSnippet.toNegated()),menu:{id:Rh.EditorContextPeek,group:"peek",order:3}})}});class cX extends oX{async _getLocationModel(t,i,e,s){return new pY(await KY(t.typeDefinitionProvider,i,e,s),ot(0,"Type Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?ot(0,"No type definition found for '{0}'",t.word):ot(0,"No type definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleTypeDefinitions}}$h(((tX=class extends cX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:tX.ID,title:{value:ot(0,"Go to Type Definition"),original:"Go to Type Definition",mnemonicTitle:ot(0,"Go to &&Type Definition")},precondition:zr.and(YC.hasTypeDefinitionProvider,YC.isInWalkThroughSnippet.toNegated()),keybinding:{when:YC.editorTextFocus,primary:0,weight:100},menu:[{id:Rh.EditorContext,group:"navigation",order:1.4},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}).ID="editor.action.goToTypeDefinition",tX)),$h(((iX=class extends cX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:iX.ID,title:{value:ot(0,"Peek Type Definition"),original:"Peek Type Definition"},precondition:zr.and(YC.hasTypeDefinitionProvider,iY.notInPeekEditor,YC.isInWalkThroughSnippet.toNegated()),menu:{id:Rh.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",iX));class aX extends oX{async _getLocationModel(t,i,e,s){return new pY(await qY(t.implementationProvider,i,e,s),ot(0,"Implementations"))}_getNoResultFoundMessage(t){return t&&t.word?ot(0,"No implementation found for '{0}'",t.word):ot(0,"No implementation found")}_getAlternativeCommand(t){return t.getOption(58).alternativeImplementationCommand}_getGoToPreference(t){return t.getOption(58).multipleImplementations}}$h(((eX=class extends aX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:eX.ID,title:{value:ot(0,"Go to Implementations"),original:"Go to Implementations",mnemonicTitle:ot(0,"Go to &&Implementations")},precondition:zr.and(YC.hasImplementationProvider,YC.isInWalkThroughSnippet.toNegated()),keybinding:{when:YC.editorTextFocus,primary:2118,weight:100},menu:[{id:Rh.EditorContext,group:"navigation",order:1.45},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}).ID="editor.action.goToImplementation",eX)),$h(((sX=class extends aX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:sX.ID,title:{value:ot(0,"Peek Implementations"),original:"Peek Implementations"},precondition:zr.and(YC.hasImplementationProvider,iY.notInPeekEditor,YC.isInWalkThroughSnippet.toNegated()),keybinding:{when:YC.editorTextFocus,primary:3142,weight:100},menu:{id:Rh.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",sX));class lX extends oX{_getNoResultFoundMessage(t){return t?ot(0,"No references found for '{0}'",t.word):ot(0,"No references found")}_getAlternativeCommand(t){return t.getOption(58).alternativeReferenceCommand}_getGoToPreference(t){return t.getOption(58).multipleReferences}}$h(class extends lX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{value:ot(0,"Go to References"),original:"Go to References",mnemonicTitle:ot(0,"Go to &&References")},precondition:zr.and(YC.hasReferenceProvider,iY.notInPeekEditor,YC.isInWalkThroughSnippet.toNegated()),keybinding:{when:YC.editorTextFocus,primary:1094,weight:100},menu:[{id:Rh.EditorContext,group:"navigation",order:1.45},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(t,i,e,s){return new pY(await GY(t.referenceProvider,i,e,!0,s),ot(0,"References"))}}),$h(class extends lX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:{value:ot(0,"Peek References"),original:"Peek References"},precondition:zr.and(YC.hasReferenceProvider,iY.notInPeekEditor,YC.isInWalkThroughSnippet.toNegated()),menu:{id:Rh.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(t,i,e,s){return new pY(await GY(t.referenceProvider,i,e,!1,s),ot(0,"References"))}});class uX extends oX{constructor(t,i,e){super(t,{id:"editor.action.goToLocation",title:{value:ot(0,"Go to Any Symbol"),original:"Go to Any Symbol"},precondition:zr.and(iY.notInPeekEditor,YC.isInWalkThroughSnippet.toNegated())}),this._references=i,this._gotoMultipleBehaviour=e}async _getLocationModel(t,i,e,s){return new pY(this._references,ot(0,"Locations"))}_getNoResultFoundMessage(t){return t&&ot(0,"No results for '{0}'",t.word)||""}_getGoToPreference(t){var i;return null!==(i=this._gotoMultipleBehaviour)&&void 0!==i?i:t.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Dr.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:ms},{name:"position",description:"The position at which to start",constraint:As.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(t,i,e,s,n,o,r)=>{q(ms.isUri(i)),q(As.isIPosition(e)),q(Array.isArray(s)),q(void 0===n||"string"==typeof n),q(void 0===r||"boolean"==typeof r);const h=t.get(fr),c=await h.openCodeEditor({resource:i},h.getFocusedCodeEditor());if(DK(c))return c.setPosition(e),c.revealPositionInCenterIfOutsideViewport(e,0),c.invokeWithinContext((t=>{const i=new class extends uX{_getNoResultFoundMessage(t){return o||super._getNoResultFoundMessage(t)}}({muteMessage:!Boolean(o),openInPeek:Boolean(r),openToSide:!1},s,n);t.get(ur).invokeFunction(i.run.bind(i),c)}))}}),Dr.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:ms},{name:"position",description:"The position at which to start",constraint:As.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:async(t,i,e,s,n)=>{t.get(Sr).executeCommand("editor.action.goToLocations",i,e,s,n,void 0,!0)}}),Dr.registerCommand({id:"editor.action.findReferences",handler:(t,i,e)=>{q(ms.isUri(i)),q(As.isIPosition(e));const s=t.get(xg),n=t.get(fr);return n.openCodeEditor({resource:i},n.getFocusedCodeEditor()).then((t=>{if(!DK(t)||!t.hasModel())return;const i=_Y.get(t);if(!i)return;const n=nc((i=>GY(s.referenceProvider,t.getModel(),As.lift(e),!1,i).then((t=>new pY(t,ot(0,"References")))))),o=new Ms(e.lineNumber,e.column,e.lineNumber,e.column);return Promise.resolve(i.toggleWidget(o,n,!1))}))}}),Dr.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var dX,fX=function(t,i){return function(e,s){i(e,s,t)}};let pX=dX=class{constructor(t,i,e,s){this.textModelResolverService=i,this.languageService=e,this.languageFeaturesService=s,this.toUnhook=new Xi,this.toUnhookForKeyboard=new Xi,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=t,this.linkDecorations=this.editor.createDecorationsCollection();const n=new HJ(t);this.toUnhook.add(n),this.toUnhook.add(n.onMouseMoveOrRelevantKeyDown((([t,i])=>{this.startFindDefinitionFromMouse(t,null!=i?i:void 0)}))),this.toUnhook.add(n.onExecute((t=>{this.isEnabled(t)&&this.gotoDefinition(t.target.position,t.hasSideBySideModifier).catch((t=>{Bi(t)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(n.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(t){return t.getContribution(dX.ID)}async startFindDefinitionFromCursor(t){await this.startFindDefinition(t),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition((()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()}))),this.toUnhookForKeyboard.add(this.editor.onKeyDown((t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())})))}startFindDefinitionFromMouse(t,i){if(!(9===t.target.type&&this.linkDecorations.length>0))return this.editor.hasModel()&&this.isEnabled(t,i)?void this.startFindDefinition(t.target.position):(this.currentWordAtPosition=null,void this.removeLinkDecorations())}async startFindDefinition(t){var i;this.toUnhookForKeyboard.clear();const e=t?null===(i=this.editor.getModel())||void 0===i?void 0:i.getWordAtPosition(t):null;if(!e)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===e.startColumn&&this.currentWordAtPosition.endColumn===e.endColumn&&this.currentWordAtPosition.word===e.word)return;this.currentWordAtPosition=e;const s=new xK(this.editor,15);let n;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=nc((i=>this.findDefinition(t,i)));try{n=await this.previousPromise}catch(t){return void Bi(t)}if(!n||!n.length||!s.validate(this.editor))return void this.removeLinkDecorations();const o=n[0].originSelectionRange?Ms.lift(n[0].originSelectionRange):new Ms(t.lineNumber,e.startColumn,t.lineNumber,e.endColumn);if(n.length>1){let t=o;for(const{originSelectionRange:i}of n)i&&(t=Ms.plusRange(t,i));this.addDecoration(t,(new N_).appendText(ot(0,"Click to show {0} definitions.",n.length)))}else{const t=n[0];if(!t.uri)return;this.textModelResolverService.createModelReference(t.uri).then((i=>{if(!i.object||!i.object.textEditorModel)return void i.dispose();const{object:{textEditorModel:e}}=i,{startLineNumber:s}=t.range;if(s<1||s>e.getLineCount())return void i.dispose();const n=this.getPreviewValue(e,s,t),r=this.languageService.guessLanguageIdByFilepathOrFirstLine(e.uri);this.addDecoration(o,n?(new N_).appendCodeblock(r||"",n):void 0),i.dispose()}))}}getPreviewValue(t,i,e){let s=e.range;return s.endLineNumber-s.startLineNumber>=dX.MAX_SOURCE_PREVIEW_LINES&&(s=this.getPreviewRangeBasedOnIndentation(t,i)),this.stripIndentationFromPreviewRange(t,i,s)}stripIndentationFromPreviewRange(t,i,e){let s=t.getLineFirstNonWhitespaceColumn(i);for(let n=i+1;n{const e=!i&&this.editor.getOption(87)&&!this.isInPeekEditor(t);return new rX({openToSide:i,openInPeek:e,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t)}))}isInPeekEditor(t){const i=t.get(ah);return iY.inPeekEditor.getValue(i)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};pX.ID="editor.contrib.gotodefinitionatposition",pX.MAX_SOURCE_PREVIEW_LINES=8,pX=dX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([fX(1,gr),fX(2,yd),fX(3,xg)],pX),lu(pX.ID,pX,2);const gX=$l;class mX extends te{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new Tk(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class wX extends te{static render(t,i,e){return new wX(t,i,e)}constructor(t,i,e){super(),this.actionContainer=Ol(t,gX("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=Ol(this.actionContainer,gX("a.action")),this.action.setAttribute("role","button"),i.iconClass&&Ol(this.action,gX(`span.icon.${i.iconClass}`)),Ol(this.action,gX("span")).textContent=e?`${i.label} (${e})`:i.label,this._register(Va(this.actionContainer,Ll.CLICK,(t=>{t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer)}))),this._register(Va(this.actionContainer,Ll.KEY_DOWN,(t=>{const e=new Qh(t);(e.equals(3)||e.equals(10))&&(t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer))}))),this.setEnabled(!0)}setEnabled(t){t?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}class vX{constructor(t,i,e){this.value=t,this.isComplete=i,this.hasLoadingMessage=e}}class bX extends te{constructor(t,i){super(),this._editor=t,this._computer=i,this._onResult=this._register(new de),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new pc((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new pc((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new pc((()=>this._triggerLoadingMessage()),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(t,i=!0){this._state=t,i&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=function(t){const i=new Ce,e=t(i.token);return new xc(i,(async t=>{const s=i.token.onCancellationRequested((()=>{s.dispose(),i.dispose(),t.reject(new zi)}));try{for await(const s of e){if(i.token.isCancellationRequested)return;t.emitOne(s)}s.dispose(),i.dispose()}catch(e){s.dispose(),i.dispose(),t.reject(e)}}))}((t=>this._computer.computeAsync(t))),(async()=>{try{for await(const t of this._asyncIterable)t&&(this._result.push(t),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(t){Bi(t)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const t=0===this._state,i=4===this._state;this._onResult.fire(new vX(this._result.slice(0),t,i))}start(t){if(0===t)0===this._state&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class yX{constructor(t,i,e,s){this.priority=t,this.range=i,this.initialMousePosX=e,this.initialMousePosY=s,this.type=1}equals(t){return 1===t.type&&this.range.equalsRange(t.range)}canAdoptVisibleHover(t,i){return 1===t.type&&i.lineNumber===this.range.startLineNumber}}class kX{constructor(t,i,e,s,n,o){this.priority=t,this.owner=i,this.range=e,this.initialMousePosX=s,this.initialMousePosY=n,this.supportsMarkerHover=o,this.type=2}equals(t){return 2===t.type&&this.owner===t.owner}canAdoptVisibleHover(t,i){return 2===t.type&&this.owner===t.owner}}const xX=new class{constructor(){this._participants=[]}register(t){this._participants.push(t)}getAll(){return this._participants}};class CX{constructor(){let t;this._onDidWillResize=new de,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new de,this.onDidResize=this._onDidResize.event,this._sashListener=new Xi,this._size=new el(0,0),this._minSize=new el(0,0),this._maxSize=new el(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new VP(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new VP(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new VP(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:NP.North}),this._southSash=new VP(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:NP.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let i=0,e=0;this._sashListener.add(he.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{void 0===t&&(this._onDidWillResize.fire(),t=this._size,i=0,e=0)}))),this._sashListener.add(he.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{void 0!==t&&(t=void 0,i=0,e=0,this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(this._eastSash.onDidChange((s=>{t&&(e=s.currentX-s.startX,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))}))),this._sashListener.add(this._westSash.onDidChange((s=>{t&&(e=-(s.currentX-s.startX),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))}))),this._sashListener.add(this._northSash.onDidChange((s=>{t&&(i=-(s.currentY-s.startY),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}))),this._sashListener.add(this._southSash.onDidChange((s=>{t&&(i=s.currentY-s.startY,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))}))),this._sashListener.add(he.any(this._eastSash.onDidReset,this._westSash.onDidReset)((()=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(he.any(this._northSash.onDidReset,this._southSash.onDidReset)((()=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))})))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(t,i,e,s){this._northSash.state=t?3:0,this._eastSash.state=i?3:0,this._southSash.state=e?3:0,this._westSash.state=s?3:0}layout(t=this.size.height,i=this.size.width){const{height:e,width:s}=this._minSize,{height:n,width:o}=this._maxSize;t=Math.max(e,Math.min(n,t)),i=Math.max(s,Math.min(o,i));const r=new el(i,t);el.equals(r,this._size)||(this.domNode.style.height=t+"px",this.domNode.style.width=i+"px",this._size=r,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(t){this._maxSize=t}get maxSize(){return this._maxSize}set minSize(t){this._minSize=t}get minSize(){return this._minSize}set preferredSize(t){this._preferredSize=t}get preferredSize(){return this._preferredSize}}class SX extends te{constructor(t,i=new el(10,10)){super(),this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new CX),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=el.lift(i),this._resizableNode.layout(i.height,i.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((t=>{this._resize(new el(t.dimension.width,t.dimension.height)),t.done&&(this._isResizing=!1)}))),this._register(this._resizableNode.onDidWillResize((()=>{this._isResizing=!0})))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var t;return(null===(t=this._contentPosition)||void 0===t?void 0:t.position)?As.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(i&&e)return nl(i).top+e.top-30}_availableVerticalSpaceBelow(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(!i||!e)return;const s=nl(i);return tl(i.ownerDocument.body).height-(s.top+e.top+e.height)-24}_findPositionPreference(t,i){var e,s;const n=Math.min(null!==(e=this._availableVerticalSpaceBelow(i))&&void 0!==e?e:1/0,t),o=Math.min(null!==(s=this._availableVerticalSpaceAbove(i))&&void 0!==s?s:1/0,t),r=Math.min(Math.max(o,n),t),h=Math.min(t,r);let c;return c=this._editor.getOption(60).above?h<=o?1:2:h<=n?2:1,1===c?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),c}_resize(t){this._resizableNode.layout(t.height,t.width)}}var DX,EX,AX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},MX=function(t,i){return function(e,s){i(e,s,t)}};const LX=$l;let FX=DX=class extends te{constructor(t,i,e){super(),this._editor=t,this._instantiationService=i,this._keybindingService=e,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(IX,this._editor)),this._participants=[];for(const t of xX.getAll())this._participants.push(this._instantiationService.createInstance(t,this._editor));this._participants.sort(((t,i)=>t.hoverOrdinal-i.hoverOrdinal)),this._computer=new NX(this._editor,this._participants),this._hoverOperation=this._register(new bX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new TX(this._computer.anchor,i,t.isComplete))}))),this._register(qa(this._widget.getDomNode(),"keydown",(t=>{t.equals(9)&&this.hide()}))),this._register(Zs.onDidChange((()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})))}get widget(){return this._widget}maybeShowAt(t){if(this._widget.isResizing)return!0;const i=[];for(const e of this._participants)if(e.suggestHoverAnchor){const s=e.suggestHoverAnchor(t);s&&i.push(s)}const e=t.target;if(6===e.type&&i.push(new yX(0,e.range,t.event.posx,t.event.posy)),7===e.type){const s=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!e.detail.isAfterLines&&"number"==typeof e.detail.horizontalDistanceToText&&e.detail.horizontalDistanceToTexti.priority-t.priority)),this._startShowingOrUpdateHover(i[0],0,0,!1,t))}startShowingAtRange(t,i,e,s){this._startShowingOrUpdateHover(new yX(0,t,void 0,void 0),i,e,s,null)}_startShowingOrUpdateHover(t,i,e,s,n){return this._widget.position&&this._currentResult?this._editor.getOption(60).sticky&&n&&this._widget.isMouseGettingCloser(n.event.posx,n.event.posy)?(t&&this._startHoverOperationIfNecessary(t,i,e,s,!0),!0):t?!(!t||!this._currentResult.anchor.equals(t))||(t.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(t)),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)):(this._setCurrentResult(null),!1):!!t&&(this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)}_startHoverOperationIfNecessary(t,i,e,s,n){this._computer.anchor&&this._computer.anchor.equals(t)||(this._hoverOperation.cancel(),this._computer.anchor=t,this._computer.shouldFocus=s,this._computer.source=e,this._computer.insistOnKeepingHoverVisible=n,this._hoverOperation.start(i))}_setCurrentResult(t){this._currentResult!==t&&(t&&0===t.messages.length&&(t=null),this._currentResult=t,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}containsNode(t){return!!t&&this._widget.getDomNode().contains(t)}_addLoadingMessage(t){if(this._computer.anchor)for(const i of this._participants)if(i.createLoadingMessage){const e=i.createLoadingMessage(this._computer.anchor);if(e)return t.slice(0).concat([e])}return t}_withResult(t){if(this._widget.position&&this._currentResult&&this._currentResult.isComplete){if(!t.isComplete)return;if(this._computer.insistOnKeepingHoverVisible&&0===t.messages.length)return}this._setCurrentResult(t)}_renderMessages(t,i){const{showAtPosition:e,showAtSecondaryPosition:s,highlightRange:n}=DX.computeHoverRanges(this._editor,t.range,i),o=new Xi,r=o.add(new _X(this._keybindingService)),h=document.createDocumentFragment();let c=null;const a={fragment:h,statusBar:r,setColorPicker:t=>c=t,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:t=>this._widget.setMinimumDimensions(t),hide:()=>this.hide()};for(const t of this._participants){const e=i.filter((i=>i.owner===t));e.length>0&&o.add(t.renderHoverParts(a,e))}const l=i.some((t=>t.isBeforeContent));if(r.hasContent&&h.appendChild(r.hoverElement),h.hasChildNodes()){if(n){const t=this._editor.createDecorationsCollection();t.set([{range:n,options:DX._DECORATION_OPTIONS}]),o.add(Yi((()=>{t.clear()})))}this._widget.showAt(h,new OX(c,e,s,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,l,t.initialMousePosX,t.initialMousePosY,o))}else o.dispose()}static computeHoverRanges(t,i,e){let s=1;if(t.hasModel()){const e=t._getViewModel(),n=e.coordinatesConverter,o=n.convertModelRangeToViewRange(i),r=new As(o.startLineNumber,e.getLineMinColumn(o.startLineNumber));s=n.convertViewPositionToModelPosition(r).column}const n=i.startLineNumber;let o=i.startColumn,r=e[0].range,h=null;for(const t of e)r=Ms.plusRange(r,t.range),t.range.startLineNumber===n&&t.range.endLineNumber===n&&(o=Math.max(Math.min(o,t.range.startColumn),s)),t.forceShowAtRange&&(h=t.range);return{showAtPosition:h?h.getStartPosition():new As(n,i.startColumn),showAtSecondaryPosition:h?h.getStartPosition():new As(n,o),highlightRange:r}}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}};FX._DECORATION_OPTIONS=AL.register({description:"content-hover-highlight",className:"hoverHighlight"}),FX=DX=AX([MX(1,ur),MX(2,oC)],FX);class TX{constructor(t,i,e){this.anchor=t,this.messages=i,this.isComplete=e}filter(t){const i=this.messages.filter((i=>i.isValidForHoverAnchor(t)));return i.length===this.messages.length?this:new RX(this,this.anchor,i,this.isComplete)}}class RX extends TX{constructor(t,i,e,s){super(i,e,s),this.original=t}filter(t){return this.original.filter(t)}}class OX{constructor(t,i,e,s,n,o,r,h,c,a){this.colorPicker=t,this.showAtPosition=i,this.showAtSecondaryPosition=e,this.preferAbove=s,this.stoleFocus=n,this.source=o,this.isBeforeContent=r,this.initialMousePosX=h,this.initialMousePosY=c,this.disposables=a,this.closestMouseDistance=void 0}}let IX=EX=class extends SX{get isColorPickerVisible(){var t;return Boolean(null===(t=this._visibleData)||void 0===t?void 0:t.colorPicker)}get isVisibleFromKeyboard(){var t;return 1===(null===(t=this._visibleData)||void 0===t?void 0:t.source)}get isVisible(){var t;return null!==(t=this._hoverVisibleKey.get())&&void 0!==t&&t}get isFocused(){var t;return null!==(t=this._hoverFocusedKey.get())&&void 0!==t&&t}constructor(t,i,e,s,n){const o=t.getOption(66)+8,r=new el(150,o);super(t,r),this._configurationService=e,this._accessibilityService=s,this._keybindingService=n,this._hover=this._register(new mX),this._minimumSize=r,this._hoverVisibleKey=YC.hoverVisible.bindTo(i),this._hoverFocusedKey=YC.hoverFocused.bindTo(i),Ol(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange((()=>{this.isVisible&&this._updateMaxDimensions()}))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()})));const h=this._register(Rl(this._resizableNode.domNode));this._register(h.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(h.onDidBlur((()=>{this._hoverFocusedKey.set(!1)}))),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var t;super.dispose(),null===(t=this._visibleData)||void 0===t||t.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return EX.ID}static _applyDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.width="number"==typeof i?`${i}px`:i,t.style.height=s}_setContentsDomNodeDimensions(t,i){return EX._applyDimensions(this._hover.contentsDomNode,t,i)}_setContainerDomNodeDimensions(t,i){return EX._applyDimensions(this._hover.containerDomNode,t,i)}_setHoverWidgetDimensions(t,i){this._setContentsDomNodeDimensions(t,i),this._setContainerDomNodeDimensions(t,i),this._layoutContentWidget()}static _applyMaxDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.maxWidth="number"==typeof i?`${i}px`:i,t.style.maxHeight=s}_setHoverWidgetMaxDimensions(t,i){EX._applyMaxDimensions(this._hover.contentsDomNode,t,i),EX._applyMaxDimensions(this._hover.containerDomNode,t,i),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof t?`${t}px`:t),this._layoutContentWidget()}_hasHorizontalScrollbar(){const t=this._hover.scrollbar.getScrollDimensions();return t.scrollWidth>t.width}_adjustContentsBottomPadding(){const t=this._hover.contentsDomNode,i=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;t.style.paddingBottom!==i&&(t.style.paddingBottom=i)}_setAdjustedHoverWidgetDimensions(t){this._setHoverWidgetMaxDimensions("none","none");const i=t.width,e=t.height;this._setHoverWidgetDimensions(i,e),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(i,e-10))}_updateResizableNodeMaxDimensions(){var t,i;const e=null!==(t=this._findMaximumRenderingWidth())&&void 0!==t?t:1/0,s=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._resizableNode.maxSize=new el(e,s),this._setHoverWidgetMaxDimensions(e,s)}_resize(t){var i,e;EX._lastDimensions=new el(t.width,t.height),this._setAdjustedHoverWidgetDimensions(t),this._resizableNode.layout(t.height,t.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),null===(e=null===(i=this._visibleData)||void 0===i?void 0:i.colorPicker)||void 0===e||e.layout()}_findAvailableSpaceVertically(){var t;const i=null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition;if(i)return 1===this._positionPreference?this._availableVerticalSpaceAbove(i):this._availableVerticalSpaceBelow(i)}_findMaximumRenderingHeight(){const t=this._findAvailableSpaceVertically();if(!t)return;let i=6;return Array.from(this._hover.contentsDomNode.children).forEach((t=>{i+=t.clientHeight})),this._hasHorizontalScrollbar()&&(i+=10),Math.min(t,i)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const t=Array.from(this._hover.contentsDomNode.children).some((t=>t.scrollWidth>t.clientWidth));return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),t}_findMaximumRenderingWidth(){if(this._editor&&this._editor.hasModel())return this._isHoverTextOverflowing()||this._hover.containerDomNode.clientWidth<(void 0===this._contentWidth?0:this._contentWidth-2)?tl(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(t,i){if(!this._visibleData)return!1;if(void 0===this._visibleData.initialMousePosX||void 0===this._visibleData.initialMousePosY)return this._visibleData.initialMousePosX=t,this._visibleData.initialMousePosY=i,!1;const e=nl(this.getDomNode());void 0===this._visibleData.closestMouseDistance&&(this._visibleData.closestMouseDistance=BX(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,e.left,e.top,e.width,e.height));const s=BX(t,i,e.left,e.top,e.width,e.height);return!(s>this._visibleData.closestMouseDistance+4||(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,s),0))}_setHoverData(t){var i;null===(i=this._visibleData)||void 0===i||i.disposables.dispose(),this._visibleData=t,this._hoverVisibleKey.set(!!t),this._hover.containerDomNode.classList.toggle("hidden",!t)}_updateFont(){const{fontSize:t,lineHeight:i}=this._editor.getOption(50),e=this._hover.contentsDomNode;e.style.fontSize=`${t}px`,e.style.lineHeight=""+i/t,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_updateContent(t){const i=this._hover.contentsDomNode;i.style.paddingBottom="",i.textContent="",i.appendChild(t)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const t=Math.max(this._editor.getLayoutInfo().height/4,250,EX._lastDimensions.height),i=Math.max(.66*this._editor.getLayoutInfo().width,500,EX._lastDimensions.width);this._setHoverWidgetMaxDimensions(i,t)}_render(t,i){this._setHoverData(i),this._updateFont(),this._updateContent(t),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var t;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[null!==(t=this._positionPreference)&&void 0!==t?t:1]}:null}showAt(t,i){var e,s,n,o;if(!this._editor||!this._editor.hasModel())return;this._render(t,i);const r=cl(this._hover.containerDomNode);this._positionPreference=null!==(e=this._findPositionPreference(r,i.showAtPosition))&&void 0!==e?e:1,this.onContentsChanged(),i.stoleFocus&&this._hover.containerDomNode.focus(),null===(s=i.colorPicker)||void 0===s||s.layout();const h=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&(c=!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),a=null!==(o=null===(n=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))||void 0===n?void 0:n.getAriaLabel())&&void 0!==o?o:"",c&&a?ot(0,"Inspect this in the accessible view with {0}.",a):c?ot(0,"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):"");var c,a;h&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+h)}hide(){if(!this._visibleData)return;const t=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new el(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),t&&this._editor.focus()}_removeConstraintsRenderNormally(){const t=this._editor.getLayoutInfo();this._resizableNode.layout(t.height,t.width),this._setHoverWidgetDimensions("auto","auto")}_adjustHoverHeightForScrollbar(t){var i;const e=this._hover.containerDomNode,s=this._hover.contentsDomNode,n=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._setContainerDomNodeDimensions(ol(e),Math.min(n,t)),this._setContentsDomNodeDimensions(ol(s),Math.min(n,t-10))}setMinimumDimensions(t){this._minimumSize=new el(Math.max(this._minimumSize.width,t.width),Math.max(this._minimumSize.height,t.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const t=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new el(t,this._minimumSize.height)}onContentsChanged(){var t;this._removeConstraintsRenderNormally();const i=this._hover.containerDomNode;let e=cl(i),s=ol(i);if(this._resizableNode.layout(e,s),this._setHoverWidgetDimensions(s,e),e=cl(i),s=ol(i),this._contentWidth=s,this._updateMinimumWidth(),this._resizableNode.layout(e,s),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(e)),null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition){const t=cl(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(t,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t-i.lineHeight})}scrollDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t+i.lineHeight})}scrollLeft(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t-30})}scrollRight(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t+30})}pageUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t-i})}pageDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t+i})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};IX.ID="editor.contrib.resizableContentHoverWidget",IX._lastDimensions=new el(0,0),IX=EX=AX([MX(1,ah),MX(2,pd),MX(3,Zm),MX(4,oC)],IX);let _X=class extends te{get hasContent(){return this._hasContent}constructor(t){super(),this._keybindingService=t,this._hasContent=!1,this.hoverElement=LX("div.hover-row.status-bar"),this.actionsElement=Ol(this.hoverElement,LX("div.actions"))}addAction(t){const i=this._keybindingService.lookupKeybinding(t.commandId),e=i?i.getLabel():null;return this._hasContent=!0,this._register(wX.render(this.actionsElement,t,e))}append(t){const i=Ol(this.actionsElement,t);return this._hasContent=!0,i}};_X=AX([MX(0,oC)],_X);class NX{get anchor(){return this._anchor}set anchor(t){this._anchor=t}get shouldFocus(){return this._shouldFocus}set shouldFocus(t){this._shouldFocus=t}get source(){return this._source}set source(t){this._source=t}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(t){this._insistOnKeepingHoverVisible=t}constructor(t,i){this._editor=t,this._participants=i,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(t,i){if(1!==i.type&&!i.supportsMarkerHover)return[];const e=t.getModel(),s=i.range.startLineNumber;if(s>e.getLineCount())return[];const n=e.getLineMaxColumn(s);return t.getLineDecorations(s).filter((t=>{if(t.options.isWholeLine)return!0;const e=t.range.startLineNumber===s?t.range.startColumn:1,o=t.range.endLineNumber===s?t.range.endColumn:n;if(t.options.showIfCollapsed){if(e>i.range.startColumn+1||i.range.endColumn-1>o)return!1}else if(e>i.range.startColumn||i.range.endColumn>o)return!1;return!0}))}computeAsync(t){const i=this._anchor;if(!this._editor.hasModel()||!i)return kc.EMPTY;const e=NX._getLineDecorations(this._editor,i);return kc.merge(this._participants.map((s=>s.computeAsync?s.computeAsync(i,e,t):kc.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const t=NX._getLineDecorations(this._editor,this._anchor);let i=[];for(const e of this._participants)i=i.concat(e.computeSync(this._anchor,t));return m(i)}}function BX(t,i,e,s,n,o){const r=s+o/2,h=Math.max(Math.abs(t-(e+n/2))-n/2,0),c=Math.max(Math.abs(i-r)-o/2,0);return Math.sqrt(h*h+c*c)}const PX=$l;class $X extends te{constructor(t,i,e){super(),this._renderDisposeables=this._register(new Xi),this._editor=t,this._isVisible=!1,this._messages=[],this._hover=this._register(new mX),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new lQ({editor:this._editor},i,e)),this._computer=new WX(this._editor),this._hoverOperation=this._register(new bX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{this._withResult(t.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return $X.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(t){this._computer.lineNumber!==t&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(t){this._messages=t,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(t,i){this._renderDisposeables.clear();const e=document.createDocumentFragment();for(const t of i){const i=PX("div.hover-row.markdown-hover"),s=Ol(i,PX("div.hover-contents")),n=this._renderDisposeables.add(this._markdownRenderer.render(t.value));s.appendChild(n.element),e.appendChild(i)}this._updateContents(e),this._showAt(t)}_updateContents(t){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(t),this._updateFont()}_showAt(t){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const i=this._editor.getLayoutInfo(),e=this._editor.getTopForLineNumber(t),s=this._editor.getScrollTop(),n=this._editor.getOption(66),o=e-s-(this._hover.containerDomNode.clientHeight-n)/2;this._hover.containerDomNode.style.left=`${i.glyphMarginLeft+i.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(o),0)}px`}}$X.ID="editor.contrib.modesGlyphHoverWidget";class WX{get lineNumber(){return this._lineNumber}set lineNumber(t){this._lineNumber=t}constructor(t){this._editor=t,this._lineNumber=-1}computeSync(){const t=t=>({value:t}),i=this._editor.getLineDecorations(this._lineNumber),e=[];if(!i)return e;for(const s of i){if(!s.options.glyphMarginClassName)continue;const i=s.options.glyphMarginHoverMessage;i&&!B_(i)&&e.push(...A(i).map(t))}return e}}class jX{constructor(t,i,e){this.provider=t,this.hover=i,this.ordinal=e}}function zX(t,i,e,s){const n=t.ordered(i).map(((t,n)=>async function(t,i,e,s,n){try{const o=await Promise.resolve(t.provideHover(e,s,n));if(o&&function(t){return void 0!==t.range&&void 0!==t.contents&&t.contents&&t.contents.length>0}(o))return new jX(t,o,i)}catch(t){Pi(t)}}(t,n,i,e,s)));return kc.fromPromises(n).coalesce()}ru("_executeHoverProvider",((t,i,e)=>function(t,i,e){return zX(t,i,e,ke.None).map((t=>t.hover)).toPromise()}(t.get(xg).hoverProvider,i,e)));var HX=function(t,i){return function(e,s){i(e,s,t)}};const VX=$l;class UX{constructor(t,i,e,s,n){this.owner=t,this.range=i,this.contents=e,this.isBeforeContent=s,this.ordinal=n}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let qX=class{constructor(t,i,e,s,n){this._editor=t,this._languageService=i,this._openerService=e,this._configurationService=s,this._languageFeaturesService=n,this.hoverOrdinal=3}createLoadingMessage(t){return new UX(this,t.range,[(new N_).appendText(ot(0,"Loading..."))],!1,2e3)}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];let r=1e3;const h=e.getLineLength(s),c=e.getLanguageIdAtPosition(t.range.startLineNumber,t.range.startColumn),a=this._editor.getOption(116),l=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:c});let u=!1;a>=0&&h>a&&t.range.startColumn>=a&&(u=!0,o.push(new UX(this,t.range,[{value:ot(0,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,r++))),!u&&"number"==typeof l&&h>=l&&o.push(new UX(this,t.range,[{value:ot(0,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,r++));let d=!1;for(const e of i){const i=e.range.startLineNumber===s?e.range.startColumn:1,h=e.range.endLineNumber===s?e.range.endColumn:n,c=e.options.hoverMessage;if(!c||B_(c))continue;e.options.beforeContentClassName&&(d=!0);const a=new Ms(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new UX(this,a,A(c),d,r++))}return o}computeAsync(t,i,e){if(!this._editor.hasModel()||1!==t.type)return kc.EMPTY;const s=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(s))return kc.EMPTY;const n=new As(t.range.startLineNumber,t.range.startColumn);return zX(this._languageFeaturesService.hoverProvider,s,n,e).filter((t=>!B_(t.hover.contents))).map((i=>{const e=i.hover.range?Ms.lift(i.hover.range):t.range;return new UX(this,e,i.hover.contents,!1,i.ordinal)}))}renderHoverParts(t,i){return KX(t,i,this._editor,this._languageService,this._openerService)}};function KX(t,i,e,s,n){i.sort(((t,i)=>t.ordinal-i.ordinal));const o=new Xi;for(const r of i)for(const i of r.contents){if(B_(i))continue;const r=VX("div.hover-row.markdown-hover"),h=Ol(r,VX("div.hover-contents")),c=o.add(new lQ({editor:e},s,n));o.add(c.onDidRenderAsync((()=>{h.className="hover-contents code-hover-contents",t.onContentsChanged()})));const a=o.add(c.render(i));h.appendChild(a.element),t.fragment.appendChild(r)}return o}qX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([HX(1,yd),HX(2,dP),HX(3,pd),HX(4,xg)],qX);var GX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},ZX=function(t,i){return function(e,s){i(e,s,t)}};class QX{constructor(t,i,e){this.marker=t,this.index=i,this.total=e}}let JX=class{constructor(t,i,e){this._markerService=i,this._configService=e,this._onDidChange=new de,this.onDidChange=this._onDidChange.event,this._dispoables=new Xi,this._markers=[],this._nextIdx=-1,ms.isUri(t)?this._resourceFilter=i=>i.toString()===t.toString():t&&(this._resourceFilter=t);const s=this._configService.getValue("problems.sortOrder"),n=(t,i)=>{let e=so(t.resource.toString(),i.resource.toString());return 0===e&&(e="position"===s?Ms.compareRangesUsingStarts(t,i)||bP.compare(t.severity,i.severity):bP.compare(t.severity,i.severity)||Ms.compareRangesUsingStarts(t,i)),e},o=()=>{this._markers=this._markerService.read({resource:ms.isUri(t)?t:void 0,severities:bP.Error|bP.Warning|bP.Info}),"function"==typeof t&&(this._markers=this._markers.filter((t=>this._resourceFilter(t.resource)))),this._markers.sort(n)};o(),this._dispoables.add(i.onMarkerChanged((t=>{this._resourceFilter&&!t.some((t=>this._resourceFilter(t)))||(o(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(t){return!this._resourceFilter&&!t||!(!this._resourceFilter||!t)&&this._resourceFilter(t)}get selected(){const t=this._markers[this._nextIdx];return t&&new QX(t,this._nextIdx+1,this._markers.length)}_initIdx(t,i,e){let s=!1,n=this._markers.findIndex((i=>i.resource.toString()===t.uri.toString()));n<0&&(n=u(this._markers,{resource:t.uri},((t,i)=>so(t.resource.toString(),i.resource.toString()))),n<0&&(n=~n));for(let e=n;ei.resource.toString()===t.toString()));if(!(e<0))for(;e{t.preventDefault();const i=this._relatedDiagnostics.get(t.target);i&&e(i)}))),this._scrollable=new Lk(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),t.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((t=>{o.style.left=`-${t.scrollLeft}px`,o.style.top=`-${t.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){Qi(this._disposables)}update(t){const{source:i,message:e,relatedInformation:s,code:n}=t;let o=((null==i?void 0:i.length)||0)+2;n&&(o+="string"==typeof n?n.length:n.value.length);const r=Xn(e);this._lines=r.length,this._longestLineLength=0;for(const t of r)this._longestLineLength=Math.max(t.length+o,this._longestLineLength);za(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(t)),this._editor.applyFontInfo(this._messageBlock);let h=this._messageBlock;for(const t of r)h=document.createElement("div"),h.innerText=t,""===t&&(h.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(h);if(i||n){const t=document.createElement("span");if(t.classList.add("details"),h.appendChild(t),i){const e=document.createElement("span");e.innerText=i,e.classList.add("source"),t.appendChild(e)}if(n)if("string"==typeof n){const i=document.createElement("span");i.innerText=`(${n})`,i.classList.add("code"),t.appendChild(i)}else this._codeLink=$l("a.code-link"),this._codeLink.setAttribute("href",`${n.target.toString()}`),this._codeLink.onclick=t=>{this._openerService.open(n.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()},Ol(this._codeLink,$l("span")).innerText=n.value,t.appendChild(this._codeLink)}if(za(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),b(s)){const t=this._relatedBlock.appendChild(document.createElement("div"));t.style.paddingTop=`${Math.floor(.66*this._editor.getOption(66))}px`,this._lines+=1;for(const i of s){const e=document.createElement("div"),s=document.createElement("a");s.classList.add("filename"),s.innerText=`${this._labelService.getUriBasenameLabel(i.resource)}(${i.startLineNumber}, ${i.startColumn}): `,s.title=this._labelService.getUriLabel(i.resource),this._relatedDiagnostics.set(s,i);const n=document.createElement("span");n.innerText=i.message,e.appendChild(s),e.appendChild(n),this._lines+=1,t.appendChild(e)}}const c=this._editor.getOption(50),a=Math.ceil(c.typicalFullwidthCharacterWidth*this._longestLineLength*.75);this._scrollable.setScrollDimensions({scrollWidth:a,scrollHeight:c.lineHeight*this._lines})}layout(t,i){this._scrollable.getDomNode().style.height=`${t}px`,this._scrollable.getDomNode().style.width=`${i}px`,this._scrollable.setScrollDimensions({width:i,height:t})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(t){let i="";switch(t.severity){case bP.Error:i=ot(0,"Error");break;case bP.Warning:i=ot(0,"Warning");break;case bP.Info:i=ot(0,"Info");break;case bP.Hint:i=ot(0,"Hint")}let e=ot(0,"{0} at {1}. ",i,t.startLineNumber+":"+t.startColumn);const s=this._editor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1&&(e=`${s.getLineContent(t.startLineNumber)}, ${e}`),e}}let n0=i0=class extends nY{constructor(t,i,e,s,n,o,r){super(t,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},n),this._themeService=i,this._openerService=e,this._menuService=s,this._contextKeyService=o,this._labelService=r,this._callOnDispose=new Xi,this._onDidSelectRelatedInformation=new de,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=bP.Warning,this._backgroundColor=lg.white,this._applyTheme(i.getColorTheme()),this._callOnDispose.add(i.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(t){this._backgroundColor=t.getColor(p0);let i=c0,e=a0;this._severity===bP.Warning?(i=l0,e=u0):this._severity===bP.Info&&(i=d0,e=f0);const s=t.getColor(i),n=t.getColor(e);this.style({arrowColor:s,frameColor:s,headerBackgroundColor:n,primaryHeadingColor:t.getColor(rY),secondaryHeadingColor:t.getColor(hY)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(t){super._fillHead(t),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((()=>this.editor.focus())));const i=[],e=this._menuService.createMenu(i0.TitleMenu,this._contextKeyService);UB(e,void 0,i),this._actionbarWidget.push(i,{label:!1,icon:!0,index:0}),e.dispose()}_fillTitleIcon(t){this._icon=Ol(t,$l(""))}_fillBody(t){this._parentContainer=t,t.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),t.appendChild(this._container),this._message=new s0(this._container,this.editor,(t=>this._onDidSelectRelatedInformation.fire(t)),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(t,i,e){this._container.classList.remove("stale"),this._message.update(t),this._severity=t.severity,this._applyTheme(this._themeService.getColorTheme());const s=Ms.lift(t),n=this.editor.getPosition(),o=n&&s.containsPosition(n)?n:s.getStartPosition();super.show(o,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const t=ot(0,e>1?"{0} of {1} problems":"{0} of {1} problem",i,e);this.setTitle(bA(r.uri),t)}this._icon.className=`codicon ${t0.className(bP.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(o,0),this.editor.focus()}updateMarker(t){this._container.classList.remove("stale"),this._message.update(t)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._heightInPixel=t,this._message.layout(t,i),this._container.style.height=`${t}px`}_onWidth(t){this._message.layout(this._heightInPixel,t)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};n0.TitleMenu=new Rh("gotoErrorTitleMenu"),n0=i0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([e0(1,Xk),e0(2,dP),e0(3,Oh),e0(4,ur),e0(5,ah),e0(6,$O)],n0);const o0=uy(ev,sv),r0=uy(nv,ov),h0=uy(rv,hv),c0=dw("editorMarkerNavigationError.background",{dark:o0,light:o0,hcDark:ww,hcLight:ww},ot(0,"Editor marker navigation widget error color.")),a0=dw("editorMarkerNavigationError.headerBackground",{dark:ly(c0,.1),light:ly(c0,.1),hcDark:null,hcLight:null},ot(0,"Editor marker navigation widget error heading background.")),l0=dw("editorMarkerNavigationWarning.background",{dark:r0,light:r0,hcDark:ww,hcLight:ww},ot(0,"Editor marker navigation widget warning color.")),u0=dw("editorMarkerNavigationWarning.headerBackground",{dark:ly(l0,.1),light:ly(l0,.1),hcDark:"#0C141F",hcLight:ly(l0,.2)},ot(0,"Editor marker navigation widget warning heading background.")),d0=dw("editorMarkerNavigationInfo.background",{dark:h0,light:h0,hcDark:ww,hcLight:ww},ot(0,"Editor marker navigation widget info color.")),f0=dw("editorMarkerNavigationInfo.headerBackground",{dark:ly(d0,.1),light:ly(d0,.1),hcDark:null,hcLight:null},ot(0,"Editor marker navigation widget info heading background.")),p0=dw("editorMarkerNavigation.background",{dark:av,light:av,hcDark:av,hcLight:av},ot(0,"Editor marker navigation widget background."));var g0,m0=function(t,i){return function(e,s){i(e,s,t)}};let w0=g0=class{static get(t){return t.getContribution(g0.ID)}constructor(t,i,e,s,n){this._markerNavigationService=i,this._contextKeyService=e,this._editorService=s,this._instantiationService=n,this._sessionDispoables=new Xi,this._editor=t,this._widgetVisible=k0.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(t){if(this._model&&this._model.matches(t))return this._model;let i=!1;return this._model&&(i=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(t),i&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(n0,this._editor),this._widget.onDidClose((()=>this.close()),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition((t=>{var i,e,s;(null===(i=this._model)||void 0===i?void 0:i.selected)&&Ms.containsPosition(null===(e=this._model)||void 0===e?void 0:e.selected.marker,t.position)||null===(s=this._model)||void 0===s||s.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const t=this._model.find(this._editor.getModel().uri,this._widget.position);t?this._widget.updateMarker(t.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((t=>{this._editorService.openCodeEditor({resource:t.resource,options:{pinned:!0,revealIfOpened:!0,selection:Ms.lift(t).collapseToStart()}},this._editor),this.close(!1)}))),this._sessionDispoables.add(this._editor.onDidChangeModel((()=>this._cleanUp()))),this._model}close(t=!0){this._cleanUp(),t&&this._editor.focus()}showAtMarker(t){if(this._editor.hasModel()){const i=this._getOrCreateModel(this._editor.getModel().uri);i.resetIndex(),i.move(!0,this._editor.getModel(),new As(t.startLineNumber,t.startColumn)),i.selected&&this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}}async nagivate(t,i){var e,s;if(this._editor.hasModel()){const n=this._getOrCreateModel(i?void 0:this._editor.getModel().uri);if(n.move(t,this._editor.getModel(),this._editor.getPosition()),!n.selected)return;if(n.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const o=await this._editorService.openCodeEditor({resource:n.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:n.selected.marker}},this._editor);o&&(null===(e=g0.get(o))||void 0===e||e.close(),null===(s=g0.get(o))||void 0===s||s.nagivate(t,i))}else this._widget.showAtMarker(n.selected.marker,n.selected.index,n.selected.total)}}};w0.ID="editor.contrib.markerController",w0=g0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([m0(1,YX),m0(2,ah),m0(3,fr),m0(4,ur)],w0);class v0 extends su{constructor(t,i,e){super(e),this._next=t,this._multiFile=i}async run(t,i){var e;i.hasModel()&&(null===(e=w0.get(i))||void 0===e||e.nagivate(this._next,this._multiFile))}}class b0 extends v0{constructor(){super(!0,!1,{id:b0.ID,label:b0.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:578,weight:100},menuOpts:{menuId:n0.TitleMenu,title:b0.LABEL,icon:Hz("marker-navigation-next",Os.arrowDown,ot(0,"Icon for goto next marker.")),group:"navigation",order:1}})}}b0.ID="editor.action.marker.next",b0.LABEL=ot(0,"Go to Next Problem (Error, Warning, Info)");class y0 extends v0{constructor(){super(!1,!1,{id:y0.ID,label:y0.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:1602,weight:100},menuOpts:{menuId:n0.TitleMenu,title:y0.LABEL,icon:Hz("marker-navigation-previous",Os.arrowUp,ot(0,"Icon for goto previous marker.")),group:"navigation",order:2}})}}y0.ID="editor.action.marker.prev",y0.LABEL=ot(0,"Go to Previous Problem (Error, Warning, Info)"),lu(w0.ID,w0,4),cu(b0),cu(y0),cu(class extends v0{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:ot(0,"Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:66,weight:100},menuOpts:{menuId:Rh.MenubarGoMenu,title:ot(0,"Next &&Problem"),group:"6_problem_nav",order:1}})}}),cu(class extends v0{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:ot(0,"Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:1090,weight:100},menuOpts:{menuId:Rh.MenubarGoMenu,title:ot(0,"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const k0=new ch("markersNavigationVisible",!1);hu(new(eu.bindToContribution(w0.get))({id:"closeMarkersNavigation",precondition:k0,handler:t=>t.close(),kbOpts:{weight:150,kbExpr:YC.focus,primary:9,secondary:[1033]}}));var x0=function(t,i){return function(e,s){i(e,s,t)}};const C0=$l;class S0{constructor(t,i,e){this.owner=t,this.range=i,this.marker=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}const D0={type:1,filter:{include:NZ.QuickFix},triggerAction:BZ.QuickFixHover};let E0=class{constructor(t,i,e,s){this._editor=t,this._markerDecorationsService=i,this._openerService=e,this._languageFeaturesService=s,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type&&!t.supportsMarkerHover)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];for(const r of i){const i=r.range.startLineNumber===s?r.range.startColumn:1,h=r.range.endLineNumber===s?r.range.endColumn:n,c=this._markerDecorationsService.getMarker(e.uri,r);if(!c)continue;const a=new Ms(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new S0(this,a,c))}return o}renderHoverParts(t,i){if(!i.length)return te.None;const e=new Xi;i.forEach((i=>t.fragment.appendChild(this.renderMarkerHover(i,e))));const s=1===i.length?i[0]:i.sort(((t,i)=>bP.compare(t.marker.severity,i.marker.severity)))[0];return this.renderMarkerStatusbar(t,s,e),e}renderMarkerHover(t,i){const e=C0("div.hover-row"),s=Ol(e,C0("div.marker.hover-contents")),{source:n,message:o,code:r,relatedInformation:h}=t.marker;this._editor.applyFontInfo(s);const c=Ol(s,C0("span"));if(c.style.whiteSpace="pre-wrap",c.innerText=o,n||r)if(r&&"string"!=typeof r){const t=C0("span");n&&(Ol(t,C0("span")).innerText=n);const e=Ol(t,C0("a.code-link"));e.setAttribute("href",r.target.toString()),i.add(Va(e,"click",(t=>{this._openerService.open(r.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()}))),Ol(e,C0("span")).innerText=r.value;const o=Ol(s,t);o.style.opacity="0.6",o.style.paddingLeft="6px"}else{const t=Ol(s,C0("span"));t.style.opacity="0.6",t.style.paddingLeft="6px",t.innerText=n&&r?`${n}(${r})`:n||`(${r})`}if(b(h))for(const{message:t,resource:e,startLineNumber:n,startColumn:o}of h){const r=Ol(s,C0("div"));r.style.marginTop="8px";const h=Ol(r,C0("a"));h.innerText=`${bA(e)}(${n}, ${o}): `,h.style.cursor="pointer",i.add(Va(h,"click",(t=>{t.stopPropagation(),t.preventDefault(),this._openerService&&this._openerService.open(e,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:n,startColumn:o}}}).catch(Bi)})));const c=Ol(r,C0("span"));c.innerText=t,this._editor.applyFontInfo(c)}return e}renderMarkerStatusbar(t,i,e){if(i.marker.severity!==bP.Error&&i.marker.severity!==bP.Warning&&i.marker.severity!==bP.Info||t.statusBar.addAction({label:ot(0,"View Problem"),commandId:b0.ID,run:()=>{var e;t.hide(),null===(e=w0.get(this._editor))||void 0===e||e.showAtMarker(i.marker),this._editor.focus()}}),!this._editor.getOption(90)){const s=t.statusBar.append(C0("div"));this.recentMarkerCodeActionsInfo&&(yP.makeKey(this.recentMarkerCodeActionsInfo.marker)===yP.makeKey(i.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(s.textContent=ot(0,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const n=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?te.None:e.add(lc((()=>s.textContent=ot(0,"Checking for quick fixes...")),200));s.textContent||(s.textContent=String.fromCharCode(160));const o=this.getCodeActions(i.marker);e.add(Yi((()=>o.cancel()))),o.then((o=>{if(n.dispose(),this.recentMarkerCodeActionsInfo={marker:i.marker,hasCodeActions:o.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return o.dispose(),void(s.textContent=ot(0,"No quick fixes available"));s.style.display="none";let r=!1;e.add(Yi((()=>{r||o.dispose()}))),t.statusBar.addAction({label:ot(0,"Quick Fix..."),commandId:zZ,run:i=>{r=!0;const e=WQ.get(this._editor),s=nl(i);t.hide(),null==e||e.showCodeActions(D0,o,{x:s.left,y:s.top,width:s.width,height:s.height})}})}),Bi)}}getCodeActions(t){return nc((i=>QZ(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Ms(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),D0,jO.None,i)))}};E0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([x0(1,jm),x0(2,dP),x0(3,xg)],E0);const A0="editor.action.inlineSuggest.commit",M0="editor.action.inlineSuggest.showPrevious",L0="editor.action.inlineSuggest.showNext";var F0,T0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},R0=function(t,i){return function(e,s){i(e,s,t)}};let O0=class extends te{constructor(t,i,e){super(),this.editor=t,this.model=i,this.instantiationService=e,this.alwaysShowToolbar=KV(this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(62).showToolbar)),this.sessionPosition=void 0,this.position=_V(this,(t=>{var i,e,s;const n=null===(i=this.model.read(t))||void 0===i?void 0:i.ghostText.read(t);if(!this.alwaysShowToolbar.read(t)||!n||0===n.parts.length)return this.sessionPosition=void 0,null;const o=n.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==n.lineNumber&&(this.sessionPosition=void 0);const r=new As(n.lineNumber,Math.min(o,null!==(s=null===(e=this.sessionPosition)||void 0===e?void 0:e.column)&&void 0!==s?s:Number.MAX_SAFE_INTEGER));return this.sessionPosition=r,r})),this._register(HV(((i,e)=>{const s=this.model.read(i);if(!s||!this.alwaysShowToolbar.read(i))return;const n=e.add(this.instantiationService.createInstance(N0,this.editor,!0,this.position,s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]}))));t.addContentWidget(n),e.add(Yi((()=>t.removeContentWidget(n)))),e.add(WV((t=>{this.position.read(t)&&s.lastTriggerKind.read(t)!==$s.Explicit&&s.triggerExplicitly()})))})))}};O0=T0([R0(2,ur)],O0);const I0=Hz("inline-suggestion-hints-next",Os.chevronRight,ot(0,"Icon for show next parameter hint.")),_0=Hz("inline-suggestion-hints-previous",Os.chevronLeft,ot(0,"Icon for show previous parameter hint."));let N0=F0=class extends te{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(t,i,e){const s=new mr(t,i,e,!0,(()=>this._commandService.executeCommand(t))),n=this.keybindingService.lookupKeybinding(t,this._contextKeyService);let o=i;return n&&(o=ot(0,"{0} ({1})",i,n.getLabel())),s.tooltip=o,s}constructor(t,i,e,s,n,o,r,h,c,a,u){super(),this.editor=t,this.withBorder=i,this._position=e,this._currentSuggestionIdx=s,this._suggestionCount=n,this._extraCommands=o,this._commandService=r,this.keybindingService=c,this._contextKeyService=a,this._menuService=u,this.id="InlineSuggestionHintsContentWidget"+F0.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Jl("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Jl("div@toolBar")]),this.previousAction=this.createCommandAction(M0,ot(0,"Previous"),Cr.asClassName(_0)),this.availableSuggestionCountAction=new mr("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(L0,ot(0,"Next"),Cr.asClassName(I0)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Rh.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new pc((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new pc((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.lastCommands=[],this.toolBar=this._register(h.createInstance($0,this.nodes.toolBar,Rh.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:t=>t.startsWith("primary")},actionViewItemProvider:t=>{if(t instanceof Bh)return h.createInstance(P0,t,void 0);if(t===this.availableSuggestionCountAction){const i=new B0(void 0,t,{label:!0,icon:!1});return i.setClass("availableSuggestionCount"),i}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((t=>{F0._dropDownVisible=t}))),this._register(WV((t=>{this._position.read(t),this.editor.layoutContentWidget(this)}))),this._register(WV((t=>{const i=this._suggestionCount.read(t),e=this._currentSuggestionIdx.read(t);void 0!==i?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${e+1}/${i}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==i&&i>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()}))),this._register(WV((t=>{const i=this._extraCommands.read(t);if(l(this.lastCommands,i))return;this.lastCommands=i;const e=i.map((t=>({class:void 0,id:t.id,enabled:!0,tooltip:t.tooltip||"",label:t.title,run:()=>this._commandService.executeCommand(t.id)})));for(const[t,i]of this.inlineCompletionsActionsMenus.getActions())for(const t of i)t instanceof Bh&&e.push(t);e.length>0&&e.unshift(new vr),this.toolBar.setAdditionalSecondaryActions(e)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};N0._dropDownVisible=!1,N0.id=0,N0=F0=T0([R0(6,Sr),R0(7,ur),R0(8,oC),R0(9,ah),R0(10,Oh)],N0);class B0 extends wB{constructor(){super(...arguments),this._className=void 0}setClass(t){this._className=t}render(t){super.render(t),this._className&&t.classList.add(this._className)}}class P0 extends KB{updateLabel(){const t=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!t)return super.updateLabel();if(this.label){const i=Jl("div.keybinding").root;new Xj(i,It,{disableTitle:!0,...Yj}).set(t),this.label.textContent=this._action.label,this.label.appendChild(i),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}}let $0=class extends Gq{constructor(t,i,e,s,n,o,r,h){super(t,{resetMenu:i,...e},s,n,o,r,h),this.menuId=i,this.options2=e,this.menuService=s,this.contextKeyService=n,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){var t,i,e,s,n,o,r;const h=[],c=[];UB(this.menu,null===(t=this.options2)||void 0===t?void 0:t.menuOptions,{primary:h,secondary:c},null===(e=null===(i=this.options2)||void 0===i?void 0:i.toolbarOptions)||void 0===e?void 0:e.primaryGroup,null===(n=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===n?void 0:n.shouldInlineSubmenu,null===(r=null===(o=this.options2)||void 0===o?void 0:o.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),c.push(...this.additionalActions),h.unshift(...this.prependedPrimaryActions),this.setActions(h,c)}setPrependedPrimaryActions(t){l(this.prependedPrimaryActions,t,((t,i)=>t===i))||(this.prependedPrimaryActions=t,this.updateToolbar())}setAdditionalSecondaryActions(t){l(this.additionalActions,t,((t,i)=>t===i))||(this.additionalActions=t,this.updateToolbar())}};$0=T0([R0(3,Oh),R0(4,ah),R0(5,lI),R0(6,oC),R0(7,Wh)],$0);var W0,j0=function(t,i){return function(e,s){i(e,s,t)}};let z0=W0=class extends te{static get(t){return t.getContribution(W0.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._instantiationService=i,this._openerService=e,this._languageService=s,this._keybindingService=n,this._toUnhook=new Xi,this._hoverActivatedByColorDecoratorClick=!1,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._reactToEditorMouseMoveRunner=this._register(new pc((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookEvents(),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(60)&&(this._unhookEvents(),this._hookEvents())})))}_hookEvents(){const t=this._editor.getOption(60);this._isHoverEnabled=t.enabled,this._isHoverSticky=t.sticky,this._hidingDelay=t.hidingDelay,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown((t=>this._onEditorMouseDown(t)))),this._toUnhook.add(this._editor.onMouseUp((t=>this._onEditorMouseUp(t)))),this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))):(this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))),this._toUnhook.add(this._editor.onMouseLeave((t=>this._onEditorMouseLeave(t)))),this._toUnhook.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._toUnhook.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._toUnhook.add(this._editor.onDidScrollChange((t=>this._onEditorScrollChanged(t))))}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(t){(t.scrollTopChanged||t.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(t){var i;this._isMouseDown=!0;const e=t.target;9!==e.type||e.detail!==IX.ID?12===e.type&&e.detail===$X.ID||(12!==e.type&&(this._hoverClicked=!1),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||this._hideWidgets()):this._hoverClicked=!0}_onEditorMouseUp(t){this._isMouseDown=!1}_onEditorMouseLeave(t){var i,e;this._cancelScheduler(),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||(null===(e=this._contentWidget)||void 0===e?void 0:e.containsNode(t.event.browserEvent.relatedTarget))||this._hideWidgets()}_isMouseOverWidget(t){var i,e,s,n,o;const r=t.target;return!((!this._isHoverSticky||9!==r.type||r.detail!==IX.ID)&&(!this._isHoverSticky||!(null===(i=this._contentWidget)||void 0===i?void 0:i.containsNode(null===(e=t.event.browserEvent.view)||void 0===e?void 0:e.document.activeElement))||(null===(n=null===(s=t.event.browserEvent.view)||void 0===s?void 0:s.getSelection())||void 0===n?void 0:n.isCollapsed))&&(this._isHoverSticky||9!==r.type||r.detail!==IX.ID||!(null===(o=this._contentWidget)||void 0===o?void 0:o.isColorPickerVisible))&&(!this._isHoverSticky||12!==r.type||r.detail!==$X.ID))}_onEditorMouseMove(t){var i,e,s,n;this._mouseMoveEvent=t,(null===(i=this._contentWidget)||void 0===i?void 0:i.isFocused)||(null===(e=this._contentWidget)||void 0===e?void 0:e.isResizing)||this._isMouseDown&&this._hoverClicked||this._isHoverSticky&&(null===(s=this._contentWidget)||void 0===s?void 0:s.isVisibleFromKeyboard)||(this._isMouseOverWidget(t)?this._reactToEditorMouseMoveRunner.cancel():(null===(n=this._contentWidget)||void 0===n?void 0:n.isVisible)&&this._isHoverSticky&&this._hidingDelay>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hidingDelay):this._reactToEditorMouseMove(t))}_reactToEditorMouseMove(t){var i,e,s;if(!t)return;const n=t.target,o=null===(i=n.element)||void 0===i?void 0:i.classList.contains("colorpicker-color-decoration"),r=this._editor.getOption(146);if((!o||("click"!==r||this._hoverActivatedByColorDecoratorClick)&&("hover"!==r||this._isHoverEnabled)&&("clickAndHover"!==r||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))&&(o||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))return this._getOrCreateContentWidget().maybeShowAt(t)?void(null===(e=this._glyphWidget)||void 0===e||e.hide()):2===n.type&&n.position?(null===(s=this._contentWidget)||void 0===s||s.hide(),this._glyphWidget||(this._glyphWidget=new $X(this._editor,this._languageService,this._openerService)),void this._glyphWidget.startShowingAt(n.position.lineNumber)):void this._hideWidgets();this._hideWidgets()}_onKeyDown(t){var i;if(!this._editor.hasModel())return;const e=this._keybindingService.softDispatch(t,this._editor.getDomNode()),s=1===e.kind||2===e.kind&&"editor.action.showHover"===e.commandId&&(null===(i=this._contentWidget)||void 0===i?void 0:i.isVisible);5===t.keyCode||6===t.keyCode||57===t.keyCode||4===t.keyCode||s||this._hideWidgets()}_hideWidgets(){var t,i,e;this._isMouseDown&&this._hoverClicked&&(null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible)||N0.dropDownVisible||(this._hoverActivatedByColorDecoratorClick=!1,this._hoverClicked=!1,null===(i=this._glyphWidget)||void 0===i||i.hide(),null===(e=this._contentWidget)||void 0===e||e.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(FX,this._editor)),this._contentWidget}showContentHover(t,i,e,s,n=!1){this._hoverActivatedByColorDecoratorClick=n,this._getOrCreateContentWidget().startShowingAtRange(t,i,e,s)}focus(){var t;null===(t=this._contentWidget)||void 0===t||t.focus()}scrollUp(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollUp()}scrollDown(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollDown()}scrollLeft(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollLeft()}scrollRight(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollRight()}pageUp(){var t;null===(t=this._contentWidget)||void 0===t||t.pageUp()}pageDown(){var t;null===(t=this._contentWidget)||void 0===t||t.pageDown()}goToTop(){var t;null===(t=this._contentWidget)||void 0===t||t.goToTop()}goToBottom(){var t;null===(t=this._contentWidget)||void 0===t||t.goToBottom()}get isColorPickerVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible}get isHoverVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isVisible}dispose(){var t,i;super.dispose(),this._unhookEvents(),this._toUnhook.dispose(),null===(t=this._glyphWidget)||void 0===t||t.dispose(),null===(i=this._contentWidget)||void 0===i||i.dispose()}};var H0;z0.ID="editor.contrib.hover",z0=W0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([j0(1,ur),j0(2,dP),j0(3,yd),j0(4,oC)],z0),function(t){t.NoAutoFocus="noAutoFocus",t.FocusIfVisible="focusIfVisible",t.AutoFocusImmediately="autoFocusImmediately"}(H0||(H0={})),lu(z0.ID,z0,2),cu(class extends su{constructor(){super({id:"editor.action.showHover",label:ot(0,"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[H0.NoAutoFocus,H0.FocusIfVisible,H0.AutoFocusImmediately],enumDescriptions:[ot(0,"The hover will not automatically take focus."),ot(0,"The hover will take focus only if it is already visible."),ot(0,"The hover will automatically take focus when it appears.")],default:H0.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2087),weight:100}})}run(t,i,e){if(!i.hasModel())return;const s=z0.get(i);if(!s)return;const n=null==e?void 0:e.focus;let o=H0.FocusIfVisible;n in H0?o=n:"boolean"==typeof n&&n&&(o=H0.AutoFocusImmediately);const r=t=>{const e=i.getPosition(),n=new Ms(e.lineNumber,e.column,e.lineNumber,e.column);s.showContentHover(n,1,1,t)},h=2===i.getOption(2);s.isHoverVisible?o!==H0.NoAutoFocus?s.focus():r(h):r(h||o===H0.AutoFocusImmediately)}}),cu(class extends su{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:ot(0,"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(t,i){const e=z0.get(i);if(!e)return;const s=i.getPosition();if(!s)return;const n=new Ms(s.lineNumber,s.column,s.lineNumber,s.column),o=pX.get(i);o&&o.startFindDefinitionFromCursor(s).then((()=>{e.showContentHover(n,1,1,!0)}))}}),cu(class extends su{constructor(){super({id:"editor.action.scrollUpHover",label:ot(0,"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:YC.hoverFocused,kbOpts:{kbExpr:YC.hoverFocused,primary:16,weight:100}})}run(t,i){const e=z0.get(i);e&&e.scrollUp()}}),cu(class extends su{constructor(){super({id:"editor.action.scrollDownHover",label:ot(0,"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:YC.hoverFocused,kbOpts:{kbExpr:YC.hoverFocused,primary:18,weight:100}})}run(t,i){const e=z0.get(i);e&&e.scrollDown()}}),cu(class extends su{constructor(){super({id:"editor.action.scrollLeftHover",label:ot(0,"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:YC.hoverFocused,kbOpts:{kbExpr:YC.hoverFocused,primary:15,weight:100}})}run(t,i){const e=z0.get(i);e&&e.scrollLeft()}}),cu(class extends su{constructor(){super({id:"editor.action.scrollRightHover",label:ot(0,"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:YC.hoverFocused,kbOpts:{kbExpr:YC.hoverFocused,primary:17,weight:100}})}run(t,i){const e=z0.get(i);e&&e.scrollRight()}}),cu(class extends su{constructor(){super({id:"editor.action.pageUpHover",label:ot(0,"Page Up Hover"),alias:"Page Up Hover",precondition:YC.hoverFocused,kbOpts:{kbExpr:YC.hoverFocused,primary:11,secondary:[528],weight:100}})}run(t,i){const e=z0.get(i);e&&e.pageUp()}}),cu(class extends su{constructor(){super({id:"editor.action.pageDownHover",label:ot(0,"Page Down Hover"),alias:"Page Down Hover",precondition:YC.hoverFocused,kbOpts:{kbExpr:YC.hoverFocused,primary:12,secondary:[530],weight:100}})}run(t,i){const e=z0.get(i);e&&e.pageDown()}}),cu(class extends su{constructor(){super({id:"editor.action.goToTopHover",label:ot(0,"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:YC.hoverFocused,kbOpts:{kbExpr:YC.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(t,i){const e=z0.get(i);e&&e.goToTop()}}),cu(class extends su{constructor(){super({id:"editor.action.goToBottomHover",label:ot(0,"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:YC.hoverFocused,kbOpts:{kbExpr:YC.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(t,i){const e=z0.get(i);e&&e.goToBottom()}}),xX.register(qX),xX.register(E0),nx(((t,i)=>{const e=t.getColor(_v);e&&(i.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${e.transparent(.5)}; }`))}));class V0 extends te{constructor(t){super(),this._editor=t,this._register(t.onMouseDown((t=>this.onMouseDown(t))))}dispose(){super.dispose()}onMouseDown(t){const i=this._editor.getOption(146);if("click"!==i&&"clickAndHover"!==i)return;const e=t.target;if(6!==e.type)return;if(!e.detail.injectedText)return;if(e.detail.injectedText.options.attachedData!==pJ)return;if(!e.range)return;const s=this._editor.getContribution(z0.ID);if(s&&!s.isColorPickerVisible){const t=new Ms(e.range.startLineNumber,e.range.startColumn+1,e.range.endLineNumber,e.range.endColumn+1);s.showContentHover(t,1,0,!1,!0)}}}V0.ID="editor.contrib.colorContribution",lu(V0.ID,V0,2),xX.register(TJ);var U0,q0,K0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},G0=function(t,i){return function(e,s){i(e,s,t)}};let Z0=U0=class extends te{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._modelService=e,this._keybindingService=s,this._instantiationService=n,this._languageFeatureService=o,this._languageConfigurationService=r,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=YC.standaloneColorPickerVisible.bindTo(i),this._standaloneColorPickerFocused=YC.standaloneColorPickerFocused.bindTo(i)}showOrFocus(){var t;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||null===(t=this._standaloneColorPickerWidget)||void 0===t||t.focus():this._standaloneColorPickerWidget=new Q0(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var t;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),null===(t=this._standaloneColorPickerWidget)||void 0===t||t.hide(),this._editor.focus()}insertColor(){var t;null===(t=this._standaloneColorPickerWidget)||void 0===t||t.updateEditor(),this.hide()}static get(t){return t.getContribution(U0.ID)}};Z0.ID="editor.contrib.standaloneColorPickerController",Z0=U0=K0([G0(1,ah),G0(2,pr),G0(3,oC),G0(4,ur),G0(5,xg),G0(6,Xd)],Z0),lu(Z0.ID,Z0,1);let Q0=q0=class extends te{constructor(t,i,e,s,n,o,r,h){var c;super(),this._editor=t,this._standaloneColorPickerVisible=i,this._standaloneColorPickerFocused=e,this._modelService=n,this._keybindingService=o,this._languageFeaturesService=r,this._languageConfigurationService=h,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new de),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=s.createInstance(OJ,this._editor),this._position=null===(c=this._editor._getViewModel())||void 0===c?void 0:c.getPrimaryCursorState().modelState.position;const a=this._editor.getSelection(),l=a?{startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},u=this._register(Rl(this._body));this._register(u.onDidBlur((()=>{this.hide()}))),this._register(u.onDidFocus((()=>{this.focus()}))),this._register(this._editor.onDidChangeCursorPosition((()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()}))),this._register(this._editor.onMouseMove((t=>{var i;const e=null===(i=t.target.element)||void 0===i?void 0:i.classList;e&&e.contains("colorpicker-color-decoration")&&this.hide()}))),this._register(this.onResult((t=>{this._render(t.value,t.foundInEditor)}))),this._start(l),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return q0.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const t=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:t?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(t){const i=await this._computeAsync(t);i&&this._onResult.fire(new J0(i.result,i.foundInEditor))}async _computeAsync(t){if(!this._editor.hasModel())return null;const i={range:t,color:{red:0,green:0,blue:0,alpha:1}},e=await this._standaloneColorPickerParticipant.createColorHover(i,new sJ(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return e?{result:e.colorHover,foundInEditor:e.foundInEditor}:null}_render(t,i){const e=document.createDocumentFragment();let s;const n={fragment:e,statusBar:this._register(new _X(this._keybindingService)),setColorPicker:t=>s=t,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=t,this._register(this._standaloneColorPickerParticipant.renderHoverParts(n,[t])),void 0===s)return;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(e),s.layout();const o=s.body,r=o.saturationBox.domNode.clientWidth,h=o.domNode.clientWidth-r-22-8,c=s.body.enterButton;null==c||c.onClicked((()=>{this.updateEditor(),this.hide()}));const a=s.header;a.pickedColorNode.style.width=r+8+"px",a.originalColorNode.style.width=h+"px";const l=s.header.closeButton;null==l||l.onClicked((()=>{this.hide()})),i&&(c&&(c.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(t.range)),this._editor.layoutContentWidget(this)}};Q0.ID="editor.contrib.standaloneColorPickerWidget",Q0=q0=K0([G0(3,ur),G0(4,pr),G0(5,oC),G0(6,xg),G0(7,Xd)],Q0);class J0{constructor(t,i){this.value=t,this.foundInEditor=i}}cu(class extends su{constructor(){super({id:"editor.action.hideColorPicker",label:ot(0,"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:YC.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(t,i){var e;null===(e=Z0.get(i))||void 0===e||e.hide()}}),cu(class extends su{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:ot(0,"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:YC.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(t,i){var e;null===(e=Z0.get(i))||void 0===e||e.insertColor()}}),$h(class extends ou{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{value:ot(0,"Show or Focus Standalone Color Picker"),mnemonicTitle:ot(0,"&&Show or Focus Standalone Color Picker"),original:"Show or Focus Standalone Color Picker"},precondition:void 0,menu:[{id:Rh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=Z0.get(i))||void 0===e||e.showOrFocus()}});class Y0{constructor(t,i,e){this.languageConfigurationService=e,this._selection=t,this._insertSpace=i,this._usedEndToken=null}static _haystackHasNeedleAtOffset(t,i,e){if(e<0)return!1;const s=i.length;if(e+s>t.length)return!1;for(let n=0;n=65&&s<=90&&s+32===o||o>=65&&o<=90&&o+32===s))return!1}return!0}_createOperationsForBlockComment(t,i,e,s,n,o){const r=t.startLineNumber,h=t.startColumn,c=t.endLineNumber,a=t.endColumn,l=n.getLineContent(r),u=n.getLineContent(c);let d,f=l.lastIndexOf(i,h-1+i.length),p=u.indexOf(e,a-1-e.length);if(-1!==f&&-1!==p)if(r===c)l.substring(f+i.length,p).indexOf(e)>=0&&(f=-1,p=-1);else{const t=l.substring(f+i.length),s=u.substring(0,p);(t.indexOf(e)>=0||s.indexOf(e)>=0)&&(f=-1,p=-1)}-1!==f&&-1!==p?(s&&f+i.length0&&32===u.charCodeAt(p-1)&&(e=" "+e,p-=1),d=Y0._createRemoveBlockCommentOperations(new Ms(r,f+i.length+1,c,p+1),i,e)):(d=Y0._createAddBlockCommentOperations(t,i,e,this._insertSpace),this._usedEndToken=1===d.length?e:null);for(const t of d)o.addTrackedEditOperation(t.range,t.text)}static _createRemoveBlockCommentOperations(t,i,e){const s=[];return Ms.isEmpty(t)?s.push(pO.delete(new Ms(t.startLineNumber,t.startColumn-i.length,t.endLineNumber,t.endColumn+e.length))):(s.push(pO.delete(new Ms(t.startLineNumber,t.startColumn-i.length,t.startLineNumber,t.startColumn))),s.push(pO.delete(new Ms(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn+e.length)))),s}static _createAddBlockCommentOperations(t,i,e,s){const n=[];return Ms.isEmpty(t)?n.push(pO.replace(new Ms(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),i+" "+e)):(n.push(pO.insert(new As(t.startLineNumber,t.startColumn),i+(s?" ":""))),n.push(pO.insert(new As(t.endLineNumber,t.endColumn),(s?" ":"")+e))),n}getEditOperations(t,i){const e=this._selection.startLineNumber,s=this._selection.startColumn;t.tokenization.tokenizeIfCheap(e);const n=t.getLanguageIdAtPosition(e,s),o=this.languageConfigurationService.getLanguageConfiguration(n).comments;o&&o.blockCommentStartToken&&o.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,o.blockCommentStartToken,o.blockCommentEndToken,this._insertSpace,t,i)}computeCursorState(t,i){const e=i.getInverseEditOperations();if(2===e.length){const t=e[0],i=e[1];return new Ls(t.range.endLineNumber,t.range.endColumn,i.range.startLineNumber,i.range.startColumn)}{const t=e[0].range,i=this._usedEndToken?-this._usedEndToken.length-1:0;return new Ls(t.endLineNumber,t.endColumn+i,t.endLineNumber,t.endColumn+i)}}}class X0{constructor(t,i,e,s,n,o,r){this.languageConfigurationService=t,this._selection=i,this._tabSize=e,this._type=s,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=o,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(t,i,e,s){t.tokenization.tokenizeIfCheap(i);const n=t.getLanguageIdAtPosition(i,1),o=s.getLanguageConfiguration(n).comments,r=o?o.lineCommentToken:null;if(!r)return null;const h=[];for(let t=0,s=e-i+1;tr?n-1:n}}}class t1 extends su{constructor(t,i){super(i),this._type=t}run(t,i){const e=t.get(Xd);if(!i.hasModel())return;const s=[],n=i.getModel().getOptions(),o=i.getOption(23),r=i.getSelections().map(((t,i)=>({selection:t,index:i,ignoreFirstLine:!1})));r.sort(((t,i)=>Ms.compareRangesUsingStarts(t.selection,i.selection)));let h=r[0];for(let t=1;tthis._onContextMenu(t)))),this._toDispose.add(this._editor.onMouseWheel((t=>{if(this._contextMenuIsBeingShownCount>0){const i=this._contextViewService.getContextViewElement(),e=t.srcElement;e.shadowRoot&&fl(i)===e.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((t=>{this._editor.getOption(24)&&58===t.keyCode&&(t.preventDefault(),t.stopPropagation(),this.showContextMenu())})))}_onContextMenu(t){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(t.target.position&&!this._editor.getSelection().containsPosition(t.target.position)&&this._editor.setPosition(t.target.position));if(12===t.target.type)return;if(6===t.target.type&&t.target.detail.injectedText)return;if(t.event.preventDefault(),t.event.stopPropagation(),11===t.target.type)return this._showScrollbarContextMenu(t.event);if(6!==t.target.type&&7!==t.target.type&&1!==t.target.type)return;if(this._editor.focus(),t.target.position){let i=!1;for(const e of this._editor.getSelections())if(e.containsPosition(t.target.position)){i=!0;break}i||this._editor.setPosition(t.target.position)}let i=null;1!==t.target.type&&(i=t.event),this.showContextMenu(i)}showContextMenu(t){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const i=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Rh.SimpleEditorContext:Rh.EditorContext);i.length>0&&this._doShowContextMenu(i,t)}_getMenuActions(t,i){const e=[],s=this._menuService.createMenu(i,this._contextKeyService),n=s.getActions({arg:t.uri});s.dispose();for(const i of n){const[,s]=i;let n=0;for(const i of s)if(i instanceof Nh){const s=this._getMenuActions(t,i.item.submenu);s.length>0&&(e.push(new br(i.id,i.label,s)),n++)}else e.push(i),n++;n&&e.push(new vr)}return e.length&&e.pop(),e}_doShowContextMenu(t,i=null){if(!this._editor.hasModel())return;const e=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let s=i;if(!s){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),i=nl(this._editor.getDomNode());s={x:i.left+t.left,y:i.top+t.top+t.height}}const n=this._editor.getOption(126)&&!Mt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:n?this._editor.getDomNode():void 0,getAnchor:()=>s,getActions:()=>t,getActionViewItem:t=>{const i=this._keybindingFor(t);return i?new wB(t,t,{label:!0,keybinding:i.getLabel(),isMenu:!0}):"function"==typeof t.getActionViewItem?t.getActionViewItem():new wB(t,t,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:t=>this._keybindingFor(t),onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:e})}})}_showScrollbarContextMenu(t){if(!this._editor.hasModel())return;if(this._workspaceContextService.getWorkspace().id===XO)return;const i=this._editor.getOption(72);let e=0;const s=t=>({id:"menu-action-"+ ++e,label:t.label,tooltip:"",class:void 0,enabled:void 0===t.enabled||t.enabled,checked:t.checked,run:t.run}),n=(t,i,n,o,r)=>{if(!i)return s({label:t,enabled:i,run:()=>{}});const h=t=>()=>{this._configurationService.updateValue(n,t)},c=[];for(const t of r)c.push(s({label:t.label,checked:o===t.value,run:h(t.value)}));return((t,i)=>new br("menu-action-"+ ++e,t,i,void 0))(t,c)},o=[];o.push(s({label:ot(0,"Minimap"),checked:i.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!i.enabled)}})),o.push(new vr),o.push(s({label:ot(0,"Render Characters"),enabled:i.enabled,checked:i.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!i.renderCharacters)}})),o.push(n(ot(0,"Vertical size"),i.enabled,"editor.minimap.size",i.size,[{label:ot(0,"Proportional"),value:"proportional"},{label:ot(0,"Fill"),value:"fill"},{label:ot(0,"Fit"),value:"fit"}])),o.push(n(ot(0,"Slider"),i.enabled,"editor.minimap.showSlider",i.showSlider,[{label:ot(0,"Mouse Over"),value:"mouseover"},{label:ot(0,"Always"),value:"always"}]));const r=this._editor.getOption(126)&&!Mt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>t,getActions:()=>o,onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(t){return this._keybindingService.lookupKeybinding(t.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};s1.ID="editor.contrib.contextmenu",s1=i1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([e1(1,lI),e1(2,aI),e1(3,ah),e1(4,oC),e1(5,Oh),e1(6,pd),e1(7,ZO)],s1),lu(s1.ID,s1,2),cu(class extends su{constructor(){super({id:"editor.action.showContextMenu",label:ot(0,"Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:YC.textInputFocus,primary:1092,weight:100}})}run(t,i){var e;null===(e=s1.get(i))||void 0===e||e.showContextMenu()}});class n1{constructor(t){this.selections=t}equals(t){const i=this.selections.length;if(i!==t.selections.length)return!1;for(let e=0;e{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeModelContent((()=>{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeCursorSelection((i=>{if(this._isCursorUndoRedo)return;if(!i.oldSelections)return;if(i.oldModelVersionId!==i.modelVersionId)return;const e=new n1(i.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(e)||(this._undoStack.push(new o1(e,t.getScrollTop(),t.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new o1(new n1(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new o1(new n1(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(t){this._isCursorUndoRedo=!0,this._editor.setSelections(t.cursorState.selections),this._editor.setScrollPosition({scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),this._isCursorUndoRedo=!1}}r1.ID="editor.contrib.cursorUndoRedoController",lu(r1.ID,r1,0),cu(class extends su{constructor(){super({id:"cursorUndo",label:ot(0,"Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:YC.textInputFocus,primary:2099,weight:100}})}run(t,i,e){var s;null===(s=r1.get(i))||void 0===s||s.cursorUndo()}}),cu(class extends su{constructor(){super({id:"cursorRedo",label:ot(0,"Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(t,i,e){var s;null===(s=r1.get(i))||void 0===s||s.cursorRedo()}});class h1{constructor(t,i,e){this.selection=t,this.targetPosition=i,this.copy=e,this.targetSelection=null}getEditOperations(t,i){const e=t.getValueInRange(this.selection);this.copy||i.addEditOperation(this.selection,null),i.addEditOperation(new Ms(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),e),this.targetSelection=!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?new Ls(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?new Ls(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumberthis._onEditorMouseDown(t)))),this._register(this._editor.onMouseUp((t=>this._onEditorMouseUp(t)))),this._register(this._editor.onMouseDrag((t=>this._onEditorMouseDrag(t)))),this._register(this._editor.onMouseDrop((t=>this._onEditorMouseDrop(t)))),this._register(this._editor.onMouseDropCanceled((()=>this._onEditorMouseDropCanceled()))),this._register(this._editor.onKeyDown((t=>this.onEditorKeyDown(t)))),this._register(this._editor.onKeyUp((t=>this.onEditorKeyUp(t)))),this._register(this._editor.onDidBlurEditorWidget((()=>this.onEditorBlur()))),this._register(this._editor.onDidBlurEditorText((()=>this.onEditorBlur()))),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(c1(t)&&(this._modifierPressed=!0),this._mouseDown&&c1(t)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(c1(t)&&(this._modifierPressed=!1),this._mouseDown&&t.keyCode===a1.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(t){this._mouseDown=!0}_onEditorMouseUp(t){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(t){const i=t.target;if(null===this._dragSelection){const t=(this._editor.getSelections()||[]).filter((t=>i.position&&t.containsPosition(i.position)));if(1!==t.length)return;this._dragSelection=t[0]}c1(t.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),i.position&&(this._dragSelection.containsPosition(i.position)?this._removeDecoration():this.showAt(i.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){const i=new As(t.target.position.lineNumber,t.target.position.column);if(null===this._dragSelection){let e=null;if(t.event.shiftKey){const t=this._editor.getSelection();if(t){const{selectionStartLineNumber:s,selectionStartColumn:n}=t;e=[new Ls(s,n,i.lineNumber,i.column)]}}else e=(this._editor.getSelections()||[]).map((t=>t.containsPosition(i)?new Ls(i.lineNumber,i.column,i.lineNumber,i.column):t));this._editor.setSelections(e||[],"mouse",3)}else(!this._dragSelection.containsPosition(i)||(c1(t.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(i)||this._dragSelection.getStartPosition().equals(i)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(a1.ID,new h1(this._dragSelection,i,c1(t.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(t){this._dndDecorationIds.set([{range:new Ms(t.lineNumber,t.column,t.lineNumber,t.column),options:a1._DECORATION_OPTIONS}]),this._editor.revealPosition(t,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(t){return 6===t.type||7===t.type}_hitMargin(t){return 2===t.type||3===t.type||4===t.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}a1.ID="editor.contrib.dragAndDrop",a1.TRIGGER_KEY_VALUE=Ct?6:5,a1._DECORATION_OPTIONS=AL.register({description:"dnd-target",className:"dnd-target"}),lu(a1.ID,a1,2);const l1=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let t;t="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(t){for(let i=0;it,asFile:()=>{},value:"string"==typeof t?t:void 0}}class d1{constructor(){this._entries=new Map}get size(){let t=0;for(const i of this._entries)t++;return t}has(t){return this._entries.has(this.toKey(t))}matches(t){const i=[...this._entries.keys()];return Ht.some(this,(([t,i])=>i.asFile()))&&i.push("files"),g1(f1(t),i)}get(t){var i;return null===(i=this._entries.get(this.toKey(t)))||void 0===i?void 0:i[0]}append(t,i){const e=this._entries.get(t);e?e.push(i):this._entries.set(this.toKey(t),[i])}replace(t,i){this._entries.set(this.toKey(t),[i])}delete(t){this._entries.delete(this.toKey(t))}*[Symbol.iterator](){for(const[t,i]of this._entries)for(const e of i)yield[t,e]}toKey(t){return f1(t)}}function f1(t){return t.toLowerCase()}function p1(t,i){return g1(f1(t),i.map(f1))}function g1(t,i){if("*/*"===t)return i.length>0;if(i.includes(t))return!0;const e=t.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!e)return!1;const[s,n,o]=e;return"*"===o&&i.some((t=>t.startsWith(n+"/")))}const m1=Object.freeze({create:t=>y(t.map((t=>t.toString()))).join("\r\n"),split:t=>t.split("\r\n"),parse:t=>m1.split(t).filter((t=>!t.startsWith("#")))});Dh.add("workbench.contributions.dragAndDrop",new class{});class w1{constructor(){}static getInstance(){return w1.INSTANCE}hasData(t){return t&&t===this.proto}getData(t){if(this.hasData(t))return this.data}}function v1(t){const i=new d1;for(const e of t.items){const t=e.type;if("string"===e.kind){const s=new Promise((t=>e.getAsString(t)));i.append(t,u1(s))}else if("file"===e.kind){const s=e.getAsFile();s&&i.append(t,b1(s))}}return i}function b1(t){const i=t.path?ms.parse(t.path):void 0;return function(t,i,e){const s={id:l1(),name:t,uri:i,data:e};return{asString:async()=>"",asFile:()=>s,value:void 0}}(t.name,i,(async()=>new Uint8Array(await t.arrayBuffer())))}w1.INSTANCE=new w1;const y1=Object.freeze(["CodeEditors","CodeFiles",MI.RESOURCES,MI.INTERNAL_URI_LIST]);function k1(t,i=!1){const e=v1(t),s=e.get(MI.INTERNAL_URI_LIST);if(s)e.replace(Dd.uriList,s);else if(i||!e.has(Dd.uriList)){const i=[];for(const e of t.items){const t=e.getAsFile();if(t){const e=t.path;try{i.push(e?ms.file(e).toString():ms.parse(t.name,!0).toString())}catch(t){}}}i.length&&e.replace(Dd.uriList,u1(m1.create(i)))}for(const t of y1)e.delete(t);return e}function x1(t){var i;function e(t,i){return"providerId"in t&&t.providerId===i.providerId||"mimeType"in t&&t.mimeType===i.handledMimeType}const s=new Map;for(const n of t)for(const o of null!==(i=n.yieldTo)&&void 0!==i?i:[])for(const i of t)if(i!==n&&e(o,i)){let t=s.get(n);t||(t=[],s.set(n,t)),t.push(i)}if(!s.size)return Array.from(t);const n=new Set,o=[];return function t(i){if(!i.length)return[];const e=i[0];if(o.includes(e))return console.warn(`Yield to cycle detected for ${e.providerId}`),i;if(n.has(e))return t(i.slice(1));let r=[];const h=s.get(e);return h&&(o.push(e),r=t(h),o.pop()),n.add(e),[...r,e,...t(i.slice(1))]}(Array.from(t))}const C1=AL.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:" ",inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class S1 extends te{constructor(t,i,e,s,n){super(),this.typeId=t,this.editor=i,this.range=e,this.delegate=n,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(s),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(t){this.domNode=$l(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=t;const i=$l("span.icon");this.domNode.append(i),i.classList.add(...Cr.asClassNameArray(Os.loading),"codicon-modifier-spin");const e=()=>{const t=this.editor.getOption(66);this.domNode.style.height=`${t}px`,this.domNode.style.width=`${Math.ceil(.8*t)}px`};e(),this._register(this.editor.onDidChangeConfiguration((t=>{(t.hasChanged(52)||t.hasChanged(66))&&e()}))),this._register(Va(this.domNode,Ll.CLICK,(()=>{this.delegate.cancel()})))}getId(){return S1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}S1.baseId="editor.widget.inlineProgressWidget";let D1=class extends te{constructor(t,i,e){super(),this.id=t,this._editor=i,this._instantiationService=e,this._showDelay=500,this._showPromise=this._register(new ie),this._currentWidget=new ie,this._operationIdPool=0,this._currentDecorations=i.createDecorationsCollection()}async showWhile(t,i,e){const s=this._operationIdPool++;this._currentOperation=s,this.clear(),this._showPromise.value=lc((()=>{const s=Ms.fromPositions(t);this._currentDecorations.set([{range:s,options:C1}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(S1,this.id,this._editor,s,i,e))}),this._showDelay);try{return await e}finally{this._currentOperation===s&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};D1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,ur)],D1);var E1,A1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},M1=function(t,i){return function(e,s){i(e,s,t)}};let L1=E1=class extends te{constructor(t,i,e,s,n,o,r,h,c,a){super(),this.typeId=t,this.editor=i,this.showCommand=s,this.range=n,this.edits=o,this.onSelectNewEdit=r,this._contextMenuService=h,this._keybindingService=a,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=e.bindTo(c),this.visibleContext.set(!0),this._register(Yi((()=>this.visibleContext.reset()))),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Yi((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition((t=>{n.containsPosition(t.position)||this.dispose()}))),this._register(he.runAndSubscribe(a.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){var t;const i=null===(t=this._keybindingService.lookupKeybinding(this.showCommand.id))||void 0===t?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(i?` (${i})`:"")}create(){this.domNode=$l(".post-edit-widget"),this.button=this._register(new Nj(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Va(this.domNode,Ll.CLICK,(()=>this.showSelector())))}getId(){return E1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const t=nl(this.button.element);return{x:t.left+t.width,y:t.top+t.height}},getActions:()=>this.edits.allEdits.map(((t,i)=>kr({id:"",label:t.label,checked:i===this.edits.activeEditIndex,run:()=>{if(i!==this.edits.activeEditIndex)return this.onSelectNewEdit(i)}})))})}};L1.baseId="editor.widget.postEditWidget",L1=E1=A1([M1(7,lI),M1(8,ah),M1(9,oC)],L1);let F1=class extends te{constructor(t,i,e,s,n,o){super(),this._id=t,this._editor=i,this._visibleContext=e,this._showCommand=s,this._instantiationService=n,this._bulkEditService=o,this._currentWidget=this._register(new ie),this._register(he.any(i.onDidChangeModel,i.onDidChangeModelContent)((()=>this.clear())))}async applyEditAndShowIfNeeded(t,i,e,s){var n,o;const r=this._editor.getModel();if(!r||!t.length)return;const h=i.allEdits[i.activeEditIndex];if(!h)return;let c=[];c=("string"==typeof h.insertText?""===h.insertText:""===h.insertText.snippet)?[]:t.map((t=>new rO(r.uri,"string"==typeof h.insertText?{range:t,text:h.insertText,insertAsSnippet:!1}:{range:t,text:h.insertText.snippet,insertAsSnippet:!0})));const a={edits:[...c,...null!==(o=null===(n=h.additionalEdit)||void 0===n?void 0:n.edits)&&void 0!==o?o:[]]},l=t[0],u=r.deltaDecorations([],[{range:l,options:{description:"paste-line-suffix",stickiness:0}}]);let d,f;try{d=await this._bulkEditService.apply(a,{editor:this._editor,token:s}),f=r.getDecorationRange(u[0])}finally{r.deltaDecorations(u,[])}e&&d.isApplied&&i.allEdits.length>1&&this.show(null!=f?f:l,i,(async n=>{const o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(t,{activeEditIndex:n,allEdits:i.allEdits},e,s))}))}show(t,i,e){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(L1,this._id,this._editor,this._visibleContext,this._showCommand,t,i,e))}clear(){this._currentWidget.clear()}tryShowSelector(){var t;null===(t=this._currentWidget.value)||void 0===t||t.showSelector()}};F1=A1([M1(4,ur),M1(5,nO)],F1);var T1,R1=function(t,i){return function(e,s){i(e,s,t)}};const O1="editor.changePasteType",I1=new ch("pasteWidgetVisible",!1,ot(0,"Whether the paste widget is showing")),_1="application/vnd.code.copyMetadata";let N1=T1=class extends te{static get(t){return t.getContribution(T1.ID)}constructor(t,i,e,s,n,o,r){super(),this._bulkEditService=e,this._clipboardService=s,this._languageFeaturesService=n,this._quickInputService=o,this._progressService=r,this._editor=t;const h=t.getContainerDomNode();this._register(Va(h,"copy",(t=>this.handleCopy(t)))),this._register(Va(h,"cut",(t=>this.handleCopy(t)))),this._register(Va(h,"paste",(t=>this.handlePaste(t)),!0)),this._pasteProgressManager=this._register(new D1("pasteIntoEditor",t,i)),this._postPasteWidgetManager=this._register(i.createInstance(F1,"pasteIntoEditor",t,I1,{id:O1,label:ot(0,"Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(t){this._editor.focus();try{this._pasteAsActionContext={preferredId:t},ml().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}isPasteAsEnabled(){return this._editor.getOption(84).enabled&&!this._editor.getOption(90)}handleCopy(t){var i,e;if(!this._editor.hasTextFocus())return;if(Et&&this._clipboardService.writeResources([]),!t.clipboardData||!this.isPasteAsEnabled())return;const s=this._editor.getModel(),n=this._editor.getSelections();if(!s||!(null==n?void 0:n.length))return;const o=this._editor.getOption(37);let r=n;const h=1===n.length&&n[0].isEmpty();if(h){if(!o)return;r=[new Ms(r[0].startLineNumber,1,r[0].startLineNumber,1+s.getLineLength(r[0].startLineNumber))]}const c=null===(i=this._editor._getViewModel())||void 0===i?void 0:i.getPlainTextToCopy(n,o,xt),a={multicursorText:Array.isArray(c)?c:null,pasteOnNewLine:h,mode:null},l=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>!!t.prepareDocumentPaste));if(!l.length)return void this.setCopyMetadata(t.clipboardData,{defaultPastePayload:a});const u=v1(t.clipboardData),d=l.flatMap((t=>{var i;return null!==(i=t.copyMimeTypes)&&void 0!==i?i:[]})),f=l1();this.setCopyMetadata(t.clipboardData,{id:f,providerCopyMimeTypes:d,defaultPastePayload:a});const p=nc((async t=>{const i=m(await Promise.all(l.map((async i=>{try{return await i.prepareDocumentPaste(s,r,u,t)}catch(t){return void console.error(t)}}))));i.reverse();for(const t of i)for(const[i,e]of t)u.replace(i,e);return u}));null===(e=this._currentCopyOperation)||void 0===e||e.dataTransferPromise.cancel(),this._currentCopyOperation={handle:f,dataTransferPromise:p}}async handlePaste(t){var i,e;if(!t.clipboardData||!this._editor.hasTextFocus())return;null===(i=this._currentPasteOperation)||void 0===i||i.cancel(),this._currentPasteOperation=void 0;const s=this._editor.getModel(),n=this._editor.getSelections();if(!(null==n?void 0:n.length)||!s)return;if(!this.isPasteAsEnabled())return;const o=this.fetchCopyMetadata(t),r=k1(t.clipboardData);r.delete(_1);const h=[...t.clipboardData.types,...null!==(e=null==o?void 0:o.providerCopyMimeTypes)&&void 0!==e?e:[],Dd.uriList],c=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>{var i;return null===(i=t.pasteMimeTypes)||void 0===i?void 0:i.some((t=>p1(t,h)))}));c.length&&(t.preventDefault(),t.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferredId,c,n,r,o):this.doPasteInline(c,n,r,o))}doPasteInline(t,i,e,s){const n=nc((async o=>{const r=this._editor;if(!r.hasModel())return;const h=r.getModel(),c=new CK(r,3,void 0,o);try{if(await this.mergeInDataFromCopy(e,s,c.token),c.token.isCancellationRequested)return;const n=t.filter((t=>B1(t,e)));if(!n.length||1===n.length&&"text"===n[0].id)return void await this.applyDefaultPasteHandler(e,s,c.token);const o=await this.getPasteEdits(n,e,h,i,c.token);if(c.token.isCancellationRequested)return;if(1===o.length&&"text"===o[0].providerId)return void await this.applyDefaultPasteHandler(e,s,c.token);if(o.length){const t="afterPaste"===r.getOption(84).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(i,{activeEditIndex:0,allEdits:o},t,c.token)}await this.applyDefaultPasteHandler(e,s,c.token)}finally{c.dispose(),this._currentPasteOperation===n&&(this._currentPasteOperation=void 0)}}));this._pasteProgressManager.showWhile(i[0].getEndPosition(),ot(0,"Running paste handlers. Click to cancel"),n),this._currentPasteOperation=n}showPasteAsPick(t,i,e,s,n){const o=nc((async r=>{const h=this._editor;if(!h.hasModel())return;const c=h.getModel(),a=new CK(h,3,void 0,r);try{if(await this.mergeInDataFromCopy(s,n,a.token),a.token.isCancellationRequested)return;let o=i.filter((t=>B1(t,s)));t&&(o=o.filter((i=>i.id===t)));const r=await this.getPasteEdits(o,s,c,e,a.token);if(a.token.isCancellationRequested)return;if(!r.length)return;let h;if(t)h=r.at(0);else{const t=await this._quickInputService.pick(r.map((t=>({label:t.label,description:t.providerId,detail:t.detail,edit:t}))),{placeHolder:ot(0,"Select Paste Action")});h=null==t?void 0:t.edit}if(!h)return;const l=function(t,i,e){var s,n;return{edits:[...i.map((i=>new rO(t,"string"==typeof e.insertText?{range:i,text:e.insertText,insertAsSnippet:!1}:{range:i,text:e.insertText.snippet,insertAsSnippet:!0}))),...null!==(n=null===(s=e.additionalEdit)||void 0===s?void 0:s.edits)&&void 0!==n?n:[]]}}(c.uri,e,h);await this._bulkEditService.apply(l,{editor:this._editor})}finally{a.dispose(),this._currentPasteOperation===o&&(this._currentPasteOperation=void 0)}}));this._progressService.withProgress({location:10,title:ot(0,"Running paste handlers")},(()=>o))}setCopyMetadata(t,i){t.setData(_1,JSON.stringify(i))}fetchCopyMetadata(t){var i;if(!t.clipboardData)return;const e=t.clipboardData.getData(_1);if(e)try{return JSON.parse(e)}catch(t){return}const[s,n]=Kk.getTextData(t.clipboardData);return n?{defaultPastePayload:{mode:n.mode,multicursorText:null!==(i=n.multicursorText)&&void 0!==i?i:null,pasteOnNewLine:!!n.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(t,i,e){var s;if((null==i?void 0:i.id)&&(null===(s=this._currentCopyOperation)||void 0===s?void 0:s.handle)===i.id){const i=await this._currentCopyOperation.dataTransferPromise;if(e.isCancellationRequested)return;for(const[e,s]of i)t.replace(e,s)}if(!t.has(Dd.uriList)){const i=await this._clipboardService.readResources();if(e.isCancellationRequested)return;i.length&&t.append(Dd.uriList,u1(m1.create(i)))}}async getPasteEdits(t,i,e,s,n){const o=await oc(Promise.all(t.map((async t=>{var o;try{const r=await(null===(o=t.provideDocumentPasteEdits)||void 0===o?void 0:o.call(t,e,s,i,n));if(r)return{...r,providerId:t.id}}catch(t){console.error(t)}}))),n);return x1(m(null!=o?o:[]))}async applyDefaultPasteHandler(t,i,e){var s,n,o;const r=null!==(s=t.get(Dd.text))&&void 0!==s?s:t.get("text");if(!r)return;const h=await r.asString();if(e.isCancellationRequested)return;const c={text:h,pasteOnNewLine:null!==(n=null==i?void 0:i.defaultPastePayload.pasteOnNewLine)&&void 0!==n&&n,multicursorText:null!==(o=null==i?void 0:i.defaultPastePayload.multicursorText)&&void 0!==o?o:null,mode:null};this._editor.trigger("keyboard","paste",c)}};function B1(t,i){var e;return Boolean(null===(e=t.pasteMimeTypes)||void 0===e?void 0:e.some((t=>i.matches(t))))}N1.ID="editor.contrib.copyPasteActionController",N1=T1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([R1(1,ur),R1(2,nO),R1(3,yH),R1(4,xg),R1(5,Oj),R1(6,WO)],N1);var P1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},$1=function(t,i){return function(e,s){i(e,s,t)}};const W1=ot(0,"Built-in");class j1{async provideDocumentPasteEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,detail:n.detail,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}async provideDocumentOnDropEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}}class z1 extends j1{constructor(){super(...arguments),this.id="text",this.dropMimeTypes=[Dd.text],this.pasteMimeTypes=[Dd.text]}async getEdit(t,i){const e=t.get(Dd.text);if(!e)return;if(t.has(Dd.uriList))return;const s=await e.asString();return{handledMimeType:Dd.text,label:ot(0,"Insert Plain Text"),detail:W1,insertText:s}}}class H1 extends j1{constructor(){super(...arguments),this.id="uri",this.dropMimeTypes=[Dd.uriList],this.pasteMimeTypes=[Dd.uriList]}async getEdit(t,i){const e=await U1(t);if(!e.length||i.isCancellationRequested)return;let s=0;const n=e.map((({uri:t,originalText:i})=>t.scheme===ka.file?t.fsPath:(s++,i))).join(" ");let o;return o=ot(0,s>0?e.length>1?"Insert Uris":"Insert Uri":e.length>1?"Insert Paths":"Insert Path"),{handledMimeType:Dd.uriList,insertText:n,label:o,detail:W1}}}let V1=class extends j1{constructor(t){super(),this._workspaceContextService=t,this.id="relativePath",this.dropMimeTypes=[Dd.uriList],this.pasteMimeTypes=[Dd.uriList]}async getEdit(t,i){const e=await U1(t);if(!e.length||i.isCancellationRequested)return;const s=m(e.map((({uri:t})=>{const i=this._workspaceContextService.getWorkspaceFolder(t);return i?SA(i.uri,t):void 0})));return s.length?{handledMimeType:Dd.uriList,insertText:s.join(" "),label:ot(0,e.length>1?"Insert Relative Paths":"Insert Relative Path"),detail:W1}:void 0}};async function U1(t){const i=t.get(Dd.uriList);if(!i)return[];const e=await i.asString(),s=[];for(const t of m1.parse(e))try{s.push({uri:ms.parse(t),originalText:t})}catch(t){}return s}V1=P1([$1(0,ZO)],V1);let q1=class extends te{constructor(t,i){super(),this._register(t.documentOnDropEditProvider.register("*",new z1)),this._register(t.documentOnDropEditProvider.register("*",new H1)),this._register(t.documentOnDropEditProvider.register("*",new V1(i)))}};q1=P1([$1(0,xg),$1(1,ZO)],q1);let K1=class extends te{constructor(t,i){super(),this._register(t.documentPasteEditProvider.register("*",new z1)),this._register(t.documentPasteEditProvider.register("*",new H1)),this._register(t.documentPasteEditProvider.register("*",new V1(i)))}};K1=P1([$1(0,xg),$1(1,ZO)],K1),lu(N1.ID,N1,0),GH(K1),hu(new class extends eu{constructor(){super({id:O1,precondition:I1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;return null===(s=N1.get(i))||void 0===s?void 0:s.changePasteType()}}),cu(class extends su{constructor(){super({id:"editor.action.pasteAs",label:ot(0,"Paste As..."),alias:"Paste As...",precondition:void 0,metadata:{description:"Paste as",args:[{name:"args",schema:{type:"object",properties:{id:{type:"string",description:ot(0,"The id of the paste edit to try applying. If not provided, the editor will show a picker.")}}}}]}})}run(t,i,e){var s;const n="string"==typeof(null==e?void 0:e.id)?e.id:void 0;return null===(s=N1.get(i))||void 0===s?void 0:s.pasteAs(n)}});class G1{constructor(t){this.identifier=t}}const Z1=dr("treeViewsDndService");Cd(Z1,class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(t){if(t&&this._dragOperations.has(t)){const i=this._dragOperations.get(t);return this._dragOperations.delete(t),i}}},1);var Q1,J1=function(t,i){return function(e,s){i(e,s,t)}};const Y1="editor.experimental.dropIntoEditor.defaultProvider",X1="editor.changeDropType",t2=new ch("dropWidgetVisible",!1,ot(0,"Whether the drop widget is showing"));let i2=Q1=class extends te{static get(t){return t.getContribution(Q1.ID)}constructor(t,i,e,s,n){super(),this._configService=e,this._languageFeaturesService=s,this._treeViewsDragAndDropService=n,this.treeItemsTransfer=w1.getInstance(),this._dropProgressManager=this._register(i.createInstance(D1,"dropIntoEditor",t)),this._postDropWidgetManager=this._register(i.createInstance(F1,"dropIntoEditor",t,t2,{id:X1,label:ot(0,"Show drop options...")})),this._register(t.onDropIntoEditor((i=>this.onDropIntoEditor(t,i.position,i.event))))}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(t,i,e){var s;if(!e.dataTransfer||!t.hasModel())return;null===(s=this._currentOperation)||void 0===s||s.cancel(),t.focus(),t.setPosition(i);const n=nc((async s=>{const o=new CK(t,1,void 0,s);try{const n=await this.extractDataTransferData(e);if(0===n.size||o.token.isCancellationRequested)return;const r=t.getModel();if(!r)return;const h=this._languageFeaturesService.documentOnDropEditProvider.ordered(r).filter((t=>!t.dropMimeTypes||t.dropMimeTypes.some((t=>n.matches(t))))),c=await this.getDropEdits(h,r,i,n,o);if(o.token.isCancellationRequested)return;if(c.length){const e=this.getInitialActiveEditIndex(r,c),n="afterDrop"===t.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([Ms.fromPositions(i)],{activeEditIndex:e,allEdits:c},n,s)}}finally{o.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}}));this._dropProgressManager.showWhile(i,ot(0,"Running drop handlers. Click to cancel"),n),this._currentOperation=n}async getDropEdits(t,i,e,s,n){const o=await oc(Promise.all(t.map((async t=>{try{const o=await t.provideDocumentOnDropEdits(i,e,s,n.token);if(o)return{...o,providerId:t.id}}catch(t){console.error(t)}}))),n.token);return x1(m(null!=o?o:[]))}getInitialActiveEditIndex(t,i){const e=this._configService.getValue(Y1,{resource:t.uri});for(const[t,s]of Object.entries(e)){const e=i.findIndex((i=>s===i.providerId&&i.handledMimeType&&p1(t,[i.handledMimeType])));if(e>=0)return e}return 0}async extractDataTransferData(t){if(!t.dataTransfer)return new d1;const i=k1(t.dataTransfer);if(this.treeItemsTransfer.hasData(G1.prototype)){const t=this.treeItemsTransfer.getData(G1.prototype);if(Array.isArray(t))for(const e of t){const t=await this._treeViewsDragAndDropService.removeDragOperationTransfer(e.identifier);if(t)for(const[e,s]of t)i.replace(e,s)}}return i}};i2.ID="editor.contrib.dropIntoEditorController",i2=Q1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([J1(1,ur),J1(2,pd),J1(3,xg),J1(4,Z1)],i2),lu(i2.ID,i2,2),hu(new class extends eu{constructor(){super({id:X1,precondition:t2,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;null===(s=i2.get(i))||void 0===s||s.changeDropType()}}),GH(q1),Dh.as(Md).registerConfiguration({...aO,properties:{[Y1]:{type:"object",scope:5,description:ot(0,"Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class e2{constructor(t){this._editor=t,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const t=this._findScopeDecorationIds.map((t=>this._editor.getModel().getDecorationRange(t))).filter((t=>!!t));if(t.length)return t}return null}getStartPosition(){return this._startPosition}setStartPosition(t){this._startPosition=t,this.setCurrentFindMatch(null)}_getDecorationIndex(t){const i=this._decorations.indexOf(t);return i>=0?i+1:1}getDecorationRangeAt(t){const i=t{if(null!==this._highlightedDecorationId&&(t.changeDecorationOptions(this._highlightedDecorationId,e2._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==i&&(this._highlightedDecorationId=i,t.changeDecorationOptions(this._highlightedDecorationId,e2._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(t.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==i){let e=this._editor.getModel().getDecorationRange(i);if(e.startLineNumber!==e.endLineNumber&&1===e.endColumn){const t=e.endLineNumber-1,i=this._editor.getModel().getLineMaxColumn(t);e=new Ms(e.startLineNumber,e.startColumn,t,i)}this._rangeHighlightDecorationId=t.addDecoration(e,e2._RANGE_HIGHLIGHT_DECORATION)}})),e}set(t,i){this._editor.changeDecorations((e=>{let s=e2._FIND_MATCH_DECORATION;const n=[];if(t.length>1e3){s=e2._FIND_MATCH_NO_OVERVIEW_DECORATION;const i=this._editor.getModel().getLineCount(),e=this._editor.getLayoutInfo().height,o=Math.max(2,Math.ceil(3/(e/i)));let r=t[0].range.startLineNumber,h=t[0].range.endLineNumber;for(let i=1,e=t.length;i=e.startLineNumber?e.endLineNumber>h&&(h=e.endLineNumber):(n.push({range:new Ms(r,1,h,1),options:e2._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=e.startLineNumber,h=e.endLineNumber)}n.push({range:new Ms(r,1,h,1),options:e2._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const o=new Array(t.length);for(let i=0,e=t.length;ie.removeDecoration(t))),this._findScopeDecorationIds=[]),(null==i?void 0:i.length)&&(this._findScopeDecorationIds=i.map((t=>e.addDecoration(t,e2._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(t){if(0===this._decorations.length)return null;for(let i=this._decorations.length-1;i>=0;i--){const e=this._decorations[i],s=this._editor.getModel().getDecorationRange(e);if(s&&!(s.endLineNumber>t.lineNumber)){if(s.endLineNumbert.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(t){if(0===this._decorations.length)return null;for(let i=0,e=this._decorations.length;it.lineNumber)return s;if(!(s.startColumn0){const t=[];for(let i=0;iMs.compareRangesUsingStarts(t.range,i.range)));const e=[];let s=t[0];for(let i=1;i0?i[0].toUpperCase()+i.substr(1):t[0][0].toUpperCase()!==t[0][0]&&i.length>0?i[0].toLowerCase()+i.substr(1):i}return i}function o2(t,i,e){return-1!==t[0].indexOf(e)&&-1!==i.indexOf(e)&&t[0].split(e).length===i.split(e).length}function r2(t,i,e){const s=i.split(e),n=t[0].split(e);let o="";return s.forEach(((t,i)=>{o+=n2([n[i]],t)+e})),o.slice(0,-1)}class h2{constructor(t){this.staticValue=t,this.kind=0}}class c2{constructor(t){this.pieces=t,this.kind=1}}class a2{static fromStaticValue(t){return new a2([l2.staticValue(t)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(t){this._state=t&&0!==t.length?1===t.length&&null!==t[0].staticValue?new h2(t[0].staticValue):new c2(t):new h2("")}buildReplaceString(t,i){if(0===this._state.kind)return i?n2(t,this._state.staticValue):this._state.staticValue;let e="";for(let i=0,s=this._state.pieces.length;i0){const t=[],i=s.caseOps.length;let e=0;for(let o=0,r=n.length;o=i){t.push(n.slice(o));break}switch(s.caseOps[e]){case"U":t.push(n[o].toUpperCase());break;case"u":t.push(n[o].toUpperCase()),e++;break;case"L":t.push(n[o].toLowerCase());break;case"l":t.push(n[o].toLowerCase()),e++;break;default:t.push(n[o])}}n=t.join("")}e+=n}return e}static _substitute(t,i){if(null===i)return"";if(0===t)return i[0];let e="";for(;t>0;){if(tthis.research(!1)),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((t=>{3!==t.reason&&5!==t.reason&&6!==t.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((t=>{this._ignoreModelContentChanged||(t.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Qi(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(t){!this._isDisposed&&this._editor.hasModel()&&(t.searchString||t.isReplaceRevealed||t.isRegex||t.wholeWord||t.matchCase||t.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((()=>{t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor)}),240)):t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor))}static _getSearchRange(t,i){return i||t.getFullModelRange()}research(t,i){let e=null;void 0!==i?null!==i&&(e=Array.isArray(i)?i:[i]):e=this._decorations.getFindScopes(),null!==e&&(e=e.map((t=>{if(t.startLineNumber!==t.endLineNumber){let i=t.endLineNumber;return 1===t.endColumn&&(i-=1),new Ms(t.startLineNumber,1,i,this._editor.getModel().getLineMaxColumn(i))}return t})));const s=this._findMatches(e,!1,F2);this._decorations.set(s,e);const n=this._editor.getSelection();let o=this._decorations.getCurrentMatchesPosition(n);if(0===o&&s.length>0){const t=ap(s.map((t=>t.range)),(t=>Ms.compareRangesUsingStarts(t,n)>=0));o=t>0?t-1+1:o}this._state.changeMatchInfo(o,this._decorations.getCount(),void 0),t&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const t=this._decorations.getFindScope();return t&&this._editor.revealRangeInCenterIfOutsideViewport(t,0),!0}return!1}_setCurrentFindMatch(t){const i=this._decorations.setCurrentFindMatch(t);this._state.changeMatchInfo(i,this._decorations.getCount(),t),this._editor.setSelection(t),this._editor.revealRangeInCenterIfOutsideViewport(t,0)}_prevSearchPosition(t){const i=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||1===s?(1===e?e=n.getLineCount():e--,s=n.getLineMaxColumn(e)):s--,new As(e,s)}_moveToPrevMatch(t,i=!1){if(!this._state.canNavigateBack()){const i=this._decorations.matchAfterPosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||s===n.getLineMaxColumn(e)?(e===n.getLineCount()?e=1:e++,s=1):s++,new As(e,s)}_moveToNextMatch(t){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=n)break;const o=t.charCodeAt(s);if(36===o){e.emitUnchanged(s-1),e.emitStatic("$",s+1);continue}if(48===o||38===o){e.emitUnchanged(s-1),e.emitMatchIndex(0,s+1,i),i.length=0;continue}if(49<=o&&o<=57){let r=o-48;if(s+1=n)break;const o=t.charCodeAt(s);switch(o){case 92:e.emitUnchanged(s-1),e.emitStatic("\\",s+1);break;case 110:e.emitUnchanged(s-1),e.emitStatic("\n",s+1);break;case 116:e.emitUnchanged(s-1),e.emitStatic("\t",s+1);break;case 117:case 85:case 108:case 76:e.emitUnchanged(s-1),e.emitStatic("",s+1),i.push(String.fromCharCode(o))}}}return e.finalize()}(this._state.replaceString):a2.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const t=this._getReplacePattern(),i=this._editor.getSelection(),e=this._getNextMatch(i.getStartPosition(),!0,!1);if(e)if(i.equalsRange(e.range)){const s=t.buildReplaceString(e.matches,this._state.preserveCase),n=new xC(i,s);this._executeEditorCommand("replace",n),this._decorations.setStartPosition(new As(i.startLineNumber,i.startColumn+s.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(e.range)}_findMatches(t,i,e){const s=(t||[null]).map((t=>T2._getSearchRange(this._editor.getModel(),t)));return this._editor.getModel().findMatches(this._state.searchString,s,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null,i,e)}replaceAll(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();null===t&&this._state.matchesCount>=F2?this._largeReplaceAll():this._regularReplaceAll(t),this.research(!1)}_largeReplaceAll(){const t=new Kf(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let t="mu";i.ignoreCase&&(t+="i"),i.global&&(t+="g"),i=new RegExp(i.source,t)}const e=this._editor.getModel(),s=e.getValue(1),n=e.getFullModelRange(),o=this._getReplacePattern();let r;const h=this._state.preserveCase;r=s.replace(i,o.hasReplacementPatterns||h?function(){return o.buildReplaceString(arguments,h)}:o.buildReplaceString(null,h));const c=new EC(n,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}_regularReplaceAll(t){const i=this._getReplacePattern(),e=this._findMatches(t,i.hasReplacementPatterns||this._state.preserveCase,1073741824),s=[];for(let t=0,n=e.length;tt.range)),s);this._executeEditorCommand("replaceAll",n)}selectAllMatches(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();let i=this._findMatches(t,!1,1073741824).map((t=>new Ls(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn)));const e=this._editor.getSelection();for(let t=0,s=i.length;tthis._hide()),2e3)),this._isVisible=!1,this._editor=t,this._state=i,this._keybindingService=e,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const s={inputActiveOptionBorder:aw(Dw),inputActiveOptionForeground:aw(Aw),inputActiveOptionBackground:aw(Ew)};this.caseSensitive=this._register(new o$({appendTitle:this._keybindingLabelFor(C2),isChecked:this._state.matchCase,...s})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new r$({appendTitle:this._keybindingLabelFor(S2),isChecked:this._state.wholeWord,...s})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new h$({appendTitle:this._keybindingLabelFor(D2),isChecked:this._state.isRegex,...s})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange((()=>{this._state.change({isRegex:this.regex.checked},!1)}))),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange((t=>{let i=!1;t.isRegex&&(this.regex.checked=this._state.isRegex,i=!0),t.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,i=!0),t.matchCase&&(this.caseSensitive.checked=this._state.matchCase,i=!0),!this._state.isRevealed&&i&&this._revealTemporarily()}))),this._register(Va(this._domNode,Ll.MOUSE_LEAVE,(()=>this._onMouseLeave()))),this._register(Va(this._domNode,"mouseover",(()=>this._onMouseOver())))}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return R2.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}function O2(t,i){return 1===t||2!==t&&i}R2.ID="editor.contrib.findOptionsWidget";class I2 extends te{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return O2(this._isRegexOverride,this._isRegex)}get wholeWord(){return O2(this._wholeWordOverride,this._wholeWord)}get matchCase(){return O2(this._matchCaseOverride,this._matchCase)}get preserveCase(){return O2(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new de),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(t,i,e){const s={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let n=!1;0===i&&(t=0),t>i&&(t=i),this._matchesPosition!==t&&(this._matchesPosition=t,s.matchesPosition=!0,n=!0),this._matchesCount!==i&&(this._matchesCount=i,s.matchesCount=!0,n=!0),void 0!==e&&(Ms.equalsRange(this._currentMatch,e)||(this._currentMatch=e,s.currentMatch=!0,n=!0)),n&&this._onFindReplaceStateChange.fire(s)}change(t,i,e=!0){var s;const n={moveCursor:i,updateHistory:e,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let o=!1;const r=this.isRegex,h=this.wholeWord,c=this.matchCase,a=this.preserveCase;void 0!==t.searchString&&this._searchString!==t.searchString&&(this._searchString=t.searchString,n.searchString=!0,o=!0),void 0!==t.replaceString&&this._replaceString!==t.replaceString&&(this._replaceString=t.replaceString,n.replaceString=!0,o=!0),void 0!==t.isRevealed&&this._isRevealed!==t.isRevealed&&(this._isRevealed=t.isRevealed,n.isRevealed=!0,o=!0),void 0!==t.isReplaceRevealed&&this._isReplaceRevealed!==t.isReplaceRevealed&&(this._isReplaceRevealed=t.isReplaceRevealed,n.isReplaceRevealed=!0,o=!0),void 0!==t.isRegex&&(this._isRegex=t.isRegex),void 0!==t.wholeWord&&(this._wholeWord=t.wholeWord),void 0!==t.matchCase&&(this._matchCase=t.matchCase),void 0!==t.preserveCase&&(this._preserveCase=t.preserveCase),void 0!==t.searchScope&&((null===(s=t.searchScope)||void 0===s?void 0:s.every((t=>{var i;return null===(i=this._searchScope)||void 0===i?void 0:i.some((i=>!Ms.equalsRange(i,t)))})))||(this._searchScope=t.searchScope,n.searchScope=!0,o=!0)),void 0!==t.loop&&this._loop!==t.loop&&(this._loop=t.loop,n.loop=!0,o=!0),void 0!==t.isSearching&&this._isSearching!==t.isSearching&&(this._isSearching=t.isSearching,n.isSearching=!0,o=!0),void 0!==t.filters&&(this._filters?this._filters.update(t.filters):this._filters=t.filters,n.filters=!0,o=!0),this._isRegexOverride=void 0!==t.isRegexOverride?t.isRegexOverride:0,this._wholeWordOverride=void 0!==t.wholeWordOverride?t.wholeWordOverride:0,this._matchCaseOverride=void 0!==t.matchCaseOverride?t.matchCaseOverride:0,this._preserveCaseOverride=void 0!==t.preserveCaseOverride?t.preserveCaseOverride:0,r!==this.isRegex&&(o=!0,n.isRegex=!0),h!==this.wholeWord&&(o=!0,n.wholeWord=!0),c!==this.matchCase&&(o=!0,n.matchCase=!0),a!==this.preserveCase&&(o=!0,n.preserveCase=!0),o&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=F2}}const _2=ot(0,"input"),N2=ot(0,"Preserve Case");class B2 extends i${constructor(t){super({icon:Os.preserveCase,title:N2+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class P2 extends pk{constructor(t,i,e,s){super(),this._showOptionButtons=e,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new de),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new de),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new de),this._onInput=this._register(new de),this._onKeyUp=this._register(new de),this._onPreserveCaseKeyDown=this._register(new de),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=i,this.placeholder=s.placeholder||"",this.validation=s.validation,this.label=s.label||_2;const n=s.appendPreserveCaseLabel||"",o=s.history||[],r=!!s.flexibleHeight,h=!!s.flexibleWidth,c=s.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new d$(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:o,showHistoryHint:s.showHistoryHint,flexibleHeight:r,flexibleWidth:h,flexibleMaxHeight:c,inputBoxStyles:s.inputBoxStyles})),this.preserveCase=this._register(new B2({appendTitle:n,isChecked:!1,...s.toggleStyles})),this._register(this.preserveCase.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((t=>{this._onPreserveCaseKeyDown.fire(t)}))),this.cachedOptionsWidth=this._showOptionButtons?this.preserveCase.width():0;const a=[this.preserveCase.domNode];this.onkeydown(this.domNode,(t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const i=a.indexOf(this.domNode.ownerDocument.activeElement);if(i>=0){let e=-1;t.equals(17)?e=(i+1)%a.length:t.equals(15)&&(e=0===i?a.length-1:i-1),t.equals(9)?(a[i].blur(),this.inputBox.focus()):e>=0&&a[e].focus(),Fl(t,!0)}}}));const l=document.createElement("div");l.className="controls",l.style.display=this._showOptionButtons?"block":"none",l.appendChild(this.preserveCase.domNode),this.domNode.appendChild(l),null==t||t.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(t=>this._onKeyDown.fire(t))),this.onkeyup(this.inputBox.inputElement,(t=>this._onKeyUp.fire(t))),this.oninput(this.inputBox.inputElement,(()=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(t=>this._onMouseDown.fire(t)))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(t){t?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(t){this.preserveCase.checked=t}focusOnPreserve(){this.preserveCase.focus()}validate(){var t;null===(t=this.inputBox)||void 0===t||t.validate()}set width(t){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=t+"px"}dispose(){super.dispose()}}var $2=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},W2=function(t,i){return function(e,s){i(e,s,t)}};const j2=new ch("suggestWidgetVisible",!1,ot(0,"Whether suggestion are visible")),z2="historyNavigationWidgetFocus",H2="historyNavigationForwardsEnabled",V2="historyNavigationBackwardsEnabled";let U2;const q2=[];function K2(t,i){if(q2.includes(i))throw new Error("Cannot register the same widget multiple times");q2.push(i);const e=new Xi,s=new ch(z2,!1).bindTo(t),n=new ch(H2,!0).bindTo(t),o=new ch(V2,!0).bindTo(t),r=()=>{s.set(!0),U2=i},h=()=>{s.set(!1),U2===i&&(U2=void 0)};return gl(i.element)&&r(),e.add(i.onDidFocus((()=>r()))),e.add(i.onDidBlur((()=>h()))),e.add(Yi((()=>{q2.splice(q2.indexOf(i),1),h()}))),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:o,dispose(){e.dispose()}}}let G2=class extends p${constructor(t,i,e,s){super(t,i,e);const n=this._register(s.createScoped(this.inputBox.element));this._register(K2(n,this.inputBox))}};G2=$2([W2(3,ah)],G2);let Z2=class extends P2{constructor(t,i,e,s,n=!1){super(t,i,n,e);const o=this._register(s.createScoped(this.inputBox.element));this._register(K2(o,this.inputBox))}};function Q2(t){var i,e;return"Up"===(null===(i=t.lookupKeybinding("history.showPrevious"))||void 0===i?void 0:i.getElectronAccelerator())&&"Down"===(null===(e=t.lookupKeybinding("history.showNext"))||void 0===e?void 0:e.getElectronAccelerator())}Z2=$2([W2(3,ah)],Z2),Ah.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:zr.and(zr.has(z2),zr.equals(V2,!0),zr.not("isComposing"),j2.isEqualTo(!1)),primary:16,secondary:[528],handler:()=>{null==U2||U2.showPreviousValue()}}),Ah.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:zr.and(zr.has(z2),zr.equals(H2,!0),zr.not("isComposing"),j2.isEqualTo(!1)),primary:18,secondary:[530],handler:()=>{null==U2||U2.showNextValue()}});const J2=Hz("find-selection",Os.selection,ot(0,"Icon for 'Find in Selection' in the editor find widget.")),Y2=Hz("find-collapsed",Os.chevronRight,ot(0,"Icon to indicate that the editor find widget is collapsed.")),X2=Hz("find-expanded",Os.chevronDown,ot(0,"Icon to indicate that the editor find widget is expanded.")),t4=Hz("find-replace",Os.replace,ot(0,"Icon for 'Replace' in the editor find widget.")),i4=Hz("find-replace-all",Os.replaceAll,ot(0,"Icon for 'Replace All' in the editor find widget.")),e4=Hz("find-previous-match",Os.arrowUp,ot(0,"Icon for 'Find Previous' in the editor find widget.")),s4=Hz("find-next-match",Os.arrowDown,ot(0,"Icon for 'Find Next' in the editor find widget.")),n4=ot(0,"Find / Replace"),o4=ot(0,"Find"),r4=ot(0,"Find"),h4=ot(0,"Previous Match"),c4=ot(0,"Next Match"),a4=ot(0,"Find in Selection"),l4=ot(0,"Close"),u4=ot(0,"Replace"),d4=ot(0,"Replace"),f4=ot(0,"Replace"),p4=ot(0,"Replace All"),g4=ot(0,"Toggle Replace"),m4=ot(0,"Only the first {0} results are highlighted, but all find operations work on the entire text.",F2),w4=ot(0,"{0} of {1}"),v4=ot(0,"No results"),b4=419;let y4=69;const k4="ctrlEnterReplaceAll.windows.donotask",x4=Ct?256:2048;class C4{constructor(t){this.afterLineNumber=t,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function S4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionStart>0&&t.stopPropagation()}function D4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((t=>{if(t.hasChanged(90)&&(this._codeEditor.getOption(90)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),t.hasChanged(143)&&this._tryUpdateWidgetWidth(),t.hasChanged(2)&&this.updateAccessibilitySupport(),t.hasChanged(41)){const t=this._codeEditor.getOption(41).loop;this._state.change({loop:t},!1);const i=this._codeEditor.getOption(41).addExtraSpaceOnTop;i&&!this._viewZone&&(this._viewZone=new C4(0),this._showViewZone()),!i&&this._viewZone&&this._removeViewZone()}}))),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection((()=>{this._isVisible&&this._updateToggleSelectionFindButton()}))),this._register(this._codeEditor.onDidFocusEditorWidget((async()=>{if(this._isVisible){const t=await this._controller.getGlobalBufferTerm();t&&t!==this._state.searchString&&(this._state.change({searchString:t},!1),this._findInput.select())}}))),this._findInputFocused=f2.bindTo(o),this._findFocusTracker=this._register(Rl(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus((()=>{this._findInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._findFocusTracker.onDidBlur((()=>{this._findInputFocused.set(!1)}))),this._replaceInputFocused=p2.bindTo(o),this._replaceFocusTracker=this._register(Rl(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus((()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._replaceFocusTracker.onDidBlur((()=>{this._replaceInputFocused.set(!1)}))),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new C4(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((t=>{t.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return E4.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(t){if(t.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}t.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),t.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),t.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(90)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=ol(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(t.isRevealed||t.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),t.isRegex&&this._findInput.setRegex(this._state.isRegex),t.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),t.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),t.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),t.searchScope&&(this._toggleSelectionFind.checked=!!this._state.searchScope,this._updateToggleSelectionFindButton()),(t.searchString||t.matchesCount||t.matchesPosition)&&(this._domNode.classList.toggle("no-results",this._state.searchString.length>0&&0===this._state.matchesCount),this._updateMatchesCount(),this._updateButtons()),(t.searchString||t.currentMatch)&&this._layoutViewZone(),t.updateHistory&&this._delayedUpdateHistory(),t.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Bi)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let t;if(this._matchesCount.style.minWidth=y4+"px",this._matchesCount.title=this._state.matchesCount>=F2?m4:"",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=F2&&(i+="+");let e=String(this._state.matchesPosition);"0"===e&&(e="?"),t=qn(w4,e,i)}else t=v4;this._matchesCount.appendChild(document.createTextNode(t)),Pm(this._getAriaLabel(t,this._state.currentMatch,this._state.searchString)),y4=Math.max(y4,this._matchesCount.clientWidth)}_getAriaLabel(t,i,e){if(t===v4)return""===e?ot(0,"{0} found",t):ot(0,"{0} found for '{1}'",t,e);if(i){const s=ot(0,"{0} found for '{1}', at {2}",t,e,i.startLineNumber+":"+i.startColumn),n=this._codeEditor.getModel();return n&&i.startLineNumber<=n.getLineCount()&&i.startLineNumber>=1?`${n.getLineContent(i.startLineNumber)}, ${s}`:s}return ot(0,"{0} found for '{1}'",t,e)}_updateToggleSelectionFindButton(){const t=this._codeEditor.getSelection();this._isVisible&&(this._toggleSelectionFind.checked||t&&(t.startLineNumber!==t.endLineNumber||t.startColumn!==t.endColumn))?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const t=this._state.searchString.length>0,i=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const e=!this._codeEditor.getOption(90);this._toggleReplaceBtn.setEnabled(this._isVisible&&e)}_reveal(){if(this._revealTimeouts.forEach((t=>{clearTimeout(t)})),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const t=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":this._toggleSelectionFind.checked=!!t&&t.startLineNumber!==t.endLineNumber}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout((()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")}),0)),this._revealTimeouts.push(setTimeout((()=>{this._findInput.validate()}),200)),this._codeEditor.layoutOverlayWidget(this);let i=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&t){const e=this._codeEditor.getDomNode();if(e){const s=nl(e),n=this._codeEditor.getScrolledVisiblePosition(t.getStartPosition()),o=s.left+(n?n.left:0);if(this._viewZone&&(n?n.top:0)t.startLineNumber&&(i=!1);const e=sl(this._domNode).left;o>e&&(i=!1);const n=this._codeEditor.getScrolledVisiblePosition(t.getEndPosition());s.left+(n?n.left:0)>e&&(i=!1)}}}this._showViewZone(i)}}_hide(t){this._revealTimeouts.forEach((t=>{clearTimeout(t)})),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),t&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(t){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const i=this._viewZone;void 0===this._viewZoneId&&i&&this._codeEditor.changeViewZones((e=>{i.heightInPx=this._getHeight(),this._viewZoneId=e.addZone(i),this._codeEditor.setScrollTop(t||this._codeEditor.getScrollTop()+i.heightInPx)}))}_showViewZone(t=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new C4(0));const i=this._viewZone;this._codeEditor.changeViewZones((e=>{if(void 0!==this._viewZoneId){const s=this._getHeight();if(s===i.heightInPx)return;const n=s-i.heightInPx;return i.heightInPx=s,e.layoutZone(this._viewZoneId),void(t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n))}{let s=this._getHeight();if(s-=this._codeEditor.getOption(83).top,s<=0)return;i.heightInPx=s,this._viewZoneId=e.addZone(i),t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s)}}))}_removeViewZone(){this._codeEditor.changeViewZones((t=>{void 0!==this._viewZoneId&&(t.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))}))}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!this._domNode.isConnected)return;const t=this._codeEditor.getLayoutInfo();if(t.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=t.width,e=t.minimap.minimapWidth;let s=!1,n=!1,o=!1;if(this._resized&&ol(this._domNode)>b4)return this._domNode.style.maxWidth=i-28-e-15+"px",void(this._replaceInput.width=ol(this._findInput.domNode));if(447+e>=i&&(n=!0),447+e-y4>=i&&(o=!0),447+e-y4>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",o),this._domNode.classList.toggle("reduced-find-widget",n),o||s||(this._domNode.style.maxWidth=i-28-e-15+"px"),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:o,reducedFindWidget:n}),this._resized){const t=this._findInput.inputBox.element.clientWidth;t>0&&(this._replaceInput.width=t)}else this._isReplaceVisible&&(this._replaceInput.width=ol(this._findInput.domNode))}_getHeight(){let t=0;return t+=4,t+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(t+=4,t+=this._replaceInput.inputBox.height+2),t+=4,t}_tryUpdateHeight(){const t=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==t)&&(this._cachedHeight=t,this._domNode.style.height=`${t}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.startLineNumber===t.endLineNumber||Ms.equalsRange(t,this._state.currentMatch)?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}_onFindInputMouseDown(t){t.middleButton&&t.stopPropagation()}_onFindInputKeyDown(t){return t.equals(3|x4)?(this._keybindingService.dispatchEvent(t,t.target)||this._findInput.inputBox.insertAtCursor("\n"),void t.preventDefault()):t.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?S4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):t.equals(18)?D4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(t){return t.equals(3|x4)?(this._keybindingService.dispatchEvent(t,t.target)||(xt&&Dt&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(ot(0,"Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(k4,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void t.preventDefault()):t.equals(2)?(this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(1026)?(this._findInput.focus(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?S4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):t.equals(18)?D4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(t){return 0}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}_buildDomNode(){const t=!0,i=!0;this._findInput=this._register(new G2(null,this._contextViewProvider,{width:221,label:o4,placeholder:r4,appendCaseSensitiveLabel:this._keybindingLabelFor(C2),appendWholeWordsLabel:this._keybindingLabelFor(S2),appendRegexLabel:this._keybindingLabelFor(D2),validation:t=>{if(0===t.length||!this._findInput.getRegex())return null;try{return null}catch(t){return{content:t.message}}},flexibleHeight:t,flexibleWidth:i,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>Q2(this._keybindingService),inputBoxStyles:IB,toggleStyles:OB},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((t=>this._onFindInputKeyDown(t)))),this._register(this._findInput.inputBox.onDidChange((()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)}))),this._register(this._findInput.onDidOptionChange((()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)}))),this._register(this._findInput.onCaseSensitiveKeyDown((t=>{t.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),t.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),t.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((()=>{this._tryUpdateHeight()&&this._showViewZone()}))),St&&this._register(this._findInput.onMouseDown((t=>this._onFindInputMouseDown(t)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new A4({label:h4+this._keybindingLabelFor(k2),icon:e4,onTrigger:()=>{K(this._codeEditor.getAction(k2)).run().then(void 0,Bi)}})),this._nextBtn=this._register(new A4({label:c4+this._keybindingLabelFor(y2),icon:s4,onTrigger:()=>{K(this._codeEditor.getAction(y2)).run().then(void 0,Bi)}}));const e=document.createElement("div");e.className="find-part",e.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",e.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new i$({icon:J2,title:a4+this._keybindingLabelFor(E2),isChecked:!1,inputActiveOptionBackground:aw(Ew),inputActiveOptionBorder:aw(Dw),inputActiveOptionForeground:aw(Aw)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}else this._state.change({searchScope:null},!0)}))),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new A4({label:l4+this._keybindingLabelFor(x2),icon:Gz,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),t.preventDefault())}})),this._replaceInput=this._register(new Z2(null,void 0,{label:u4,placeholder:d4,appendPreserveCaseLabel:this._keybindingLabelFor(A2),history:[],flexibleHeight:t,flexibleWidth:i,flexibleMaxHeight:118,showHistoryHint:()=>Q2(this._keybindingService),inputBoxStyles:IB,toggleStyles:OB},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((t=>this._onReplaceInputKeyDown(t)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((()=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((t=>{t.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),t.preventDefault())}))),this._replaceBtn=this._register(new A4({label:f4+this._keybindingLabelFor(M2),icon:t4,onTrigger:()=>{this._controller.replace()},onKeyDown:t=>{t.equals(1026)&&(this._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new A4({label:p4+this._keybindingLabelFor(L2),icon:i4,onTrigger:()=>{this._controller.replaceAll()}}));const n=document.createElement("div");n.className="replace-part",n.appendChild(this._replaceInput.domNode);const o=document.createElement("div");o.className="replace-actions",n.appendChild(o),o.appendChild(this._replaceBtn.domNode),o.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new A4({label:g4,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=ol(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=n4,this._domNode.role="dialog",this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(e),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(n),this._resizeSash=new VP(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let r=b4;this._register(this._resizeSash.onDidStart((()=>{r=ol(this._domNode)}))),this._register(this._resizeSash.onDidChange((t=>{this._resized=!0;const i=r+t.startX-t.currentX;i(parseFloat(Xa(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${i}px`,this._isReplaceVisible&&(this._replaceInput.width=ol(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const t=ol(this._domNode);if(t{this._opts.onTrigger(),t.preventDefault()})),this.onkeydown(this._domNode,(t=>{var i,e;if(t.equals(10)||t.equals(3))return this._opts.onTrigger(),void t.preventDefault();null===(e=(i=this._opts).onKeyDown)||void 0===e||e.call(i,t)}))}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(t){this._domNode.classList.toggle("disabled",!t),this._domNode.setAttribute("aria-disabled",String(!t)),this._domNode.tabIndex=t?0:-1}setExpanded(t){this._domNode.setAttribute("aria-expanded",String(!!t)),t?(this._domNode.classList.remove(...Cr.asClassNameArray(Y2)),this._domNode.classList.add(...Cr.asClassNameArray(X2))):(this._domNode.classList.remove(...Cr.asClassNameArray(X2)),this._domNode.classList.add(...Cr.asClassNameArray(Y2)))}}nx(((t,i)=>{const e=(t,e)=>{e&&i.addRule(`.monaco-editor ${t} { background-color: ${e}; }`)};e(".findMatch",t.getColor(Lv)),e(".currentFindMatch",t.getColor(Mv)),e(".findScope",t.getColor(Fv)),e(".find-widget",t.getColor(uv));const s=t.getColor(yw);s&&i.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${s}; }`);const n=t.getColor(kw);n&&i.addRule(`.monaco-editor .find-widget { border-left: 1px solid ${n}; border-right: 1px solid ${n}; border-bottom: 1px solid ${n}; }`);const o=t.getColor(Rv);o&&i.addRule(`.monaco-editor .findMatch { border: 1px ${zy(t.type)?"dotted":"solid"} ${o}; box-sizing: border-box; }`);const r=t.getColor(Tv);r&&i.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${r}; padding: 1px; box-sizing: border-box; }`);const h=t.getColor(Ov);h&&i.addRule(`.monaco-editor .findScope { border: 1px ${zy(t.type)?"dashed":"solid"} ${h}; }`);const c=t.getColor(ww);c&&i.addRule(`.monaco-editor .find-widget { border: 1px solid ${c}; }`);const a=t.getColor(dv);a&&i.addRule(`.monaco-editor .find-widget { color: ${a}; }`);const l=t.getColor(pw);l&&i.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${l}; }`);const u=t.getColor(pv);if(u)i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${u}; }`);else{const e=t.getColor(fv);e&&i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${e}; }`)}const d=t.getColor(Nb);d&&i.addRule(`\n\t\t.monaco-editor .find-widget .button:not(.disabled):hover,\n\t\t.monaco-editor .find-widget .codicon-find-selection:hover {\n\t\t\tbackground-color: ${d} !important;\n\t\t}\n\t`);const f=t.getColor(mw);f&&i.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${f}; }`)}));var M4,L4=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},F4=function(t,i){return function(e,s){i(e,s,t)}};function T4(t,i="single",e=!1){if(!t.hasModel())return null;const s=t.getSelection();if("single"===i&&s.startLineNumber===s.endLineNumber||"multiple"===i)if(s.isEmpty()){const i=t.getConfiguredWordAtPosition(s.getStartPosition());if(i&&!1===e)return i.word}else if(t.getModel().getValueLengthInRange(s)<524288)return t.getModel().getValueInRange(s);return null}let R4=M4=class extends te{get editor(){return this._editor}static get(t){return t.getContribution(M4.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._findWidgetVisible=d2.bindTo(i),this._contextKeyService=i,this._storageService=e,this._clipboardService=s,this._notificationService=n,this._updateHistoryDelayer=new hc(500),this._state=this._register(new I2),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const t=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),t&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})})))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(t){this.saveQueryState(t),t.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),t.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(t){t.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),t.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),t.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),t.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!f2.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){const t=this._editor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}setSearchString(t){this._state.isRegex&&(t=Gn(t)),this._state.change({searchString:t},!1)}highlightFindOptions(t=!1){}async _start(t,i){if(this.disposeModel(),!this._editor.hasModel())return;const e={...i,isRevealed:!0};if("single"===t.seedSearchStringFromSelection){const i=T4(this._editor,t.seedSearchStringFromSelection,t.seedSearchStringFromNonEmptySelection);i&&(e.searchString=this._state.isRegex?Gn(i):i)}else if("multiple"===t.seedSearchStringFromSelection&&!t.updateSearchScope){const i=T4(this._editor,t.seedSearchStringFromSelection);i&&(e.searchString=i)}if(!e.searchString&&t.seedSearchStringFromGlobalClipboard){const t=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;t&&(e.searchString=t)}if(t.forceRevealReplace||e.isReplaceRevealed?e.isReplaceRevealed=!0:this._findWidgetVisible.get()||(e.isReplaceRevealed=!1),t.updateSearchScope){const t=this._editor.getSelections();t.some((t=>!t.isEmpty()))&&(e.searchScope=t)}e.loop=t.loop,this._state.change(e,!1),this._model||(this._model=new T2(this._editor,this._state))}start(t,i){return this._start(t,i)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(t){return!!this._model&&(this._model.moveToMatch(t),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){var t;return!!this._model&&((null===(t=this._editor.getModel())||void 0===t?void 0:t.isTooLargeForHeapOperation())?(this._notificationService.warn(ot(0,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(t){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(t)}};R4.ID="editor.contrib.findController",R4=M4=L4([F4(1,ah),F4(2,AB),F4(3,yH),F4(4,oT)],R4);let O4=class extends R4{constructor(t,i,e,s,n,o,r,h){super(t,e,r,h,o),this._contextViewService=i,this._keybindingService=s,this._themeService=n,this._widget=null,this._findOptionsWidget=null}async _start(t,i){this._widget||this._createFindWidget();const e=this._editor.getSelection();let s=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":s=!0;break;case"never":s=!1;break;case"multiline":s=!!e&&e.startLineNumber!==e.endLineNumber}t.updateSearchScope=t.updateSearchScope||s,await super._start(t,i),this._widget&&(2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput())}highlightFindOptions(t=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!t?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new E4(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new R2(this._editor,this._state,this._keybindingService))}};O4=L4([F4(1,aI),F4(2,ah),F4(3,oC),F4(4,Xk),F4(5,oT),F4(6,AB),F4(7,yH)],O4),au(new nu({id:"actions.find",label:ot(0,"Find"),alias:"Find",precondition:zr.or(YC.focus,zr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Rh.MenubarEditMenu,group:"3_find",title:ot(0,"&&Find"),order:1}})).addImplementation(0,((t,i)=>{const e=R4.get(i);return!!e&&e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:i.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})}));const I4={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},regex:{type:"boolean"},regexOverride:{type:"number",description:ot(0,'Overrides "Use Regular Expression" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:ot(0,'Overrides "Match Whole Word" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:ot(0,'Overrides "Math Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:ot(0,'Overrides "Preserve Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},findInSelection:{type:"boolean"}}}}]};class _4 extends su{async run(t,i){const e=R4.get(i);e&&!this._run(e)&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===e.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}class N4 extends su{async run(t,i){const e=R4.get(i);if(!e)return;const s=T4(i,"single",!1);s&&e.setSearchString(s),this._run(e)||(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}au(new nu({id:"editor.action.startFindReplaceAction",label:ot(0,"Replace"),alias:"Replace",precondition:zr.or(YC.focus,zr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Rh.MenubarEditMenu,group:"3_find",title:ot(0,"&&Replace"),order:2}})).addImplementation(0,((t,i)=>{if(!i.hasModel()||i.getOption(90))return!1;const e=R4.get(i);if(!e)return!1;const s=i.getSelection(),n=e.isFindInputFocused(),o=!s.isEmpty()&&s.startLineNumber===s.endLineNumber&&"never"!==i.getOption(41).seedSearchStringFromSelection&&!n,r=n||o?2:1;return e.start({forceRevealReplace:!0,seedSearchStringFromSelection:o?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==i.getOption(41).seedSearchStringFromSelection,shouldFocus:r,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})})),lu(R4.ID,O4,0),cu(class extends su{constructor(){super({id:"editor.actions.findWithArgs",label:ot(0,"Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:I4})}async run(t,i,e){const s=R4.get(i);if(s){const t=e?{searchString:e.searchString,replaceString:e.replaceString,isReplaceRevealed:void 0!==e.replaceString,isRegex:e.isRegex,wholeWord:e.matchWholeWord,matchCase:e.isCaseSensitive,preserveCase:e.preserveCase}:{};await s.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===s.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(null==e?void 0:e.findInSelection)||!1,loop:i.getOption(41).loop},t),s.setGlobalBufferTerm(s.getState().searchString)}}}),cu(class extends su{constructor(){super({id:"actions.findWithSelection",label:ot(0,"Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(t,i){const e=R4.get(i);e&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),e.setGlobalBufferTerm(e.getState().searchString))}}),cu(class extends _4{constructor(){super({id:y2,label:ot(0,"Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:YC.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:zr.and(YC.focus,f2),primary:3,weight:100}]})}_run(t){return!!t.moveToNextMatch()&&(t.editor.pushUndoStop(),!0)}}),cu(class extends _4{constructor(){super({id:k2,label:ot(0,"Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:YC.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:zr.and(YC.focus,f2),primary:1027,weight:100}]})}_run(t){return t.moveToPrevMatch()}}),cu(class extends su{constructor(){super({id:"editor.action.goToMatchFindAction",label:ot(0,"Go to Match..."),alias:"Go to Match...",precondition:d2}),this._highlightDecorations=[]}run(t,i,e){const s=R4.get(i);if(!s)return;const n=s.getState().matchesCount;if(n<1)return void t.get(oT).notify({severity:nT.Warning,message:ot(0,"No matches. Try searching for something else.")});const o=t.get(Oj).createInputBox();o.placeholder=ot(0,"Type a number to go to a specific match (between 1 and {0})",n);const r=t=>{const i=parseInt(t);if(isNaN(i))return;const e=s.getState().matchesCount;return i>0&&i<=e?i-1:i<0&&i>=-e?e+i:void 0},h=t=>{const e=r(t);if("number"==typeof e){o.validationMessage=void 0,s.goToMatch(e);const t=s.getState().currentMatch;t&&this.addDecorations(i,t)}else o.validationMessage=ot(0,"Please type a number between 1 and {0}",s.getState().matchesCount),this.clearDecorations(i)};o.onDidChangeValue((t=>{h(t)})),o.onDidAccept((()=>{const t=r(o.value);"number"==typeof t?(s.goToMatch(t),o.hide()):o.validationMessage=ot(0,"Please type a number between 1 and {0}",s.getState().matchesCount)})),o.onDidHide((()=>{this.clearDecorations(i),o.dispose()})),o.show()}clearDecorations(t){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(t,i){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[{range:i,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:tx(Rx),position:_f.Full}}}])}))}}),cu(class extends N4{constructor(){super({id:"editor.action.nextSelectionMatchFindAction",label:ot(0,"Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:2109,weight:100}})}_run(t){return t.moveToNextMatch()}}),cu(class extends N4{constructor(){super({id:"editor.action.previousSelectionMatchFindAction",label:ot(0,"Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:3133,weight:100}})}_run(t){return t.moveToPrevMatch()}});const B4=eu.bindToContribution(R4.get);hu(new B4({id:x2,precondition:d2,handler:t=>t.closeFindWidget(),kbOpts:{weight:105,kbExpr:zr.and(YC.focus,zr.not("isComposing")),primary:9,secondary:[1033]}})),hu(new B4({id:C2,precondition:void 0,handler:t=>t.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:YC.focus,primary:g2.primary,mac:g2.mac,win:g2.win,linux:g2.linux}})),hu(new B4({id:S2,precondition:void 0,handler:t=>t.toggleWholeWords(),kbOpts:{weight:105,kbExpr:YC.focus,primary:m2.primary,mac:m2.mac,win:m2.win,linux:m2.linux}})),hu(new B4({id:D2,precondition:void 0,handler:t=>t.toggleRegex(),kbOpts:{weight:105,kbExpr:YC.focus,primary:w2.primary,mac:w2.mac,win:w2.win,linux:w2.linux}})),hu(new B4({id:E2,precondition:void 0,handler:t=>t.toggleSearchScope(),kbOpts:{weight:105,kbExpr:YC.focus,primary:v2.primary,mac:v2.mac,win:v2.win,linux:v2.linux}})),hu(new B4({id:A2,precondition:void 0,handler:t=>t.togglePreserveCase(),kbOpts:{weight:105,kbExpr:YC.focus,primary:b2.primary,mac:b2.mac,win:b2.win,linux:b2.linux}})),hu(new B4({id:M2,precondition:d2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:YC.focus,primary:3094}})),hu(new B4({id:M2,precondition:d2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:zr.and(YC.focus,p2),primary:3}})),hu(new B4({id:L2,precondition:d2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:YC.focus,primary:2563}})),hu(new B4({id:L2,precondition:d2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:zr.and(YC.focus,p2),primary:void 0,mac:{primary:2051}}})),hu(new B4({id:"editor.action.selectAllMatches",precondition:d2,handler:t=>t.selectAllMatches(),kbOpts:{weight:105,kbExpr:YC.focus,primary:515}}));const P4={0:" ",1:"u",2:"r"},$4=16777215,W4=4278190080;class j4{constructor(t){const i=Math.ceil(t/32);this._states=new Uint32Array(i)}get(t){return!!(this._states[t/32|0]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=t,this._endIndexes=i,this._collapseStates=new j4(t.length),this._userDefinedStates=new j4(t.length),this._recoveredStates=new j4(t.length),this._types=e,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const t=[],i=(i,e)=>{const s=t[t.length-1];return this.getStartLineNumber(s)<=i&&this.getEndLineNumber(s)>=e};for(let e=0,s=this._startIndexes.length;e$4||n>$4)throw new Error("startLineNumber or endLineNumber must not exceed "+$4);for(;t.length>0&&!i(s,n);)t.pop();const o=t.length>0?t[t.length-1]:-1;t.push(e),this._startIndexes[e]=s+((255&o)<<24),this._endIndexes[e]=n+((65280&o)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(t){return this._startIndexes[t]&$4}getEndLineNumber(t){return this._endIndexes[t]&$4}getType(t){return this._types?this._types[t]:void 0}hasTypes(){return!!this._types}isCollapsed(t){return this._collapseStates.get(t)}setCollapsed(t,i){this._collapseStates.set(t,i)}isUserDefined(t){return this._userDefinedStates.get(t)}setUserDefined(t,i){return this._userDefinedStates.set(t,i)}isRecovered(t){return this._recoveredStates.get(t)}setRecovered(t,i){return this._recoveredStates.set(t,i)}getSource(t){return this.isUserDefined(t)?1:this.isRecovered(t)?2:0}setSource(t,i){1===i?(this.setUserDefined(t,!0),this.setRecovered(t,!1)):2===i?(this.setUserDefined(t,!1),this.setRecovered(t,!0)):(this.setUserDefined(t,!1),this.setRecovered(t,!1))}setCollapsedAllOfType(t,i){let e=!1;if(this._types)for(let s=0;s>>24)+((this._endIndexes[t]&W4)>>>16);return 65535===i?-1:i}contains(t,i){return this.getStartLineNumber(t)<=i&&this.getEndLineNumber(t)>=i}findIndex(t){let i=0,e=this._startIndexes.length;if(0===e)return-1;for(;i=0){if(this.getEndLineNumber(i)>=t)return i;for(i=this.getParentIndex(i);-1!==i;){if(this.contains(i,t))return i;i=this.getParentIndex(i)}}return-1}toString(){const t=[];for(let i=0;iArray.isArray(t)?e=>ee=a.startLineNumber))c&&c.startLineNumber===a.startLineNumber?(1===a.source?t=a:(t=c,t.isCollapsed=a.isCollapsed&&c.endLineNumber===a.endLineNumber,t.source=0),c=n(++r)):(t=a,a.isCollapsed&&0===a.source&&(t.source=2)),a=o(++h);else{let i=h,e=a;for(;;){if(!e||e.startLineNumber>c.endLineNumber){t=c;break}if(1===e.source&&e.endLineNumber>c.endLineNumber)break;e=o(++i)}c=n(++r)}if(t){for(;u&&u.endLineNumbert.startLineNumber&&t.startLineNumber>d&&t.endLineNumber<=e&&(!u||u.endLineNumber>=t.endLineNumber)&&(f.push(t),d=t.startLineNumber,u&&l.push(u),u=t)}}return f}}class H4{constructor(t,i){this.ranges=t,this.index=i}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(t){return t.startLineNumber<=this.startLineNumber&&t.endLineNumber>=this.endLineNumber}containsLine(t){return this.startLineNumber<=t&&t<=this.endLineNumber}}class V4{get regions(){return this._regions}get textModel(){return this._textModel}constructor(t,i){this._updateEventEmitter=new de,this.onDidChange=this._updateEventEmitter.event,this._textModel=t,this._decorationProvider=i,this._regions=new z4(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(t){if(!t.length)return;t=t.sort(((t,i)=>t.regionIndex-i.regionIndex));const i={};this._decorationProvider.changeDecorations((e=>{let s=0,n=-1,o=-1;const r=t=>{for(;so&&(o=t),s++}};for(const e of t){const t=e.regionIndex,s=this._editorDecorationIds[t];if(s&&!i[s]){i[s]=!0,r(t);const e=!this._regions.isCollapsed(t);this._regions.setCollapsed(t,e),n=Math.max(n,this._regions.getEndLineNumber(t))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:t})}removeManualRanges(t){const i=new Array,e=i=>{for(const e of t)if(!(e.startLineNumber>i.endLineNumber||i.startLineNumber>e.endLineNumber))return!0;return!1};for(let t=0;te&&(e=o)}this._decorationProvider.changeDecorations((t=>this._editorDecorationIds=t.deltaDecorations(this._editorDecorationIds,i))),this._regions=t,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(t=[]){const i=(i,e)=>{for(const s of t)if(i=n.endLineNumber||n.startLineNumber<1||n.endLineNumber>e)continue;const o=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);i.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,isCollapsed:n.isCollapsed,source:n.source,checksum:o})}return i.length>0?i:void 0}applyMemento(t){var i,e;if(!Array.isArray(t))return;const s=[],n=this._textModel.getLineCount();for(const o of t){if(o.startLineNumber>=o.endLineNumber||o.startLineNumber<1||o.endLineNumber>n)continue;const t=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);o.checksum&&t!==o.checksum||s.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:void 0,isCollapsed:null===(i=o.isCollapsed)||void 0===i||i,source:null!==(e=o.source)&&void 0!==e?e:0})}const o=z4.sanitizeAndMerge(this._regions,s,n);this.updatePost(z4.fromFoldRanges(o))}_getLinesChecksum(t,i){return Ma(this._textModel.getLineContent(t)+this._textModel.getLineContent(i))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(t,i){const e=[];if(this._regions){let s=this._regions.findRange(t),n=1;for(;s>=0;){const t=this._regions.toRegion(s);i&&!i(t,n)||e.push(t),n++,s=t.parentIndex}}return e}getRegionAtLine(t){if(this._regions){const i=this._regions.findRange(t);if(i>=0)return this._regions.toRegion(i)}return null}getRegionsInside(t,i){const e=[],s=t?t.regionIndex+1:0,n=t?t.endLineNumber:Number.MAX_VALUE;if(i&&2===i.length){const t=[];for(let o=s,r=this._regions.length;o0&&!s.containedBy(t[t.length-1]);)t.pop();t.push(s),i(s,t.length)&&e.push(s)}}else for(let t=s,o=this._regions.length;t1){const o=t.getRegionsInside(e,((t,e)=>t.isCollapsed!==n&&e0)for(const o of s){const s=t.getRegionAtLine(o);if(s&&(s.isCollapsed!==i&&n.push(s),e>1)){const o=t.getRegionsInside(s,((t,s)=>t.isCollapsed!==i&&st.isCollapsed!==i&&st.isCollapsed!==i&&s<=e));n.push(...s)}t.toggleCollapseState(n)}function G4(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,void 0);e.length>0&&s.push(e[0])}const n=t.getRegionsInside(null,(t=>s.every((i=>!i.containedBy(t)&&!t.containedBy(i)))&&t.isCollapsed!==i));t.toggleCollapseState(n)}function Z4(t,i,e){const s=t.textModel,n=t.regions,o=[];for(let t=n.length-1;t>=0;t--)if(e!==n.isCollapsed(t)){const e=n.getStartLineNumber(t);i.test(s.getLineContent(e))&&o.push(n.toRegion(t))}t.toggleCollapseState(o)}function Q4(t,i,e){const s=t.regions,n=[];for(let t=s.length-1;t>=0;t--)e!==s.isCollapsed(t)&&i===s.getType(t)&&n.push(s.toRegion(t));t.toggleCollapseState(n)}class J4{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(t){this._updateEventEmitter=new de,this._hasLineChanges=!1,this._foldingModel=t,this._foldingModelListener=t.onDidChange((()=>this.updateHiddenRanges())),this._hiddenRanges=[],t.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(t){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=t.changes.some((t=>t.range.endLineNumber!==t.range.startLineNumber||0!==KD(t.text)[0])))}updateHiddenRanges(){let t=!1;const i=[];let e=0,s=0,n=Number.MAX_VALUE,o=-1;const r=this._foldingModel.regions;for(;e0}isHidden(t){return null!==Y4(this._hiddenRanges,t)}adjustSelections(t){let i=!1;const e=this._foldingModel.textModel;let s=null;const n=t=>(s&&function(t,i){return t>=i.startLineNumber&&t<=i.endLineNumber}(t,s)||(s=Y4(this._hiddenRanges,t)),s?s.startLineNumber-1:null);for(let s=0,o=t.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function Y4(t,i){const e=ap(t,(t=>i=0&&t[e].endLineNumber>=i?t[e]:null}class X4{constructor(t,i,e){this.editorModel=t,this.languageConfigurationService=i,this.foldingRangesLimit=e,this.id="indent"}dispose(){}compute(t){const i=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules;return Promise.resolve(function(t,i,e,s=i5){const n=t.getOptions().tabSize,o=new t5(s);let r;e&&(r=new RegExp(`(${e.start.source})|(?:${e.end.source})`));const h=[],c=t.getLineCount()+1;h.push({indent:-1,endAbove:c,line:c});for(let e=t.getLineCount();e>0;e--){const s=t.getLineContent(e),c=RS(s,n);let a,l=h[h.length-1];if(-1!==c){if(r&&(a=s.match(r))){if(!a[1]){h.push({indent:-2,endAbove:e,line:e});continue}{let t=h.length-1;for(;t>0&&-2!==h[t].indent;)t--;if(t>0){h.length=t+1,l=h[t],o.insertFirst(e,l.line,c),l.line=e,l.indent=c,l.endAbove=e;continue}}}if(l.indent>c){do{h.pop(),l=h[h.length-1]}while(l.indent>c);const t=l.endAbove-1;t-e>=1&&o.insertFirst(e,t,c)}l.indent===c?l.endAbove=e:h.push({indent:c,endAbove:e,line:e})}else i&&(l.endAbove=e)}return o.toIndentRanges(t)}(this.editorModel,i&&!!i.offSide,i&&i.markers,this.foldingRangesLimit))}}class t5{constructor(t){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=t}insertFirst(t,i,e){if(t>$4||i>$4)return;const s=this._length;this._startIndexes[s]=t,this._endIndexes[s]=i,this._length++,e<1e3&&(this._indentOccurrences[e]=(this._indentOccurrences[e]||0)+1)}toIndentRanges(t){const i=this._foldingRangesLimit.limit;if(this._length<=i){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=this._length-1,s=0;e>=0;e--,s++)t[s]=this._startIndexes[e],i[s]=this._endIndexes[e];return new z4(t,i)}{this._foldingRangesLimit.update(this._length,i);let e=0,s=this._indentOccurrences.length;for(let t=0;ti){s=t;break}e+=n}}const n=t.getOptions().tabSize,o=new Uint32Array(i),r=new Uint32Array(i);for(let h=this._length-1,c=0;h>=0;h--){const a=this._startIndexes[h],l=RS(t.getLineContent(a),n);(l{}},e5=dw("editor.foldBackground",{light:ly(Sv,.3),dark:ly(Sv,.3),hcDark:null,hcLight:null},ot(0,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);dw("editorGutter.foldingControlForeground",{dark:gw,light:gw,hcDark:gw,hcLight:gw},ot(0,"Color of the folding control in the editor gutter."));const s5=Hz("folding-expanded",Os.chevronDown,ot(0,"Icon for expanded ranges in the editor glyph margin.")),n5=Hz("folding-collapsed",Os.chevronRight,ot(0,"Icon for collapsed ranges in the editor glyph margin.")),o5=Hz("folding-manual-collapsed",n5,ot(0,"Icon for manually collapsed ranges in the editor glyph margin.")),r5=Hz("folding-manual-expanded",s5,ot(0,"Icon for manually expanded ranges in the editor glyph margin.")),h5={color:tx(e5),position:Bf.Inline};class c5{constructor(t){this.editor=t,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(t,i,e){return i?c5.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?t?this.showFoldingHighlights?c5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:c5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:c5.NO_CONTROLS_EXPANDED_RANGE_DECORATION:t?e?this.showFoldingHighlights?c5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:c5.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?c5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:c5.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?e?c5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:c5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e?c5.MANUALLY_EXPANDED_VISUAL_DECORATION:c5.EXPANDED_VISUAL_DECORATION}changeDecorations(t){return this.editor.changeDecorations(t)}removeDecorations(t){this.editor.removeDecorations(t)}}c5.COLLAPSED_VISUAL_DECORATION=AL.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(n5)}),c5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=AL.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:h5,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(n5)}),c5.MANUALLY_COLLAPSED_VISUAL_DECORATION=AL.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(o5)}),c5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=AL.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:h5,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(o5)}),c5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=AL.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0}),c5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=AL.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:h5,isWholeLine:!0}),c5.EXPANDED_VISUAL_DECORATION=AL.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Cr.asClassName(s5)}),c5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=AL.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(s5)}),c5.MANUALLY_EXPANDED_VISUAL_DECORATION=AL.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Cr.asClassName(r5)}),c5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=AL.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(r5)}),c5.NO_CONTROLS_EXPANDED_RANGE_DECORATION=AL.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),c5.HIDDEN_RANGE_DECORATION=AL.register({description:"folding-hidden-range-decoration",stickiness:1});const a5={};class l5{constructor(t,i,e,s,n){this.editorModel=t,this.providers=i,this.handleFoldingRangesChange=e,this.foldingRangesLimit=s,this.fallbackRangeProvider=n,this.id="syntax",this.disposables=new Xi,n&&this.disposables.add(n);for(const t of i)"function"==typeof t.onDidChange&&this.disposables.add(t.onDidChange(e))}compute(t){return function(t,i,e){let s=null;const n=t.map(((t,n)=>Promise.resolve(t.provideFoldingRanges(i,a5,e)).then((t=>{if(!e.isCancellationRequested&&Array.isArray(t)){Array.isArray(s)||(s=[]);const e=i.getLineCount();for(const i of t)i.start>0&&i.end>i.start&&i.end<=e&&s.push({start:i.start,end:i.end,rank:n,kind:i.kind})}}),Pi)));return Promise.all(n).then((()=>s))}(this.providers,this.editorModel,t).then((i=>{var e,s;return i?function(t,i){const e=t.sort(((t,i)=>{let e=t.start-i.start;return 0===e&&(e=t.rank-i.rank),e})),s=new u5(i);let n;const o=[];for(const t of e)if(n){if(t.start>n.start)if(t.end<=n.end)o.push(n),n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);else{if(t.start>n.end){do{n=o.pop()}while(n&&t.start>n.end);n&&o.push(n),n=t}s.add(t.start,t.end,t.kind&&t.kind.value,o.length)}}else n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);return s.toIndentRanges()}(i,this.foldingRangesLimit):null!==(s=null===(e=this.fallbackRangeProvider)||void 0===e?void 0:e.compute(t))&&void 0!==s?s:null}))}dispose(){this.disposables.dispose()}}class u5{constructor(t){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=t}add(t,i,e,s){if(t>$4||i>$4)return;const n=this._length;this._startIndexes[n]=t,this._endIndexes[n]=i,this._nestingLevels[n]=s,this._types[n]=e,this._length++,s<30&&(this._nestingLevelCounts[s]=(this._nestingLevelCounts[s]||0)+1)}toIndentRanges(){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=0;et){e=s;break}i+=n}}const s=new Uint32Array(t),n=new Uint32Array(t),o=[];for(let r=0,h=0;rthis.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((t=>{if(t.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),t.hasChanged(47)&&this.onModelChanged(),t.hasChanged(109)||t.hasChanged(45)){const t=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=t.get(109),this.foldingDecorationProvider.showFoldingHighlights=t.get(45),this.triggerFoldingModelChanged()}t.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),t.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),t.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))}))),this.onModelChanged()}saveViewState(){const t=this.editor.getModel();if(!t||!this._isEnabled||t.isTooLargeForTokenization())return{};if(this.foldingModel){const i=this.foldingModel.getMemento(),e=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:i,lineCount:t.getLineCount(),provider:e,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(t){const i=this.editor.getModel();if(i&&this._isEnabled&&!i.isTooLargeForTokenization()&&this.hiddenRangeModel&&t&&(this._currentModelHasFoldedImports=!!t.foldedImports,t.collapsedRegions&&t.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(t.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new V4(t,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new J4(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((t=>this.onHiddenRangesChanges(t)))),this.updateScheduler=new hc(this.updateDebounceInfo.get(t)),this.cursorChangedScheduler=new pc((()=>this.revealCursor()),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelContent((t=>this.onDidChangeModelContent(t)))),this.localToDispose.add(this.editor.onDidChangeCursorPosition((()=>this.onCursorPositionChanged()))),this.localToDispose.add(this.editor.onMouseDown((t=>this.onEditorMouseDown(t)))),this.localToDispose.add(this.editor.onMouseUp((t=>this.onEditorMouseUp(t)))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),null===(t=this.updateScheduler)||void 0===t||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,null===(i=this.rangeProvider)||void 0===i||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var t;null===(t=this.rangeProvider)||void 0===t||t.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(t){if(this.rangeProvider)return this.rangeProvider;const i=new X4(t,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=i,this._useFoldingProviders&&this.foldingModel){const e=d5.getFoldingRangeProviders(this.languageFeaturesService,t);e.length>0&&(this.rangeProvider=new l5(t,e,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,i))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(t){var i;null===(i=this.hiddenRangeModel)||void 0===i||i.notifyChangeModelContent(t),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((()=>{const t=this.foldingModel;if(!t)return null;const i=new re,e=this.getRangeProvider(t.textModel),s=this.foldingRegionPromise=nc((t=>e.compute(t)));return s.then((e=>{if(e&&s===this.foldingRegionPromise){let s;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const t=e.setCollapsedAllOfType(Ks.Imports.value,!0);t&&(s=iU.capture(this.editor),this._currentModelHasFoldedImports=t)}const n=this.editor.getSelections(),o=n?n.map((t=>t.startLineNumber)):[];t.update(e,o),null==s||s.restore(this.editor);const r=this.updateDebounceInfo.update(t.textModel,i.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return t}))})).then(void 0,(t=>(Bi(t),null))))}onHiddenRangesChanges(t){if(this.hiddenRangeModel&&t.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(t,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const t=this.getFoldingModel();t&&t.then((t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const e=[];for(const s of i){const i=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(i)&&e.push(...t.getAllRegionsAtLine(i,(t=>t.isCollapsed&&i>t.startLineNumber)))}e.length&&(t.toggleCollapseState(e),this.reveal(i[0].getPosition()))}}})).then(void 0,Bi)}onEditorMouseDown(t){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!t.target||!t.target.range)return;if(!t.event.leftButton&&!t.event.middleButton)return;const i=t.target.range;let e=!1;switch(t.target.type){case 4:if(t.target.detail.offsetX-t.target.element.offsetLeft<4)return;e=!0;break;case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!t.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){const t=this.editor.getModel();if(t&&i.startColumn===t.getLineMaxColumn(i.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:i.startLineNumber,iconClicked:e}}onEditorMouseUp(t){const i=this.foldingModel;if(!i||!this.mouseDownInfo||!t.target)return;const e=this.mouseDownInfo.lineNumber,s=this.mouseDownInfo.iconClicked,n=t.target.range;if(!n||n.startLineNumber!==e)return;if(s){if(4!==t.target.type)return}else{const t=this.editor.getModel();if(!t||n.startColumn!==t.getLineMaxColumn(e))return}const o=i.getRegionAtLine(e);if(o&&o.startLineNumber===e){const n=o.isCollapsed;if(s||n){let s=[];if(t.event.altKey){const t=i.getRegionsInside(null,(t=>!t.containedBy(o)&&!o.containedBy(t)));for(const i of t)i.isCollapsed&&s.push(i);0===s.length&&(s=t)}else{const e=t.event.middleButton||t.event.shiftKey;if(e)for(const t of i.getRegionsInside(o))t.isCollapsed===n&&s.push(t);!n&&e&&0!==s.length||s.push(o)}i.toggleCollapseState(s),this.reveal({lineNumber:e,column:1})}}}reveal(t){this.editor.revealPositionInCenterIfOutsideViewport(t,0)}};g5.ID="editor.contrib.folding",g5=d5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([f5(1,ah),f5(2,Xd),f5(3,oT),f5(4,gR),f5(5,xg)],g5);class m5{constructor(t){this.editor=t,this._onDidChange=new de,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}class w5 extends su{runEditorCommand(t,i,e){const s=t.get(Xd),n=g5.get(i);if(!n)return;const o=n.getFoldingModel();return o?(this.reportTelemetry(t,i),o.then((t=>{if(t){this.invoke(n,t,i,e,s);const o=i.getSelection();o&&n.reveal(o.getStartPosition())}}))):void 0}getSelectedLines(t){const i=t.getSelections();return i?i.map((t=>t.startLineNumber)):[]}getLineNumbers(t,i){return t&&t.selectionLines?t.selectionLines.map((t=>t+1)):this.getSelectedLines(i)}run(t,i){}}function v5(t){if(!H(t)){if(!P(t))return!1;const i=t;if(!H(i.levels)&&!W(i.levels))return!1;if(!H(i.direction)&&!B(i.direction))return!1;if(!(H(i.selectionLines)||Array.isArray(i.selectionLines)&&i.selectionLines.every(W)))return!1}return!0}class b5 extends w5{getFoldingLevel(){return parseInt(this.id.substr(b5.ID_PREFIX.length))}invoke(t,i,e){!function(t,i,e,s){const n=t.getRegionsInside(null,((t,e)=>e===i&&true!==t.isCollapsed&&!s.some((i=>t.containsLine(i)))));t.toggleCollapseState(n)}(i,this.getFoldingLevel(),0,this.getSelectedLines(e))}}b5.ID_PREFIX="editor.foldLevel",b5.ID=t=>b5.ID_PREFIX+t,lu(g5.ID,g5,0),cu(class extends w5{constructor(){super({id:"editor.unfold",label:ot(0,"Unfold"),alias:"Unfold",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:v5,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=s&&s.levels||1,o=this.getLineNumbers(s,e);s&&"up"===s.direction?K4(i,!1,n,o):q4(i,!1,n,o)}}),cu(class extends w5{constructor(){super({id:"editor.unfoldRecursively",label:ot(0,"Unfold Recursively"),alias:"Unfold Recursively",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2142),weight:100}})}invoke(t,i,e,s){q4(i,!1,Number.MAX_VALUE,this.getSelectedLines(e))}}),cu(class extends w5{constructor(){super({id:"editor.fold",label:ot(0,"Fold"),alias:"Fold",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:v5,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=this.getLineNumbers(s,e),o=s&&s.levels,r=s&&s.direction;"number"!=typeof o&&"string"!=typeof r?function(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,(t=>true!==t.isCollapsed));e.length>0&&s.push(e[0])}t.toggleCollapseState(s)}(i,0,n):"up"===r?K4(i,!0,o||1,n):q4(i,!0,o||1,n)}}),cu(class extends w5{constructor(){super({id:"editor.foldRecursively",label:ot(0,"Fold Recursively"),alias:"Fold Recursively",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2140),weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);q4(i,!0,Number.MAX_VALUE,s)}}),cu(class extends w5{constructor(){super({id:"editor.foldAll",label:ot(0,"Fold All"),alias:"Fold All",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2069),weight:100}})}invoke(t,i,e){q4(i,!0)}}),cu(class extends w5{constructor(){super({id:"editor.unfoldAll",label:ot(0,"Unfold All"),alias:"Unfold All",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2088),weight:100}})}invoke(t,i,e){q4(i,!1)}}),cu(class extends w5{constructor(){super({id:"editor.foldAllBlockComments",label:ot(0,"Fold All Block Comments"),alias:"Fold All Block Comments",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2138),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())Q4(i,Ks.Comment.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).comments;s&&s.blockCommentStartToken&&Z4(i,new RegExp("^\\s*"+Gn(s.blockCommentStartToken)),!0)}}}),cu(class extends w5{constructor(){super({id:"editor.foldAllMarkerRegions",label:ot(0,"Fold All Regions"),alias:"Fold All Regions",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2077),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())Q4(i,Ks.Region.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&Z4(i,new RegExp(s.markers.start),!0)}}}),cu(class extends w5{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:ot(0,"Unfold All Regions"),alias:"Unfold All Regions",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2078),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())Q4(i,Ks.Region.value,!1);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&Z4(i,new RegExp(s.markers.start),!1)}}}),cu(class extends w5{constructor(){super({id:"editor.foldAllExcept",label:ot(0,"Fold All Except Selected"),alias:"Fold All Except Selected",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2136),weight:100}})}invoke(t,i,e){G4(i,!0,this.getSelectedLines(e))}}),cu(class extends w5{constructor(){super({id:"editor.unfoldAllExcept",label:ot(0,"Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2134),weight:100}})}invoke(t,i,e){G4(i,!1,this.getSelectedLines(e))}}),cu(class extends w5{constructor(){super({id:"editor.toggleFold",label:ot(0,"Toggle Fold"),alias:"Toggle Fold",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2090),weight:100}})}invoke(t,i,e){U4(i,1,this.getSelectedLines(e))}}),cu(class extends w5{constructor(){super({id:"editor.gotoParentFold",label:ot(0,"Go to Parent Fold"),alias:"Go to Parent Fold",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=null;const s=i.getRegionAtLine(t);if(null!==s&&(e=s.startLineNumber,t===e)){const t=s.parentIndex;e=-1!==t?i.regions.getStartLineNumber(t):null}return e}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),cu(class extends w5{constructor(){super({id:"editor.gotoPreviousFold",label:ot(0,"Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){if(t!==e.startLineNumber)return e.startLineNumber;{const t=e.parentIndex;let s=0;for(-1!==t&&(s=i.regions.getStartLineNumber(e.parentIndex));null!==e;){if(!(e.regionIndex>0))return null;if(e=i.regions.toRegion(e.regionIndex-1),e.startLineNumber<=s)return null;if(e.parentIndex===t)return e.startLineNumber}}}else if(i.regions.length>0)for(e=i.regions.toRegion(i.regions.length-1);null!==e;){if(e.startLineNumber0?i.regions.toRegion(e.regionIndex-1):null}return null}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),cu(class extends w5{constructor(){super({id:"editor.gotoNextFold",label:ot(0,"Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){const t=e.parentIndex;let s=0;if(-1!==t)s=i.regions.getEndLineNumber(e.parentIndex);else{if(0===i.regions.length)return null;s=i.regions.getEndLineNumber(i.regions.length-1)}for(;null!==e;){if(!(e.regionIndex=s)return null;if(e.parentIndex===t)return e.startLineNumber}}else if(i.regions.length>0)for(e=i.regions.toRegion(0);null!==e;){if(e.startLineNumber>t)return e.startLineNumber;e=e.regionIndext.startLineNumber&&(n.push({startLineNumber:t.startLineNumber,endLineNumber:i,type:void 0,isCollapsed:!0,source:1}),e.setSelection({startLineNumber:t.startLineNumber,startColumn:1,endLineNumber:t.startLineNumber,endColumn:1}))}if(n.length>0){n.sort(((t,i)=>t.startLineNumber-i.startLineNumber));const t=z4.sanitizeAndMerge(i.regions,n,null===(s=e.getModel())||void 0===s?void 0:s.getLineCount());i.updatePost(z4.fromFoldRanges(t))}}}}),cu(class extends w5{constructor(){super({id:"editor.removeManualFoldingRanges",label:ot(0,"Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2137),weight:100}})}invoke(t,i,e){const s=e.getSelections();if(s){const e=[];for(const t of s){const{startLineNumber:i,endLineNumber:s}=t;e.push(s>=i?{startLineNumber:i,endLineNumber:s}:{endLineNumber:s,startLineNumber:i})}i.removeManualRanges(e),t.triggerFoldingModelChanged()}}});for(let t=1;t<=7;t++)y5=new b5({id:b5.ID(t),label:ot(0,"Fold Level {0}",t),alias:`Fold Level ${t}`,precondition:p5,kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2048|21+t),weight:100}}),du.INSTANCE.registerEditorAction(y5);var y5;Dr.registerCommand("_executeFoldingRangeProvider",(async function(t,...i){const[e]=i;if(!(e instanceof ms))throw Hi();const s=t.get(xg),n=t.get(pr).getModel(e);if(!n)throw Hi();const o=t.get(pd);if(!o.getValue("editor.folding",{resource:e}))return[];const r=t.get(Xd),h=o.getValue("editor.foldingStrategy",{resource:e}),c={get limit(){return o.getValue("editor.foldingMaximumRegions",{resource:e})},update:()=>{}},a=new X4(n,r,c);let l=a;if("indentation"!==h){const t=g5.getFoldingRangeProviders(s,n);t.length&&(l=new l5(n,t,(()=>{}),c,a))}const u=await l.compute(ke.None),d=[];try{if(u)for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},x5=function(t,i){return function(e,s){i(e,s,t)}};let C5=class{constructor(t,i,e,s){this._editor=t,this._languageFeaturesService=i,this._workerService=e,this._accessibleNotificationService=s,this._disposables=new Xi,this._sessionDisposables=new Xi,this._disposables.add(i.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(56)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const t=this._editor.getModel(),[i]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(t);if(!i||!i.autoFormatTriggerCharacters)return;const e=new Ef;for(const t of i.autoFormatTriggerCharacters)e.add(t.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((t=>{const i=t.charCodeAt(t.length-1);e.has(i)&&this._trigger(String.fromCharCode(i))})))}_trigger(t){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const i=this._editor.getModel(),e=this._editor.getPosition(),s=new Ce,n=this._editor.onDidChangeModelContent((t=>{if(t.isFlush)return s.cancel(),void n.dispose();for(let i=0,o=t.changes.length;i{s.token.isCancellationRequested||b(t)&&(this._accessibleNotificationService.notify("format",!1),MK.execute(this._editor,t,!0))})).finally((()=>{n.dispose()}))}};C5.ID="editor.contrib.autoFormat",C5=k5([x5(1,xg),x5(2,vP),x5(3,Jm)],C5);let S5=class{constructor(t,i,e){this.editor=t,this._languageFeaturesService=i,this._instantiationService=e,this._callOnDispose=new Xi,this._callOnModel=new Xi,this._callOnDispose.add(t.onDidChangeConfiguration((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModel((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModelLanguage((()=>this._update()))),this._callOnDispose.add(i.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste((({range:t})=>this._trigger(t))))}_trigger(t){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(OK,this.editor,t,2,jO.None,ke.None,!1).catch(Bi))}};S5.ID="editor.contrib.formatOnPaste",S5=k5([x5(1,xg),x5(2,ur)],S5),lu(C5.ID,C5,2),lu(S5.ID,S5,2),cu(class extends su{constructor(){super({id:"editor.action.formatDocument",label:ot(0,"Format Document"),alias:"Format Document",precondition:zr.and(YC.notInCompositeEditor,YC.writable,YC.hasDocumentFormattingProvider),kbOpts:{kbExpr:YC.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(t,i){if(i.hasModel()){const e=t.get(ur),s=t.get(zO);await s.showWhile(e.invokeFunction(_K,i,1,jO.None,ke.None,!0),250)}}}),cu(class extends su{constructor(){super({id:"editor.action.formatSelection",label:ot(0,"Format Selection"),alias:"Format Selection",precondition:zr.and(YC.writable,YC.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:YC.editorTextFocus,primary:Ne(2089,2084),weight:100},contextMenuOpts:{when:YC.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(t,i){if(!i.hasModel())return;const e=t.get(ur),s=i.getModel(),n=i.getSelections().map((t=>t.isEmpty()?new Ms(t.startLineNumber,1,t.startLineNumber,s.getLineMaxColumn(t.startLineNumber)):t)),o=t.get(zO);await o.showWhile(e.invokeFunction(OK,i,n,1,jO.None,ke.None,!0),250)}}),Dr.registerCommand("editor.action.format",(async t=>{const i=t.get(fr).getFocusedCodeEditor();if(!i||!i.hasModel())return;const e=t.get(Sr);i.getSelection().isEmpty()?await e.executeCommand("editor.action.formatDocument"):await e.executeCommand("editor.action.formatSelection")}));var D5=function(t,i){return function(e,s){i(e,s,t)}};class E5{remove(){var t;null===(t=this.parent)||void 0===t||t.children.delete(this.id)}static findId(t,i){let e;"string"==typeof t?e=`${i.id}/${t}`:(e=`${i.id}/${t.name}`,void 0!==i.children.get(e)&&(e=`${i.id}/${t.name}_${t.range.startLineNumber}_${t.range.startColumn}`));let s=e;for(let t=0;void 0!==i.children.get(s);t++)s=`${e}_${t}`;return s}static empty(t){return 0===t.children.size}}class A5 extends E5{constructor(t,i,e){super(),this.id=t,this.parent=i,this.symbol=e,this.children=new Map}}class M5 extends E5{constructor(t,i,e,s){super(),this.id=t,this.parent=i,this.label=e,this.order=s,this.children=new Map}}class L5 extends E5{static create(t,i,e){const s=new Ce(e),n=new L5(i.uri),o=t.ordered(i),r=o.map(((t,e)=>{var o;const r=E5.findId(`provider_${e}`,n),h=new M5(r,n,null!==(o=t.displayName)&&void 0!==o?o:"Unknown Outline Provider",e);return Promise.resolve(t.provideDocumentSymbols(i,s.token)).then((t=>{for(const i of t||[])L5._makeOutlineElement(i,h);return h}),(t=>(Pi(t),h))).then((t=>{E5.empty(t)?t.remove():n._groups.set(r,t)}))})),h=t.onDidChange((()=>{l(t.ordered(i),o)||s.cancel()}));return Promise.all(r).then((()=>s.token.isCancellationRequested&&!e.isCancellationRequested?L5.create(t,i,e):n._compact())).finally((()=>{s.dispose(),h.dispose(),s.dispose()}))}static _makeOutlineElement(t,i){const e=E5.findId(t,i),s=new A5(e,i,t);if(t.children)for(const i of t.children)L5._makeOutlineElement(i,s);i.children.set(s.id,s)}constructor(t){super(),this.uri=t,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let t=0;for(const[i,e]of this._groups)0===e.children.size?this._groups.delete(i):t+=1;if(1!==t)this.children=this._groups;else{const t=Ht.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const t=[];for(const i of this.children.values())i instanceof A5?t.push(i.symbol):t.push(...Ht.map(i.children.values(),(t=>t.symbol)));return t.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)))}asListOfDocumentSymbols(){const t=this.getTopLevelSymbols(),i=[];return L5._flattenDocumentSymbols(i,t,""),i.sort(((t,i)=>As.compare(Ms.getStartPosition(t.range),Ms.getStartPosition(i.range))||As.compare(Ms.getEndPosition(i.range),Ms.getEndPosition(t.range))))}static _flattenDocumentSymbols(t,i,e){for(const s of i)t.push({kind:s.kind,tags:s.tags,name:s.name,detail:s.detail,containerName:s.containerName||e,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&L5._flattenDocumentSymbols(t,s.children,s.name)}}const F5=dr("IOutlineModelService");let T5=class{constructor(t,i,e){this._languageFeaturesService=t,this._disposables=new Xi,this._cache=new Vp(10,.7),this._debounceInformation=i.for(t.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(e.onModelRemoved((t=>{this._cache.delete(t.id)})))}dispose(){this._disposables.dispose()}async getOrCreate(t,i){const e=this._languageFeaturesService.documentSymbolProvider,s=e.ordered(t);let n=this._cache.get(t.id);if(!n||n.versionId!==t.getVersionId()||!l(n.provider,s)){const i=new Ce;n={versionId:t.getVersionId(),provider:s,promiseCnt:0,source:i,promise:L5.create(e,t,i.token),model:void 0},this._cache.set(t.id,n);const o=Date.now();n.promise.then((i=>{n.model=i,this._debounceInformation.update(t,Date.now()-o)})).catch((()=>{this._cache.delete(t.id)}))}if(n.model)return n.model;n.promiseCnt+=1;const o=i.onCancellationRequested((()=>{0==--n.promiseCnt&&(n.source.cancel(),this._cache.delete(t.id))}));try{return await n.promise}finally{o.dispose()}}};T5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([D5(0,xg),D5(1,gR),D5(2,pr)],T5),Cd(F5,T5,1),Dr.registerCommand("_executeDocumentSymbolProvider",(async function(t,...i){const[e]=i;q(ms.isUri(e));const s=t.get(F5),n=t.get(gr),o=await n.createModelReference(e);try{return(await s.getOrCreate(o.object.textEditorModel,ke.None)).getTopLevelSymbols()}finally{o.dispose()}}));class R5 extends te{constructor(t,i){super(),this.contextKeyService=t,this.model=i,this.inlineCompletionVisible=R5.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=R5.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=R5.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=R5.suppressSuggestions.bindTo(this.contextKeyService),this._register(WV((t=>{const i=this.model.read(t),e=null==i?void 0:i.state.read(t),s=!!(null==e?void 0:e.inlineCompletion)&&void 0!==(null==e?void 0:e.ghostText)&&!(null==e?void 0:e.ghostText.isEmpty());this.inlineCompletionVisible.set(s),(null==e?void 0:e.ghostText)&&(null==e?void 0:e.inlineCompletion)&&this.suppressSuggestions.set(e.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}))),this._register(WV((t=>{const i=this.model.read(t);let e=!1,s=!0;const n=null==i?void 0:i.ghostText.read(t);if((null==i?void 0:i.selectedSuggestItem)&&n&&n.parts.length>0){const{column:t,lines:o}=n.parts[0],r=o[0];if(t<=i.textModel.getLineIndentColumn(n.lineNumber)){let t=to(r);-1===t&&(t=r.length-1),e=t>0;const n=i.textModel.getOptions().tabSize;s=Xy.visibleColumnFromColumn(r,t+1,n)i)throw new Ki(`startColumn ${t} cannot be after endColumnExclusive ${i}`)}toRange(t){return new Ms(t,this.startColumn,t,this.endColumnExclusive)}equals(t){return this.startColumn===t.startColumn&&this.endColumnExclusive===t.endColumnExclusive}}function N5(t,i){return new As(t.lineNumber+i.lineNumber-1,1===i.lineNumber?t.column+i.column-1:i.column)}function B5(t){let i=1,e=1;for(const s of t)"\n"===s?(i++,e=1):e++;return new As(i,e)}class P5{constructor(t,i){this.lineNumber=t,this.parts=i}equals(t){return this.lineNumber===t.lineNumber&&this.parts.length===t.parts.length&&this.parts.every(((i,e)=>i.equals(t.parts[e])))}renderForScreenReader(t){if(0===this.parts.length)return"";const i=function(t,i){const e=new O5(t),s=i.map((t=>{const i=Ms.lift(t.range);return{startOffset:e.getOffset(i.getStartPosition()),endOffset:e.getOffset(i.getEndPosition()),text:t.text}}));s.sort(((t,i)=>i.startOffset-t.startOffset));for(const i of s)t=t.substring(0,i.startOffset)+i.text+t.substring(i.endOffset);return t}(t.substr(0,this.parts[this.parts.length-1].column-1),this.parts.map((t=>({range:{startLineNumber:1,endLineNumber:1,startColumn:t.column,endColumn:t.column},text:t.lines.join("\n")}))));return i.substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((t=>0===t.lines.length))}get lineCount(){return 1+this.parts.reduce(((t,i)=>t+i.lines.length-1),0)}}class $5{constructor(t,i,e){this.column=t,this.lines=i,this.preview=e}equals(t){return this.column===t.column&&this.lines.length===t.lines.length&&this.lines.every(((i,e)=>i===t.lines[e]))}}class W5{constructor(t,i,e,s=0){this.lineNumber=t,this.columnRange=i,this.newLines=e,this.additionalReservedLineCount=s,this.parts=[new $5(this.columnRange.endColumnExclusive,this.newLines,!1)]}renderForScreenReader(t){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((t=>0===t.lines.length))}equals(t){return this.lineNumber===t.lineNumber&&this.columnRange.equals(t.columnRange)&&this.newLines.length===t.newLines.length&&this.newLines.every(((i,e)=>i===t.newLines[e]))&&this.additionalReservedLineCount===t.additionalReservedLineCount}}function j5(t,i){return t===i||!(!t||!i)&&(t instanceof P5&&i instanceof P5||t instanceof W5&&i instanceof W5)&&t.equals(i)}const z5="ghost-text";let H5=class extends te{constructor(t,i,e){super(),this.editor=t,this.model=i,this.languageService=e,this.isDisposed=FV(this,!1),this.currentTextModel=KV(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=_V(this,(t=>{if(this.isDisposed.read(t))return;const i=this.currentTextModel.read(t);if(i!==this.model.targetTextModel.read(t))return;const e=this.model.ghostText.read(t);if(!e)return;const s=e instanceof W5?e.columnRange:void 0,n=[],o=[];function r(t,i){if(o.length>0){const e=o[o.length-1];i&&e.decorations.push(new Wg(e.content.length+1,e.content.length+1+t[0].length,i,0)),e.content+=t[0],t=t.slice(1)}for(const e of t)o.push({content:e,decorations:i?[new Wg(1,e.length+1,i,0)]:[]})}const h=i.getLineContent(e.lineNumber);let c,a=0;for(const t of e.parts){let i=t.lines;void 0===c?(n.push({column:t.column,text:i[0],preview:t.preview}),i=i.slice(1)):r([h.substring(a,t.column-1)],void 0),i.length>0&&(r(i,z5),void 0===c&&t.column<=h.length&&(c=t.column)),a=t.column-1}void 0!==c&&r([h.substring(a)],void 0);const l=void 0!==c?new _5(c,h.length+1):void 0;return{replacedRange:s,inlineTexts:n,additionalLines:o,hiddenRange:l,lineNumber:e.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(t),targetTextModel:i}})),this.decorations=_V(this,(t=>{const i=this.uiState.read(t);if(!i)return[];const e=[];i.replacedRange&&e.push({range:i.replacedRange.toRange(i.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),i.hiddenRange&&e.push({range:i.hiddenRange.toRange(i.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const t of i.inlineTexts)e.push({range:Ms.fromPositions(new As(i.lineNumber,t.column)),options:{description:z5,after:{content:t.text,inlineClassName:t.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Pf.Left},showIfCollapsed:!0}});return e})),this.additionalLinesWidget=this._register(new V5(this.editor,this.languageService.languageIdCodec,_V((t=>{const i=this.uiState.read(t);return i?{lineNumber:i.lineNumber,additionalLines:i.additionalLines,minReservedLineCount:i.additionalReservedLineCount,targetTextModel:i.targetTextModel}:void 0})))),this._register(Yi((()=>{this.isDisposed.set(!0,void 0)}))),this._register(function(t,i){const e=new Xi,s=t.createDecorationsCollection();return e.add(jV({debugName:()=>`Apply decorations from ${i.debugName}`},(t=>{const e=i.read(t);s.set(e)}))),e.add({dispose:()=>{s.clear()}}),e}(this.editor,this.decorations))}ownsViewZone(t){return this.additionalLinesWidget.viewZoneId===t}};H5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,yd)],H5);class V5 extends te{get viewZoneId(){return this._viewZoneId}constructor(t,i,e){super(),this.editor=t,this.languageIdCodec=i,this.lines=e,this._viewZoneId=void 0,this.editorOptionsChanged=ZV("editorOptionChanged",he.filter(this.editor.onDidChangeConfiguration,(t=>t.hasChanged(33)||t.hasChanged(116)||t.hasChanged(98)||t.hasChanged(93)||t.hasChanged(51)||t.hasChanged(50)||t.hasChanged(66)))),this._register(WV((t=>{const i=this.lines.read(t);this.editorOptionsChanged.read(t),i?this.updateLines(i.lineNumber,i.additionalLines,i.minReservedLineCount):this.clear()})))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones((t=>{this._viewZoneId&&(t.removeZone(this._viewZoneId),this._viewZoneId=void 0)}))}updateLines(t,i,e){const s=this.editor.getModel();if(!s)return;const{tabSize:n}=s.getOptions();this.editor.changeViewZones((s=>{this._viewZoneId&&(s.removeZone(this._viewZoneId),this._viewZoneId=void 0);const o=Math.max(i.length,e);if(o>0){const e=document.createElement("div");!function(t,i,e,s,n){const o=s.get(33),r=s.get(116),h=s.get(93),c=s.get(51),a=s.get(50),l=s.get(66),u=new td(1e4);u.appendString('
    ');for(let t=0,s=e.length;t');const f=Eo(d),p=So(d),g=Pg.createEmpty(d,n);Qg(new qg(a.isMonospace&&!o,a.canUseHalfwidthRightwardsArrow,d,!1,f,p,0,g,s.decorations,i,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,r,"none",h,c!==wi.OFF,null),u),u.appendString("
    ")}u.appendString(""),ir(t,a);const d=u.build(),f=U5?U5.createHTML(d):d;t.innerHTML=f}(e,n,i,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=s.addZone({afterLineNumber:t,heightInLines:o,domNode:e,afterColumnAffinity:1})}}))}}const U5=Mu("editorGhostText",{createHTML:t=>t});class q5{constructor(t){this.lines=t,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(t){return this.lines[t-1].getLineContent().length}}class K5{constructor(){this.value="",this.pos=0}static isDigitCharacter(t){return t>=48&&t<=57}static isVariableCharacter(t){return 95===t||t>=97&&t<=122||t>=65&&t<=90}text(t){this.value=t,this.pos=0}tokenText(t){return this.value.substr(t.pos,t.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const t=this.pos;let i,e=0,s=this.value.charCodeAt(t);if(i=K5._table[s],"number"==typeof i)return this.pos+=1,{type:i,pos:t,len:1};if(K5.isDigitCharacter(s)){i=8;do{e+=1,s=this.value.charCodeAt(t+e)}while(K5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}if(K5.isVariableCharacter(s)){i=9;do{s=this.value.charCodeAt(t+ ++e)}while(K5.isVariableCharacter(s)||K5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}i=10;do{e+=1,s=this.value.charCodeAt(t+e)}while(!isNaN(s)&&void 0===K5._table[s]&&!K5.isDigitCharacter(s)&&!K5.isVariableCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}}K5._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class G5{constructor(){this._children=[]}appendChild(t){return t instanceof Z5&&this._children[this._children.length-1]instanceof Z5?this._children[this._children.length-1].value+=t.value:(t.parent=this,this._children.push(t)),this}replace(t,i){const{parent:e}=t,s=e.children.indexOf(t),n=e.children.slice(0);n.splice(s,1,...i),e._children=n,function t(i,e){for(const s of i)s.parent=e,t(s.children,s)}(i,e)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let t=this;for(;;){if(!t)return;if(t instanceof s3)return t;t=t.parent}}toString(){return this.children.reduce(((t,i)=>t+i.toString()),"")}len(){return 0}}class Z5 extends G5{constructor(t){super(),this.value=t}toString(){return this.value}len(){return this.value.length}clone(){return new Z5(this.value)}}class Q5 extends G5{}class J5 extends Q5{static compareByIndex(t,i){return t.index===i.index?0:t.isFinalTabstop?1:i.isFinalTabstop||t.indexi.index?1:0}constructor(t){super(),this.index=t}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof Y5?this._children[0]:void 0}clone(){const t=new J5(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}class Y5 extends G5{constructor(){super(...arguments),this.options=[]}appendChild(t){return t instanceof Z5&&(t.parent=this,this.options.push(t)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const t=new Y5;return this.options.forEach(t.appendChild,t),t}}class X5 extends G5{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(t){const i=this;let e=!1,s=t.replace(this.regexp,(function(){return e=!0,i._replace(Array.prototype.slice.call(arguments,0,-2))}));return!e&&this._children.some((t=>t instanceof t3&&Boolean(t.elseValue)))&&(s=this._replace([])),s}_replace(t){let i="";for(const e of this._children)if(e instanceof t3){let s=t[e.index]||"";s=e.resolve(s),i+=s}else i+=e.toString();return i}toString(){return""}clone(){const t=new X5;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),t._children=this.children.map((t=>t.clone())),t}}class t3 extends G5{constructor(t,i,e,s){super(),this.index=t,this.shorthandName=i,this.ifValue=e,this.elseValue=s}resolve(t){return"upcase"===this.shorthandName?t?t.toLocaleUpperCase():"":"downcase"===this.shorthandName?t?t.toLocaleLowerCase():"":"capitalize"===this.shorthandName?t?t[0].toLocaleUpperCase()+t.substr(1):"":"pascalcase"===this.shorthandName?t?this._toPascalCase(t):"":"camelcase"===this.shorthandName?t?this._toCamelCase(t):"":Boolean(t)&&"string"==typeof this.ifValue?this.ifValue:Boolean(t)||"string"!=typeof this.elseValue?t||"":this.elseValue}_toPascalCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map((t=>t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}_toCamelCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map(((t,i)=>0===i?t.charAt(0).toLowerCase()+t.substr(1):t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}clone(){return new t3(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class i3 extends Q5{constructor(t){super(),this.name=t}resolve(t){let i=t.resolve(this);return this.transform&&(i=this.transform.resolve(i||"")),void 0!==i&&(this._children=[new Z5(i)],!0)}clone(){const t=new i3(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}function e3(t,i){const e=[...t];for(;e.length>0;){const t=e.shift();if(!i(t))break;e.unshift(...t.children)}}class s3 extends G5{get placeholderInfo(){if(!this._placeholders){const t=[];let i;this.walk((function(e){return e instanceof J5&&(t.push(e),i=!i||i.indexs===t?(e=!0,!1):(i+=s.len(),!0))),e?i:-1}fullLen(t){let i=0;return e3([t],(t=>(i+=t.len(),!0))),i}enclosingPlaceholders(t){const i=[];let{parent:e}=t;for(;e;)e instanceof J5&&i.push(e),e=e.parent;return i}resolveVariables(t){return this.walk((i=>(i instanceof i3&&i.resolve(t)&&(this._placeholders=void 0),!0))),this}appendChild(t){return this._placeholders=void 0,super.appendChild(t)}replace(t,i){return this._placeholders=void 0,super.replace(t,i)}clone(){const t=new s3;return this._children=this.children.map((t=>t.clone())),t}walk(t){e3(this.children,t)}}class n3{constructor(){this._scanner=new K5,this._token={type:14,pos:0,len:0}}static escape(t){return t.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(t){return/\${?CLIPBOARD/.test(t)}parse(t,i,e){const s=new s3;return this.parseFragment(t,s),this.ensureFinalTabstop(s,null!=e&&e,null!=i&&i),s}parseFragment(t,i){const e=i.children.length;for(this._scanner.text(t),this._token=this._scanner.next();this._parse(i););const s=new Map,n=[];i.walk((t=>(t instanceof J5&&(t.isFinalTabstop?s.set(0,void 0):!s.has(t.index)&&t.children.length>0?s.set(t.index,t.children):n.push(t)),!0)));const o=(t,e)=>{const n=s.get(t.index);if(!n)return;const r=new J5(t.index);r.transform=t.transform;for(const t of n){const i=t.clone();r.appendChild(i),i instanceof J5&&s.has(i.index)&&!e.has(i.index)&&(e.add(i.index),o(i,e),e.delete(i.index))}i.replace(t,[r])},r=new Set;for(const t of n)o(t,r);return i.children.slice(e)}ensureFinalTabstop(t,i,e){(i||e&&t.placeholders.length>0)&&(t.placeholders.find((t=>0===t.index))||t.appendChild(new J5(0)))}_accept(t,i){if(void 0===t||this._token.type===t){const t=!i||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),t}return!1}_backTo(t){return this._scanner.pos=t.pos+t.len,this._token=t,!1}_until(t){const i=this._token;for(;this._token.type!==t;){if(14===this._token.type)return!1;if(5===this._token.type){const t=this._scanner.next();if(0!==t.type&&4!==t.type&&5!==t.type)return!1}this._token=this._scanner.next()}const e=this._scanner.value.substring(i.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),e}_parse(t){return this._parseEscaped(t)||this._parseTabstopOrVariableName(t)||this._parseComplexPlaceholder(t)||this._parseComplexVariable(t)||this._parseAnything(t)}_parseEscaped(t){let i;return!!(i=this._accept(5,!0))&&(i=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||i,t.appendChild(new Z5(i)),!0)}_parseTabstopOrVariableName(t){let i;const e=this._token;return this._accept(0)&&(i=this._accept(9,!0)||this._accept(8,!0))?(t.appendChild(/^\d+$/.test(i)?new J5(Number(i)):new i3(i)),!0):this._backTo(e)}_parseComplexPlaceholder(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(8,!0))))return this._backTo(e);const s=new J5(Number(i));if(this._accept(1))for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new Z5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}else{if(!(s.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);{const i=new Y5;for(;;){if(this._parseChoiceElement(i)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(i),this._accept(4)))return t.appendChild(s),!0}return this._backTo(e),!1}}}}_parseChoiceElement(t){const i=this._token,e=[];for(;2!==this._token.type&&7!==this._token.type;){let t;if(t=(t=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||t:this._accept(void 0,!0),!t)return this._backTo(i),!1;e.push(t)}return 0===e.length?(this._backTo(i),!1):(t.appendChild(new Z5(e.join(""))),!0)}_parseComplexVariable(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(9,!0))))return this._backTo(e);const s=new i3(i);if(!this._accept(1))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new Z5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}}_parseTransform(t){const i=new X5;let e="",s="";for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(6,!0)||t,e+=t;else{if(14===this._token.type)return!1;e+=this._accept(void 0,!0)}}for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(5,!0)||this._accept(6,!0)||t,i.appendChild(new Z5(t));else if(!this._parseFormatString(i)&&!this._parseAnything(i))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;s+=this._accept(void 0,!0)}try{i.regexp=new RegExp(e,s)}catch(t){return!1}return t.transform=i,!0}_parseFormatString(t){const i=this._token;if(!this._accept(0))return!1;let e=!1;this._accept(3)&&(e=!0);const s=this._accept(8,!0);if(!s)return this._backTo(i),!1;if(!e)return t.appendChild(new t3(Number(s))),!0;if(this._accept(4))return t.appendChild(new t3(Number(s))),!0;if(!this._accept(1))return this._backTo(i),!1;if(this._accept(6)){const e=this._accept(9,!0);return e&&this._accept(4)?(t.appendChild(new t3(Number(s),e)),!0):(this._backTo(i),!1)}if(this._accept(11)){const i=this._until(4);if(i)return t.appendChild(new t3(Number(s),void 0,i,void 0)),!0}else if(this._accept(12)){const i=this._until(4);if(i)return t.appendChild(new t3(Number(s),void 0,void 0,i)),!0}else if(this._accept(13)){const i=this._until(1);if(i){const e=this._until(4);if(e)return t.appendChild(new t3(Number(s),void 0,i,e)),!0}}else{const i=this._until(4);if(i)return t.appendChild(new t3(Number(s),void 0,void 0,i)),!0}return this._backTo(i),!1}_parseAnything(t){return 14!==this._token.type&&(t.appendChild(new Z5(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}async function o3(t,i,e,s,n=ke.None,o){const r=function(t,i){const e=i.getWordAtPosition(t),s=i.getLineMaxColumn(t.lineNumber);return e?new Ms(t.lineNumber,e.startColumn,t.lineNumber,s):Ms.fromPositions(t,t.with(void 0,s))}(i,e),h=t.all(e),c=new qp;for(const t of h)t.groupId&&c.add(t.groupId,t);function a(t){if(!t.yieldsToGroupIds)return[];const i=[];for(const e of t.yieldsToGroupIds||[]){const t=c.get(e);for(const e of t)i.push(e)}return i}const l=new Map,u=new Set;function d(t,i){if(i=[...i,t],u.has(t))return i;u.add(t);try{const e=a(t);for(const t of e){const e=d(t,i);if(e)return e}}finally{u.delete(t)}}function f(t){const o=l.get(t);if(o)return o;const r=d(t,[]);r&&Pi(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${r.map((t=>t.toString?t.toString():""+t)).join(" -> ")}`));const h=new bc;return l.set(t,h.p),(async()=>{if(!r){const i=a(t);for(const t of i){const i=await f(t);if(i&&i.items.length>0)return}}try{return await t.provideInlineCompletions(e,i,s,n)}catch(t){return void Pi(t)}})().then((t=>h.complete(t)),(t=>h.error(t))),h.p}const p=await Promise.all(h.map((async t=>({provider:t,completions:await f(t)})))),g=new Map,m=[];for(const t of p){const i=t.completions;if(!i)continue;const s=new h3(i,t.provider);m.push(s);for(const t of i.items){const i=c3.from(t,s,r,e,o);g.set(i.hash(),i)}}return new r3(Array.from(g.values()),new Set(g.keys()),m)}class r3{constructor(t,i,e){this.completions=t,this.hashs=i,this.providerResults=e}has(t){return this.hashs.has(t.hash())}dispose(){for(const t of this.providerResults)t.removeRef()}}class h3{constructor(t,i){this.inlineCompletions=t,this.provider=i,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class c3{static from(t,i,e,s,n){let o,r,h=t.range?Ms.lift(t.range):e;if("string"==typeof t.insertText){if(o=t.insertText,n&&t.completeBracketPairs){o=a3(o,h.getStartPosition(),s,n);const i=o.length-t.insertText.length;0!==i&&(h=new Ms(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+i))}r=void 0}else if("snippet"in t.insertText){const i=t.insertText.snippet.length;if(n&&t.completeBracketPairs){t.insertText.snippet=a3(t.insertText.snippet,h.getStartPosition(),s,n);const e=t.insertText.snippet.length-i;0!==e&&(h=new Ms(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+e))}const e=(new n3).parse(t.insertText.snippet);1===e.children.length&&e.children[0]instanceof Z5?(o=e.children[0].value,r=void 0):(o=e.toString(),r={snippet:t.insertText.snippet,range:h})}else xh();return new c3(o,t.command,h,o,r,t.additionalTextEdits||I5,t,i)}constructor(t,i,e,s,n,o,r,h){this.filterText=t,this.command=i,this.range=e,this.insertText=s,this.snippetInfo=n,this.additionalTextEdits=o,this.sourceInlineCompletion=r,this.source=h,s=(t=t.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(t){return new c3(this.filterText,this.command,t,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}}function a3(t,i,e,s){const n=e.getLineContent(i.lineNumber).substring(0,i.column-1)+t,o=e.tokenization.tokenizeLineWithEdit(i,n.length-(i.column-1),t),r=null==o?void 0:o.sliceAndInflate(i.column-1,n.length,0);if(!r)return t;const h=function(t,i){const e=new vE,s=new NE(e,(t=>i.getLanguageConfiguration(t))),n=HE(new RE(new q5([t]),s),[],void 0,!0);let o="";const r=t.getLineContent();return function t(i,e){if(2===i.kind)if(t(i.openingBracket,e),e=sE(e,i.openingBracket.length),i.child&&(t(i.child,e),e=sE(e,i.child.length)),i.closingBracket)t(i.closingBracket,e),e=sE(e,i.closingBracket.length);else{const t=s.getSingleLanguageBracketTokens(i.openingBracket.languageId).findClosingTokenText(i.openingBracket.bracketIds);o+=t}else if(3===i.kind);else if(0===i.kind||1===i.kind)o+=r.substring(e,sE(e,i.length));else if(4===i.kind)for(const s of i.children)t(s,e),e=sE(e,s.length)}(n,YD),o}(r,s);return h}class l3{constructor(t,i){this.range=t,this.text=i}removeCommonPrefix(t,i){const e=i?this.range.intersectRanges(i):this.range;if(!e)return this;const s=t.getValueInRange(e,1),n=fo(s,this.text),o=N5(this.range.getStartPosition(),B5(s.substring(0,n))),r=this.text.substring(n),h=Ms.fromPositions(o,this.range.getEndPosition());return new l3(h,r)}augments(t){return this.text.startsWith(t.text)&&(i=this.range,(e=t.range).getStartPosition().equals(i.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(i.getEndPosition()));var i,e}computeGhostText(t,i,e,s=0){let n=this.removeCommonPrefix(t);if(n.range.endLineNumber!==n.range.startLineNumber)return;const o=t.getLineContent(n.range.startLineNumber),r=io(o).length;if(n.range.startColumn-1<=r){const t=io(n.text).length,i=o.substring(n.range.startColumn-1,r),[e,s]=[n.range.getStartPosition(),n.range.getEndPosition()],h=e.column+i.length<=s.column?e.delta(0,i.length):s,c=Ms.fromPositions(h,s),a=n.text.startsWith(i)?n.text.substring(i.length):n.text.substring(t);n=new l3(c,a)}const h=t.getValueInRange(n.range),c=function(t,i){if((null==u3?void 0:u3.originalValue)===t&&(null==u3?void 0:u3.newValue)===i)return null==u3?void 0:u3.changes;{let e=f3(t,i,!0);if(e){const s=d3(e);if(s>0){const n=f3(t,i,!1);n&&d3(n)0===t.originalLength));if(t.length>1||1===t.length&&t[0].originalStart!==h.length)return}const u=n.text.length-s;for(const t of c){const s=n.range.startColumn+t.originalStart+t.originalLength;if("subwordSmart"===i&&e&&e.lineNumber===n.range.startLineNumber&&s0)return;if(0===t.modifiedLength)continue;const o=t.modifiedStart+t.modifiedLength,r=Math.max(t.modifiedStart,Math.min(o,u)),h=n.text.substring(t.modifiedStart,r),c=n.text.substring(r,Math.max(t.modifiedStart,o));if(h.length>0){const t=Xn(h);l.push(new $5(s,t,!1))}if(c.length>0){const t=Xn(c);l.push(new $5(s,t,!0))}}return new P5(a,l)}}let u3;function d3(t){let i=0;for(const e of t)i+=e.originalLength;return i}function f3(t,i,e){if(t.length>5e3||i.length>5e3)return;function s(t){let i=0;for(let e=0,s=t.length;ei&&(i=s)}return i}const n=Math.max(s(t),s(i));function o(t){if(t<0)throw new Error("unexpected");return n+t+1}function r(t){let i=0,s=0;const n=new Int32Array(t.length);for(let r=0,h=t.length;rh},{getElements:()=>c}).ComputeDiff(!1).changes}var p3=function(t,i){return function(e,s){i(e,s,t)}};let g3=class extends te{constructor(t,i,e,s,n){super(),this.textModel=t,this.versionId=i,this._debounceValue=e,this.languageFeaturesService=s,this.languageConfigurationService=n,this._updateOperation=this._register(new ie),this.inlineCompletions=RV("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=RV("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(t,i,e){var s,n;const o=new m3(t,i,this.textModel.getVersionId()),r=i.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(null===(s=this._updateOperation.value)||void 0===s?void 0:s.request.satisfies(o))return this._updateOperation.value.promise;if(null===(n=r.get())||void 0===n?void 0:n.request.satisfies(o))return Promise.resolve(!0);const h=!!this._updateOperation.value;this._updateOperation.clear();const c=new Ce,a=(async()=>{var s;if((h||i.triggerKind===$s.Automatic)&&await(s=this._debounceValue.get(this.textModel),new Promise((t=>{let i;setTimeout((()=>{i&&i.dispose(),t()}),s)}))),c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const n=new Date,a=await o3(this.languageFeaturesService.inlineCompletionsProvider,t,this.textModel,i,c.token,this.languageConfigurationService);if(c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const l=new Date;this._debounceValue.update(this.textModel,l.getTime()-n.getTime());const u=new v3(a,o,this.textModel,this.versionId);if(e){const i=e.toInlineCompletion(void 0);e.canBeReused(this.textModel,t)&&!a.has(i)&&u.prepend(e.inlineCompletion,i.range,!0)}return this._updateOperation.clear(),yV((t=>{r.set(u,t)})),!0})(),l=new w3(o,c,a);return this._updateOperation.value=l,a}clear(t){this._updateOperation.clear(),this.inlineCompletions.set(void 0,t),this.suggestWidgetInlineCompletions.set(void 0,t)}clearSuggestWidgetInlineCompletions(t){var i;(null===(i=this._updateOperation.value)||void 0===i?void 0:i.request.context.selectedSuggestionInfo)&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,t)}cancelUpdate(){this._updateOperation.clear()}};g3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([p3(3,xg),p3(4,Xd)],g3);class m3{constructor(t,i,e){this.position=t,this.context=i,this.versionId=e}satisfies(t){return this.position.equals(t.position)&&(e=t.context.selectedSuggestionInfo,(i=this.context.selectedSuggestionInfo)&&e?((t,i)=>t.equals(i))(i,e):i===e)&&(t.context.triggerKind===$s.Automatic||this.context.triggerKind===$s.Explicit)&&this.versionId===t.versionId;var i,e}}class w3{constructor(t,i,e){this.request=t,this.cancellationTokenSource=i,this.promise=e}dispose(){this.cancellationTokenSource.cancel()}}class v3{get inlineCompletions(){return this._inlineCompletions}constructor(t,i,e,s){this.inlineCompletionProviderResult=t,this.request=i,this.textModel=e,this.versionId=s,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=_V(this,(t=>{this.versionId.read(t);let i=!1;for(const t of this._inlineCompletions)i=i||t._updateRange(this.textModel);return i&&this._rangeVersionIdValue++,this._rangeVersionIdValue}));const n=e.deltaDecorations([],t.completions.map((t=>({range:t.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=t.completions.map(((t,i)=>new b3(t,n[i],this._rangeVersionId)))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){setTimeout((()=>{this.textModel.isDisposed()||this.textModel.deltaDecorations(this._inlineCompletions.map((t=>t.decorationId)),[])}),0),this.inlineCompletionProviderResult.dispose();for(const t of this._prependedInlineCompletionItems)t.source.removeRef()}}prepend(t,i,e){e&&t.source.addRef();const s=this.textModel.deltaDecorations([],[{range:i,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new b3(t,s,this._rangeVersionId,i)),this._prependedInlineCompletionItems.push(t)}}class b3{get forwardStable(){var t;return null!==(t=this.inlineCompletion.source.inlineCompletions.enableForwardStability)&&void 0!==t&&t}constructor(t,i,e,s){this.inlineCompletion=t,this.decorationId=i,this.rangeVersion=e,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=null!=s?s:t.range}toInlineCompletion(t){return this.inlineCompletion.withRange(this._getUpdatedRange(t))}toSingleTextEdit(t){return new l3(this._getUpdatedRange(t),this.inlineCompletion.insertText)}isVisible(t,i,e){const s=this._toFilterTextReplacement(e).removeCommonPrefix(t);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(e).getStartPosition())||i.lineNumber!==s.range.startLineNumber)return!1;const n=t.getValueInRange(s.range,1),o=s.text,r=Math.max(0,i.column-s.range.startColumn);let h=o.substring(0,r),c=o.substring(r),a=n.substring(0,r),l=n.substring(r);const u=t.getLineIndentColumn(s.range.startLineNumber);return s.range.startColumn<=u&&(a=a.trimStart(),0===a.length&&(l=l.trimStart()),h=h.trimStart(),0===h.length&&(c=c.trimStart())),h.startsWith(a)&&!!WI(l,c)}canBeReused(t,i){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(i)&&this.isVisible(t,i,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(t){return new l3(this._getUpdatedRange(t),this.inlineCompletion.filterText)}_isSmallerThanOriginal(t){return y3(this._getUpdatedRange(t)).isBefore(y3(this.inlineCompletion.range))}_getUpdatedRange(t){return this.rangeVersion.read(t),this._updatedRange}_updateRange(t){const i=t.getDecorationRange(this.decorationId);return i?!this._updatedRange.equalsRange(i)&&(this._updatedRange=i,!0):(this._isValid=!1,!0)}}function y3(t){return t.startLineNumber===t.endLineNumber?new As(1,1+t.endColumn-t.startColumn):new As(1+t.endLineNumber-t.startLineNumber,t.endColumn)}const k3={Visible:j2,HasFocusedSuggestion:new ch("suggestWidgetHasFocusedSuggestion",!1,ot(0,"Whether any suggestion is focused")),DetailsVisible:new ch("suggestWidgetDetailsVisible",!1,ot(0,"Whether suggestion details are visible")),MultipleSuggestions:new ch("suggestWidgetMultipleSuggestions",!1,ot(0,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new ch("suggestionMakesTextEdit",!0,ot(0,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new ch("acceptSuggestionOnEnter",!0,ot(0,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new ch("suggestionHasInsertAndReplaceRange",!1,ot(0,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new ch("suggestionInsertMode",void 0,{type:"string",description:ot(0,"Whether the default behaviour is to insert or replace")}),CanResolve:new ch("suggestionCanResolve",!1,ot(0,"Whether the current suggestion supports to resolve further details"))},x3=new Rh("suggestWidgetStatusBar");class C3{constructor(t,i,e,s){var n;this.position=t,this.completion=i,this.container=e,this.provider=s,this.isInvalid=!1,this.score=x_.Default,this.distance=0,this.textLabel="string"==typeof i.label?i.label:null===(n=i.label)||void 0===n?void 0:n.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=i.sortText&&i.sortText.toLowerCase(),this.filterTextLow=i.filterText&&i.filterText.toLowerCase(),this.extensionId=i.extensionId,Ms.isIRange(i.range)?(this.editStart=new As(i.range.startLineNumber,i.range.startColumn),this.editInsertEnd=new As(i.range.endLineNumber,i.range.endColumn),this.editReplaceEnd=new As(i.range.endLineNumber,i.range.endColumn),this.isInvalid=this.isInvalid||Ms.spansMultipleLines(i.range)||i.range.startLineNumber!==t.lineNumber):(this.editStart=new As(i.range.insert.startLineNumber,i.range.insert.startColumn),this.editInsertEnd=new As(i.range.insert.endLineNumber,i.range.insert.endColumn),this.editReplaceEnd=new As(i.range.replace.endLineNumber,i.range.replace.endColumn),this.isInvalid=this.isInvalid||Ms.spansMultipleLines(i.range.insert)||Ms.spansMultipleLines(i.range.replace)||i.range.insert.startLineNumber!==t.lineNumber||i.range.replace.startLineNumber!==t.lineNumber||i.range.insert.startColumn!==i.range.replace.startColumn),"function"!=typeof s.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(t){if(!this._resolveCache){const i=t.onCancellationRequested((()=>{this._resolveCache=void 0,this._resolveDuration=void 0})),e=new re(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,t)).then((t=>{Object.assign(this.completion,t),this._resolveDuration=e.elapsed()}),(t=>{ji(t)&&(this._resolveCache=void 0,this._resolveDuration=void 0)})).finally((()=>{i.dispose()}))}return this._resolveCache}}class S3{constructor(t=2,i=new Set,e=new Set,s=new Map,n=!0){this.snippetSortOrder=t,this.kindFilter=i,this.providerFilter=e,this.providerItemsToReuse=s,this.showDeprecated=n}}S3.default=new S3;class D3{constructor(t,i,e,s){this.items=t,this.needsClipboard=i,this.durations=e,this.disposable=s}}async function E3(t,i,e,s=S3.default,n={triggerKind:0},o=ke.None){const r=new re;e=e.clone();const h=i.getWordAtPosition(e),c=h?new Ms(e.lineNumber,h.startColumn,e.lineNumber,h.endColumn):Ms.fromPositions(e),a={replace:c,insert:c.setEndPosition(e.lineNumber,e.column)},l=[],u=new Xi,d=[];let f=!1;const p=(t,i,n)=>{var o,r,h;let c=!1;if(!i)return c;for(const n of i.suggestions)if(!s.kindFilter.has(n.kind)){if(!s.showDeprecated&&(null===(o=null==n?void 0:n.tags)||void 0===o?void 0:o.includes(1)))continue;n.range||(n.range=a),n.sortText||(n.sortText="string"==typeof n.label?n.label:n.label.label),!f&&n.insertTextRules&&4&n.insertTextRules&&(f=n3.guessNeedsClipboard(n.insertText)),l.push(new C3(e,n,i,t)),c=!0}return Zi(i)&&u.add(i),d.push({providerName:null!==(r=t._debugDisplayName)&&void 0!==r?r:"unknown_provider",elapsedProvider:null!==(h=i.duration)&&void 0!==h?h:-1,elapsedOverall:n.elapsed()}),c},g=(async()=>{})();for(const r of t.orderedGroups(i)){let t=!1;if(await Promise.all(r.map((async r=>{if(s.providerItemsToReuse.has(r)){const i=s.providerItemsToReuse.get(r);return i.forEach((t=>l.push(t))),void(t=t||i.length>0)}if(!(s.providerFilter.size>0)||s.providerFilter.has(r))try{const s=new re,h=await r.provideCompletionItems(i,e,n,o);t=p(r,h,s)||t}catch(t){Pi(t)}}))),t||o.isCancellationRequested)break}return await g,o.isCancellationRequested?(u.dispose(),Promise.reject(new zi)):new D3(l.sort(M3.get(s.snippetSortOrder)),f,{entries:d,elapsed:r.elapsed()},u)}function A3(t,i){if(t.sortTextLow&&i.sortTextLow){if(t.sortTextLowi.sortTextLow)return 1}return t.textLabeli.textLabel?1:t.completion.kind-i.completion.kind}const M3=new Map;M3.set(0,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return A3(t,i)})),M3.set(2,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return A3(t,i)})),M3.set(1,A3),Dr.registerCommand("_executeCompletionItemProvider",(async(t,...i)=>{const[e,s,n,o]=i;q(ms.isUri(e)),q(As.isIPosition(s)),q("string"==typeof n||!n),q("number"==typeof o||!o);const{completionProvider:r}=t.get(xg),h=await t.get(gr).createModelReference(e);try{const t={incomplete:!1,suggestions:[]},i=[],e=h.object.textEditorModel.validatePosition(s),c=await E3(r,h.object.textEditorModel,e,void 0,{triggerCharacter:null!=n?n:void 0,triggerKind:n?1:0});for(const e of c.items)i.length<(null!=o?o:0)&&i.push(e.resolve(ke.None)),t.incomplete=t.incomplete||e.container.incomplete,t.suggestions.push(e.completion);try{return await Promise.all(i),t}finally{setTimeout((()=>c.disposable.dispose()),100)}}finally{h.dispose()}}));class L3{static isAllOff(t){return"off"===t.other&&"off"===t.comments&&"off"===t.strings}static isAllOn(t){return"on"===t.other&&"on"===t.comments&&"on"===t.strings}static valueFor(t,i){switch(i){case 1:return t.comments;case 2:return t.strings;default:return t.other}}}function F3(t,i=xt){return function(t,i=xt){return!!i&&fA(t.charCodeAt(0))&&58===t.charCodeAt(1)}(t,i)?t.charAt(0).toUpperCase()+t.slice(1):t}Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class T3{constructor(t){this._delegates=t}resolve(t){for(const i of this._delegates){const e=i.resolve(t);if(void 0!==e)return e}}}class R3{constructor(t,i,e,s){this._model=t,this._selection=i,this._selectionIdx=e,this._overtypingCapturer=s}resolve(t){const{name:i}=t;if("SELECTION"===i||"TM_SELECTED_TEXT"===i){let i=this._model.getValueInRange(this._selection)||void 0,e=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const t=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);t&&(i=t.value,e=t.multiline)}if(i&&e&&t.snippet){const e=io(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1);let s=e;t.snippet.walk((i=>i!==t&&(i instanceof Z5&&(s=io(Xn(i.value).pop())),!0)));const n=fo(s,e);i=i.replace(/(\r\n|\r|\n)(.*)/g,((t,i,e)=>`${i}${s.substr(n)}${e}`))}return i}if("TM_CURRENT_LINE"===i)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===i){const t=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return t&&t.word||void 0}return"TM_LINE_INDEX"===i?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===i?String(this._selection.positionLineNumber):"CURSOR_INDEX"===i?String(this._selectionIdx):"CURSOR_NUMBER"===i?String(this._selectionIdx+1):void 0}}class O3{constructor(t,i){this._labelService=t,this._model=i}resolve(t){const{name:i}=t;if("TM_FILENAME"===i)return hs(this._model.uri.fsPath);if("TM_FILENAME_BASE"===i){const t=hs(this._model.uri.fsPath),i=t.lastIndexOf(".");return i<=0?t:t.slice(0,i)}return"TM_DIRECTORY"===i?"."===rs(this._model.uri.fsPath)?"":this._labelService.getUriLabel(kA(this._model.uri)):"TM_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class I3{constructor(t,i,e,s){this._readClipboardText=t,this._selectionIdx=i,this._selectionCount=e,this._spread=s}resolve(t){if("CLIPBOARD"!==t.name)return;const i=this._readClipboardText();if(i){if(this._spread){const t=i.split(/\r\n|\n|\r/).filter((t=>!Vn(t)));if(t.length===this._selectionCount)return t[this._selectionIdx]}return i}}}let _3=class{constructor(t,i,e){this._model=t,this._selection=i,this._languageConfigurationService=e}resolve(t){const{name:i}=t,e=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),s=this._languageConfigurationService.getLanguageConfiguration(e).comments;if(s)return"LINE_COMMENT"===i?s.lineCommentToken||void 0:"BLOCK_COMMENT_START"===i?s.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===i&&s.blockCommentEndToken||void 0}};_3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,Xd)],_3);class N3{constructor(){this._date=new Date}resolve(t){const{name:i}=t;if("CURRENT_YEAR"===i)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===i)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===i)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===i)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===i)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===i)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===i)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===i)return N3.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===i)return N3.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===i)return N3.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===i)return N3.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===i)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===i){const t=this._date.getTimezoneOffset(),i=t>0?"-":"+",e=Math.trunc(Math.abs(t/60)),s=e<10?"0"+e:e,n=Math.abs(t)-60*e;return i+s+":"+(n<10?"0"+n:n)}}}N3.dayNames=[ot(0,"Sunday"),ot(0,"Monday"),ot(0,"Tuesday"),ot(0,"Wednesday"),ot(0,"Thursday"),ot(0,"Friday"),ot(0,"Saturday")],N3.dayNamesShort=[ot(0,"Sun"),ot(0,"Mon"),ot(0,"Tue"),ot(0,"Wed"),ot(0,"Thu"),ot(0,"Fri"),ot(0,"Sat")],N3.monthNames=[ot(0,"January"),ot(0,"February"),ot(0,"March"),ot(0,"April"),ot(0,"May"),ot(0,"June"),ot(0,"July"),ot(0,"August"),ot(0,"September"),ot(0,"October"),ot(0,"November"),ot(0,"December")],N3.monthNamesShort=[ot(0,"Jan"),ot(0,"Feb"),ot(0,"Mar"),ot(0,"Apr"),ot(0,"May"),ot(0,"Jun"),ot(0,"Jul"),ot(0,"Aug"),ot(0,"Sep"),ot(0,"Oct"),ot(0,"Nov"),ot(0,"Dec")];class B3{constructor(t){this._workspaceService=t}resolve(t){if(!this._workspaceService)return;const i="string"==typeof(e=this._workspaceService.getWorkspace())||void 0===e?"string"==typeof e?{id:hs(e)}:JO:e.configuration?{id:e.id,configPath:e.configuration}:1===e.folders.length?{id:e.id,uri:e.folders[0].uri}:{id:e.id};var e,s;return"string"!=typeof(null==(s=i)?void 0:s.id)||QO(s)||function(t){return"string"==typeof(null==t?void 0:t.id)&&ms.isUri(t.configPath)}(s)?"WORKSPACE_NAME"===t.name?this._resolveWorkspaceName(i):"WORKSPACE_FOLDER"===t.name?this._resoveWorkspacePath(i):void 0:void 0}_resolveWorkspaceName(t){if(QO(t))return hs(t.uri.path);let i=hs(t.configPath.path);return i.endsWith("code-workspace")&&(i=i.substr(0,i.length-14-1)),i}_resoveWorkspacePath(t){if(QO(t))return F3(t.uri.fsPath);const i=hs(t.configPath.path);let e=t.configPath.fsPath;return e.endsWith(i)&&(e=e.substr(0,e.length-i.length-1)),e?F3(e):"/"}}class P3{resolve(t){const{name:i}=t;return"RANDOM"===i?Math.random().toString().slice(-6):"RANDOM_HEX"===i?Math.random().toString(16).slice(-6):"UUID"===i?l1():void 0}}var $3;class W3{constructor(t,i,e){this._editor=t,this._snippet=i,this._snippetLineLeadingWhitespace=e,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=f(i.placeholders,J5.compareByIndex),this._placeholderGroupsIdx=-1}initialize(t){this._offset=t.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(-1===this._offset)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const t=this._editor.getModel();this._editor.changeDecorations((i=>{for(const e of this._snippet.placeholders){const s=this._snippet.offset(e),n=this._snippet.fullLen(e),o=Ms.fromPositions(t.getPositionAt(this._offset+s),t.getPositionAt(this._offset+s+n)),r=i.addDecoration(o,e.isFinalTabstop?W3._decor.inactiveFinal:W3._decor.inactive);this._placeholderDecorations.set(e,r)}}))}move(t){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const t=[];for(const i of this._placeholderGroups[this._placeholderGroupsIdx])if(i.transform){const e=this._placeholderDecorations.get(i),s=this._editor.getModel().getDecorationRange(e),n=this._editor.getModel().getValueInRange(s),o=i.transform.resolve(n).split(/\r\n|\r|\n/);for(let t=1;t0&&this._editor.executeEdits("snippet.placeholderTransform",t)}let i=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,i=!0);const e=this._editor.getModel().changeDecorations((t=>{const e=new Set,s=[];for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const o=this._placeholderDecorations.get(n),r=this._editor.getModel().getDecorationRange(o);s.push(new Ls(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),i=i&&this._hasPlaceholderBeenCollapsed(n),t.changeDecorationOptions(o,n.isFinalTabstop?W3._decor.activeFinal:W3._decor.active),e.add(n);for(const i of this._snippet.enclosingPlaceholders(n)){const s=this._placeholderDecorations.get(i);t.changeDecorationOptions(s,i.isFinalTabstop?W3._decor.activeFinal:W3._decor.active),e.add(i)}}for(const[i,s]of this._placeholderDecorations)e.has(i)||t.changeDecorationOptions(s,i.isFinalTabstop?W3._decor.inactiveFinal:W3._decor.inactive);return s}));return i?this.move(t):null!=e?e:[]}_hasPlaceholderBeenCollapsed(t){let i=t;for(;i;){if(i instanceof J5){const t=this._placeholderDecorations.get(i);if(this._editor.getModel().getDecorationRange(t).isEmpty()&&i.toString().length>0)return!0}i=i.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){const[t]=this._snippet.placeholders;if(t.isFinalTabstop&&this._snippet.rightMostDescendant===t)return!0}return!1}computePossibleSelections(){const t=new Map;for(const i of this._placeholderGroups){let e;for(const s of i){if(s.isFinalTabstop)break;e||(e=[],t.set(s.index,e));const i=this._placeholderDecorations.get(s),n=this._editor.getModel().getDecorationRange(i);if(!n){t.delete(s.index);break}e.push(n)}}return t}get activeChoice(){if(!this._placeholderDecorations)return;const t=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(null==t?void 0:t.choice))return;const i=this._placeholderDecorations.get(t);if(!i)return;const e=this._editor.getModel().getDecorationRange(i);return e?{range:e,choice:t.choice}:void 0}get hasChoice(){let t=!1;return this._snippet.walk((i=>(t=i instanceof Y5,!t))),t}merge(t){const i=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((e=>{for(const s of this._placeholderGroups[this._placeholderGroupsIdx]){const n=t.shift();console.assert(-1!==n._offset),console.assert(!n._placeholderDecorations);const o=n._snippet.placeholderInfo.last.index;for(const t of n._snippet.placeholderInfo.all)t.index=t.isFinalTabstop?s.index+(o+1)/this._nestingLevel:s.index+t.index/this._nestingLevel;this._snippet.replace(s,n._snippet.children);const r=this._placeholderDecorations.get(s);e.removeDecoration(r),this._placeholderDecorations.delete(s);for(const t of n._snippet.placeholders){const s=n._snippet.offset(t),o=n._snippet.fullLen(t),r=Ms.fromPositions(i.getPositionAt(n._offset+s),i.getPositionAt(n._offset+s+o)),h=e.addDecoration(r,W3._decor.inactive);this._placeholderDecorations.set(t,h)}}this._placeholderGroups=f(this._snippet.placeholders,J5.compareByIndex)}))}}W3._decor={active:AL.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:AL.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:AL.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:AL.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const j3={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let z3=$3=class{static adjustWhitespace(t,i,e,s,n){const o=io(t.getLineContent(i.lineNumber),0,i.column-1);let r;return s.walk((i=>{if(!(i instanceof Z5)||i.parent instanceof Y5)return!0;if(n&&!n.has(i))return!0;const h=i.value.split(/\r\n|\r|\n/);if(e){const e=s.offset(i);if(0===e)h[0]=t.normalizeIndentation(h[0]);else{r=null!=r?r:s.toString();const i=r.charCodeAt(e-1);10!==i&&13!==i||(h[0]=t.normalizeIndentation(o+h[0]))}for(let i=1;it.get(ZO))),f=t.invokeWithinContext((t=>new O3(t.get($O),u))),p=()=>r,g=u.getValueInRange($3.adjustSelection(u,t.getSelection(),e,0)),m=u.getValueInRange($3.adjustSelection(u,t.getSelection(),0,s)),w=u.getLineFirstNonWhitespaceColumn(t.getSelection().positionLineNumber),v=t.getSelections().map(((t,i)=>({selection:t,idx:i}))).sort(((t,i)=>Ms.compareRangesUsingStarts(t.selection,i.selection)));for(const{selection:r,idx:b}of v){let y=$3.adjustSelection(u,r,e,0),k=$3.adjustSelection(u,r,0,s);g!==u.getValueInRange(y)&&(y=r),m!==u.getValueInRange(k)&&(k=r);const x=r.setStartPosition(y.startLineNumber,y.startColumn).setEndPosition(k.endLineNumber,k.endColumn),C=(new n3).parse(i,!0,n),S=x.getStartPosition(),D=$3.adjustWhitespace(u,S,o||b>0&&w!==u.getLineFirstNonWhitespaceColumn(r.positionLineNumber),C);C.resolveVariables(new T3([f,new I3(p,b,v.length,"spread"===t.getOption(78)),new R3(u,r,b,h),new _3(u,r,c),new N3,new B3(d),new P3])),a[b]=pO.replace(x,C.toString()),a[b].identifier={major:b,minor:0},a[b]._isTracked=!0,l[b]=new W3(t,C,D)}return{edits:a,snippets:l}}static createEditsAndSnippetsFromEdits(t,i,e,s,n,o,r){if(!t.hasModel()||0===i.length)return{edits:[],snippets:[]};const h=[],c=t.getModel(),a=new n3,l=new s3,u=new T3([t.invokeWithinContext((t=>new O3(t.get($O),c))),new I3((()=>n),0,t.getSelections().length,"spread"===t.getOption(78)),new R3(c,t.getSelection(),0,o),new _3(c,t.getSelection(),r),new N3,new B3(t.invokeWithinContext((t=>t.get(ZO)))),new P3]);i=i.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)));let d=0;for(let t=0;t0){const s=Ms.fromPositions(i[t-1].range.getEndPosition(),e.getStartPosition()),n=new Z5(c.getValueInRange(s));l.appendChild(n),d+=n.value.length}const n=a.parseFragment(s,l);$3.adjustWhitespace(c,e.getStartPosition(),!0,l,new Set(n)),l.resolveVariables(u);const o=l.toString(),r=o.slice(d);d=o.length;const f=pO.replace(e,r);f.identifier={major:t,minor:0},f._isTracked=!0,h.push(f)}return a.ensureFinalTabstop(l,e,!0),{edits:h,snippets:[new W3(t,l,"")]}}constructor(t,i,e=j3,s){this._editor=t,this._template=i,this._options=e,this._languageConfigurationService=s,this._templateMerges=[],this._snippets=[]}dispose(){Qi(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:t,snippets:i}="string"==typeof this._template?$3.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):$3.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=i,this._editor.executeEdits("snippet",t,(t=>{const e=t.filter((t=>!!t.identifier));for(let t=0;tLs.fromPositions(t.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(t,i=j3){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);const{edits:e,snippets:s}=$3.createEditsAndSnippetsFromSelections(this._editor,t,i.overwriteBefore,i.overwriteAfter,!0,i.adjustWhitespace,i.clipboardText,i.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",e,(t=>{const i=t.filter((t=>!!t.identifier));for(let t=0;tLs.fromPositions(t.range.getEndPosition())))}))}next(){const t=this._move(!0);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}prev(){const t=this._move(!1);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}_move(t){const i=[];for(const e of this._snippets){const s=e.move(t);i.push(...s)}return i}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const t=this._editor.getSelections();if(t.length{t.push(...s.get(i))}))}t.sort(Ms.compareRangesUsingStarts);for(const[e,s]of i)if(s.length===t.length){s.sort(Ms.compareRangesUsingStarts);for(let n=0;n0}};z3=$3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,Xd)],z3);var H3,V3=function(t,i){return function(e,s){i(e,s,t)}};const U3={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let q3=H3=class{static get(t){return t.getContribution(H3.ID)}constructor(t,i,e,s,n){this._editor=t,this._logService=i,this._languageFeaturesService=e,this._languageConfigurationService=n,this._snippetListener=new Xi,this._modelVersionId=-1,this._inSnippet=H3.InSnippetMode.bindTo(s),this._hasNextTabstop=H3.HasNextTabstop.bindTo(s),this._hasPrevTabstop=H3.HasPrevTabstop.bindTo(s)}dispose(){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),null===(t=this._session)||void 0===t||t.dispose(),this._snippetListener.dispose()}insert(t,i){try{this._doInsert(t,void 0===i?U3:{...U3,...i})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",t),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(t,i){var e;if(this._editor.hasModel()){if(this._snippetListener.clear(),i.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof t&&this.cancel(),this._session?(q("string"==typeof t),this._session.merge(t,i)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new z3(this._editor,t,i,this._languageConfigurationService),this._session.insert()),i.undoStopAfter&&this._editor.getModel().pushStackElement(),null===(e=this._session)||void 0===e?void 0:e.hasChoice){const t={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(t,i)=>{if(!this._session||t!==this._editor.getModel()||!As.equals(this._editor.getPosition(),i))return;const{activeChoice:e}=this._session;if(!e||0===e.choice.options.length)return;const s=t.getValueInRange(e.range),n=Boolean(e.choice.options.find((t=>t.value===s))),o=[];for(let t=0;t{s||(e=this._languageFeaturesService.completionProvider.register({language:i.getLanguageId(),pattern:i.uri.fsPath,scheme:i.uri.scheme,exclusive:!0},t),this._snippetListener.add(e),s=!0)},disable:()=>{null==e||e.dispose(),s=!1}}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((t=>t.isFlush&&this.cancel()))),this._snippetListener.add(this._editor.onDidChangeModel((()=>this.cancel()))),this._snippetListener.add(this._editor.onDidChangeCursorSelection((()=>this._updateState())))}}_updateState(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var t;if(!this._session||!this._editor.hasModel())return void(this._currentChoice=void 0);const{activeChoice:i}=this._session;if(!i||!this._choiceCompletions)return null===(t=this._choiceCompletions)||void 0===t||t.disable(),void(this._currentChoice=void 0);this._currentChoice!==i.choice&&(this._currentChoice=i.choice,this._choiceCompletions.enable(),queueMicrotask((()=>{!function(t,i){var e;null===(e=t.getContribution("editor.contrib.suggestController"))||void 0===e||e.triggerSuggest((new Set).add(i),void 0,!0)}(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(t=!1){var i;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,null===(i=this._session)||void 0===i||i.dispose(),this._session=void 0,this._modelVersionId=-1,t&&this._editor.setSelections([this._editor.getSelection()])}prev(){var t;null===(t=this._session)||void 0===t||t.prev(),this._updateState()}next(){var t;null===(t=this._session)||void 0===t||t.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};q3.ID="snippetController2",q3.InSnippetMode=new ch("inSnippetMode",!1,ot(0,"Whether the editor in current in snippet mode")),q3.HasNextTabstop=new ch("hasNextTabstop",!1,ot(0,"Whether there is a next tab stop when in snippet mode")),q3.HasPrevTabstop=new ch("hasPrevTabstop",!1,ot(0,"Whether there is a previous tab stop when in snippet mode")),q3=H3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([V3(1,jh),V3(2,xg),V3(3,ah),V3(4,Xd)],q3),lu(q3.ID,q3,4);const K3=eu.bindToContribution(q3.get);hu(new K3({id:"jumpToNextSnippetPlaceholder",precondition:zr.and(q3.InSnippetMode,q3.HasNextTabstop),handler:t=>t.next(),kbOpts:{weight:130,kbExpr:YC.editorTextFocus,primary:2}})),hu(new K3({id:"jumpToPrevSnippetPlaceholder",precondition:zr.and(q3.InSnippetMode,q3.HasPrevTabstop),handler:t=>t.prev(),kbOpts:{weight:130,kbExpr:YC.editorTextFocus,primary:1026}})),hu(new K3({id:"leaveSnippet",precondition:q3.InSnippetMode,handler:t=>t.cancel(!0),kbOpts:{weight:130,kbExpr:YC.editorTextFocus,primary:9,secondary:[1033]}})),hu(new K3({id:"acceptSnippet",precondition:q3.InSnippetMode,handler:t=>t.finish()}));var G3,Z3=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t[t.Undo=0]="Undo",t[t.Redo=1]="Redo",t[t.AcceptWord=2]="AcceptWord",t[t.Other=3]="Other"}(G3||(G3={}));let Q3=class extends te{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(t,i,e,s,n,o,r,h,c,a,l,u){let d;super(),this.textModel=t,this.selectedSuggestItem=i,this.cursorPosition=e,this.textModelVersionId=s,this._debounceValue=n,this._suggestPreviewEnabled=o,this._suggestPreviewMode=r,this._inlineSuggestMode=h,this._enabled=c,this._instantiationService=a,this._commandService=l,this._languageConfigurationService=u,this._source=this._register(this._instantiationService.createInstance(g3,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=FV(this,!1),this._forceUpdateSignal=JV("forceUpdate"),this._selectedInlineCompletionId=FV(this,void 0),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([G3.Redo,G3.Undo,G3.AcceptWord]),this._fetchInlineCompletions=function(t,i){var e;return new $V(t.owner,t.debugName,i,t.createEmptyChangeSummary,t.handleChange,void 0,null!==(e=t.equalityComparer)&&void 0!==e?e:IV)}({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:$s.Automatic}),handleChange:(t,i)=>(t.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(t.change)?i.preserveCurrentCompletion=!0:t.didChange(this._forceUpdateSignal)&&(i.inlineCompletionTriggerKind=t.change),!0)},((t,i)=>{if(this._forceUpdateSignal.read(t),!(this._enabled.read(t)&&this.selectedSuggestItem.read(t)||this._isActive.read(t)))return void this._source.cancelUpdate();this.textModelVersionId.read(t);const e=this.selectedInlineCompletion.get(),s=i.preserveCurrentCompletion||(null==e?void 0:e.forwardStable)?e:void 0,n=this._source.suggestWidgetInlineCompletions.get(),o=this.selectedSuggestItem.read(t);if(n&&!o){const t=this._source.inlineCompletions.get();yV((i=>{(!t||n.request.versionId>t.request.versionId)&&this._source.inlineCompletions.set(n.clone(),i),this._source.clearSuggestWidgetInlineCompletions(i)}))}const r=this.cursorPosition.read(t),h={triggerKind:i.inlineCompletionTriggerKind,selectedSuggestionInfo:null==o?void 0:o.toSelectedSuggestionInfo()};return this._source.fetch(r,h,s)})),this._filteredInlineCompletionItems=_V(this,(t=>{const i=this._source.inlineCompletions.read(t);if(!i)return[];const e=this.cursorPosition.read(t),s=i.inlineCompletions.filter((i=>i.isVisible(this.textModel,e,t)));return s})),this.selectedInlineCompletionIndex=_V(this,(t=>{const i=this._selectedInlineCompletionId.read(t),e=this._filteredInlineCompletionItems.read(t),s=void 0===this._selectedInlineCompletionId?-1:e.findIndex((t=>t.semanticId===i));return-1===s?(this._selectedInlineCompletionId.set(void 0,void 0),0):s})),this.selectedInlineCompletion=_V(this,(t=>this._filteredInlineCompletionItems.read(t)[this.selectedInlineCompletionIndex.read(t)])),this.lastTriggerKind=this._source.inlineCompletions.map(this,(t=>null==t?void 0:t.request.context.triggerKind)),this.inlineCompletionsCount=_V(this,(t=>this.lastTriggerKind.read(t)===$s.Explicit?this._filteredInlineCompletionItems.read(t).length:void 0)),this.state=NV({owner:this,equalityComparer:(t,i)=>t&&i?j5(t.ghostText,i.ghostText)&&t.inlineCompletion===i.inlineCompletion&&t.suggestItem===i.suggestItem:t===i},(t=>{var i;const e=this.textModel,s=this.selectedSuggestItem.read(t);if(s){const n=s.toSingleTextEdit().removeCommonPrefix(e),o=this._computeAugmentedCompletion(n,t);if(!this._suggestPreviewEnabled.read(t)&&!o)return;const r=null!==(i=null==o?void 0:o.edit)&&void 0!==i?i:n,h=o?o.edit.text.length-n.text.length:0,c=this._suggestPreviewMode.read(t),a=this.cursorPosition.read(t),l=r.computeGhostText(e,c,a,h);return{ghostText:null!=l?l:new P5(r.range.endLineNumber,[]),inlineCompletion:null==o?void 0:o.completion,suggestItem:s}}{if(!this._isActive.read(t))return;const i=this.selectedInlineCompletion.read(t);if(!i)return;const s=i.toSingleTextEdit(t),n=this._inlineSuggestMode.read(t),o=this.cursorPosition.read(t),r=s.computeGhostText(e,n,o);return r?{ghostText:r,inlineCompletion:i,suggestItem:void 0}:void 0}})),this.ghostText=NV({owner:this,equalityComparer:j5},(t=>{const i=this.state.read(t);if(i)return i.ghostText})),this._register(XV(this._fetchInlineCompletions)),this._register(WV((t=>{var i,e;const s=this.state.read(t),n=null==s?void 0:s.inlineCompletion;if((null==n?void 0:n.semanticId)!==(null==d?void 0:d.semanticId)&&(d=n,n)){const t=n.inlineCompletion,s=t.source;null===(e=(i=s.provider).handleItemDidShow)||void 0===e||e.call(i,s.inlineCompletions,t.sourceInlineCompletion,t.insertText)}})))}async trigger(t){this._isActive.set(!0,t),await this._fetchInlineCompletions.get()}async triggerExplicitly(t){xV(t,(t=>{this._isActive.set(!0,t),this._forceUpdateSignal.trigger(t,$s.Explicit)})),await this._fetchInlineCompletions.get()}stop(t){xV(t,(t=>{this._isActive.set(!1,t),this._source.clear(t)}))}_computeAugmentedCompletion(t,i){const e=this.textModel,s=this._source.suggestWidgetInlineCompletions.read(i);return function(t,i){for(const e of t){const t=i(e);if(void 0!==t)return t}}(s?s.inlineCompletions:[this.selectedInlineCompletion.read(i)].filter(V),(s=>{let n=s.toSingleTextEdit(i);return n=n.removeCommonPrefix(e,Ms.fromPositions(n.range.getStartPosition(),t.range.getEndPosition())),n.augments(t)?{edit:n,completion:s}:void 0}))}async _deltaSelectedInlineCompletionIndex(t){await this.triggerExplicitly();const i=this._filteredInlineCompletionItems.get()||[];if(i.length>0){const e=(this.selectedInlineCompletionIndex.get()+t+i.length)%i.length;this._selectedInlineCompletionId.set(i[e].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(t){var i;if(t.getModel()!==this.textModel)throw new Ki;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.inlineCompletion.toInlineCompletion(void 0);t.pushUndoStop(),s.snippetInfo?(t.executeEdits("inlineSuggestion.accept",[pO.replaceMove(s.range,""),...s.additionalTextEdits]),t.setPosition(s.snippetInfo.range.getStartPosition()),null===(i=q3.get(t))||void 0===i||i.insert(s.snippetInfo.snippet,{undoStopBefore:!1})):t.executeEdits("inlineSuggestion.accept",[pO.replaceMove(s.range,s.insertText),...s.additionalTextEdits]),s.command&&s.source.addRef(),yV((t=>{this._source.clear(t),this._isActive.set(!1,t)})),s.command&&(await this._commandService.executeCommand(s.command.id,...s.command.arguments||[]).then(void 0,Pi),s.source.removeRef())}async acceptNextWord(t){await this._acceptNext(t,((t,i)=>{const e=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(e),n=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),o=i.match(n);let r=0;r=o&&void 0!==o.index?0===o.index?o[0].length:o.index:i.length;const h=/\s+/g.exec(i);return h&&void 0!==h.index&&h.index+h[0].length{const e=i.match(/\n/);return e&&void 0!==e.index?e.index+1:i.length}))}async _acceptNext(t,i){if(t.getModel()!==this.textModel)throw new Ki;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.ghostText,n=e.inlineCompletion.toInlineCompletion(void 0);if(n.snippetInfo||n.filterText!==n.insertText)return void await this.accept(t);const o=s.parts[0],r=new As(s.lineNumber,o.column),h=o.lines.join("\n"),c=i(r,h);if(c===h.length&&1===s.parts.length)return void this.accept(t);const a=h.substring(0,c);n.source.addRef();try{this._isAcceptingPartially=!0;try{t.pushUndoStop(),t.executeEdits("inlineSuggestion.accept",[pO.replace(Ms.fromPositions(r),a)]);const i=B5(a);t.setPosition(N5(r,i))}finally{this._isAcceptingPartially=!1}if(n.source.provider.handlePartialAccept){const i=Ms.fromPositions(n.range.getStartPosition(),N5(r,B5(a))),e=t.getModel().getValueInRange(i,1);n.source.provider.handlePartialAccept(n.source.inlineCompletions,n.sourceInlineCompletion,e.length)}}finally{n.source.removeRef()}}handleSuggestAccepted(t){var i,e;const s=t.toSingleTextEdit().removeCommonPrefix(this.textModel),n=this._computeAugmentedCompletion(s,void 0);if(!n)return;const o=n.completion.inlineCompletion;null===(e=(i=o.source.provider).handlePartialAccept)||void 0===e||e.call(i,o.source.inlineCompletions,o.sourceInlineCompletion,s.text.length)}};Q3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Z3(9,ur),Z3(10,Sr),Z3(11,Xd)],Q3);var J3,Y3=function(t,i){return function(e,s){i(e,s,t)}};class X3{constructor(t){this.name=t}select(t,i,e){if(0===e.length)return 0;const s=e[0].score[0];for(let t=0;tthis._saveState()),500),this._disposables.add(t.onWillSaveState((t=>{t.reason===MB.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(t,i,e){this._withStrategy(t,i).memorize(t,i,e),this._persistSoon.schedule()}select(t,i,e){return this._withStrategy(t,i).select(t,i,e)}_withStrategy(t,i){var e;const s=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:t.getLanguageIdAtPosition(i.lineNumber,i.column),resource:t.uri});if((null===(e=this._strategy)||void 0===e?void 0:e.name)!==s){this._saveState();const t=J3._strategyCtors.get(s)||t6;this._strategy=new t;try{const t=this._configService.getValue("editor.suggest.shareSuggestSelections"),i=this._storageService.get(`${J3._storagePrefix}/${s}`,t?0:1);i&&this._strategy.fromJSON(JSON.parse(i))}catch(t){}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${J3._storagePrefix}/${this._strategy.name}`,i,t,1)}}};i6._strategyCtors=new Map([["recentlyUsedByPrefix",class extends X3{constructor(){super("recentlyUsedByPrefix"),this._trie=GO.forStrings(),this._seq=0}memorize(t,i,e){const{word:s}=t.getWordUntilPosition(i),n=`${t.getLanguageId()}/${s}`;this._trie.set(n,{type:e.completion.kind,insertText:e.completion.insertText,touch:this._seq++})}select(t,i,e){const{word:s}=t.getWordUntilPosition(i);if(!s)return super.select(t,i,e);const n=`${t.getLanguageId()}/${s}`;let o=this._trie.get(n);if(o||(o=this._trie.findSubstr(n)),o)for(let t=0;tt.push([e,i]))),t.sort(((t,i)=>-(t[1].touch-i[1].touch))).forEach(((t,i)=>t[1].touch=i)),t.slice(0,200)}fromJSON(t){if(this._trie.clear(),t.length>0){this._seq=t[0][1].touch+1;for(const[i,e]of t)e.type="number"==typeof e.type?e.type:Ps.fromString(e.type),this._trie.set(i,e)}}}],["recentlyUsed",class extends X3{constructor(){super("recentlyUsed"),this._cache=new Vp(300,.66),this._seq=0}memorize(t,i,e){const s=`${t.getLanguageId()}/${e.textLabel}`;this._cache.set(s,{touch:this._seq++,type:e.completion.kind,insertText:e.completion.insertText})}select(t,i,e){if(0===e.length)return 0;const s=t.getLineContent(i.lineNumber).substr(i.column-10,i.column-1);if(/\s$/.test(s))return super.select(t,i,e);const n=e[0].score[0];let o=-1,r=-1;for(let i=0;ir&&n.type===e[i].completion.kind&&n.insertText===e[i].completion.insertText&&(r=n.touch,o=i),e[i].completion.preselect)return i}return-1!==o?o:0}toJSON(){return this._cache.toJSON()}fromJSON(t){this._cache.clear();for(const[i,e]of t)e.touch=0,e.type="number"==typeof e.type?e.type:Ps.fromString(e.type),this._cache.set(i,e);this._seq=this._cache.size}}],["first",t6]]),i6._storagePrefix="suggest/memories",i6=J3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Y3(0,AB),Y3(1,pd)],i6);const e6=dr("ISuggestMemories");Cd(e6,i6,1);var s6;let n6=s6=class{constructor(t,i){this._editor=t,this._enabled=!1,this._ckAtEnd=s6.AtEnd.bindTo(i),this._configListener=this._editor.onDidChangeConfiguration((t=>t.hasChanged(122)&&this._update())),this._update()}dispose(){var t;this._configListener.dispose(),null===(t=this._selectionListener)||void 0===t||t.dispose(),this._ckAtEnd.reset()}_update(){const t="on"===this._editor.getOption(122);if(this._enabled!==t)if(this._enabled=t,this._enabled){const t=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const t=this._editor.getModel(),i=this._editor.getSelection(),e=t.getWordAtPosition(i.getStartPosition());this._ckAtEnd.set(!!e&&e.endColumn===i.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};n6.AtEnd=new ch("atEndOfWord",!1),n6=s6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ah)],n6);var o6;let r6=o6=class{constructor(t,i){this._editor=t,this._index=0,this._ckOtherSuggestions=o6.OtherSuggestions.bindTo(i)}dispose(){this.reset()}reset(){var t;this._ckOtherSuggestions.reset(),null===(t=this._listener)||void 0===t||t.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:t,index:i},e){0!==t.items.length&&o6._moveIndex(!0,t,i)!==i?(this._acceptNext=e,this._model=t,this._index=i,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(t,i,e){let s=e;for(let n=i.items.length;n>0&&(s=(s+i.items.length+(t?1:-1))%i.items.length,s!==e)&&i.items[s].completion.additionalTextEdits;n--);return s}next(){this._move(!0)}prev(){this._move(!1)}_move(t){if(this._model)try{this._ignore=!0,this._index=o6._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};r6.OtherSuggestions=new ch("hasOtherSuggestions",!1),r6=o6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ah)],r6);class h6{constructor(t,i,e,s){this._disposables=new Xi,this._disposables.add(e.onDidSuggest((t=>{0===t.completionModel.items.length&&this.reset()}))),this._disposables.add(e.onDidCancel((()=>{this.reset()}))),this._disposables.add(i.onDidShow((()=>this._onItem(i.getFocusedItem())))),this._disposables.add(i.onDidFocus(this._onItem,this)),this._disposables.add(i.onDidHide(this.reset,this)),this._disposables.add(t.onWillType((n=>{if(this._active&&!i.isFrozen()&&0!==e.state){const i=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(i)&&t.getOption(0)&&s(this._active.item)}})))}_onItem(t){if(!t||!b(t.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===t.item)return;const i=new Ef;for(const e of t.item.completion.commitCharacters)e.length>0&&i.add(e.charCodeAt(0));this._active={acceptCharacters:i,item:t}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class c6{async provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i);const n=new Map;await new Promise((i=>c6._bracketsRightYield(i,0,t,s,n))),await new Promise((e=>c6._bracketsLeftYield(e,0,t,s,n,i)))}return e}static _bracketsRightYield(t,i,e,s,n){const o=new Map,r=Date.now();for(;;){if(i>=c6._maxRounds){t();break}if(!s){t();break}const h=e.bracketPairs.findNextBracket(s);if(!h){t();break}if(Date.now()-r>c6._maxDuration){setTimeout((()=>c6._bracketsRightYield(t,i+1,e,s,n)));break}if(h.bracketInfo.isOpeningBracket){const t=h.bracketInfo.bracketText,i=o.has(t)?o.get(t):0;o.set(t,i+1)}else{const t=h.bracketInfo.getOpeningBrackets()[0].bracketText;let i=o.has(t)?o.get(t):0;if(i-=1,o.set(t,Math.max(0,i)),i<0){let i=n.get(t);i||(i=new Ut,n.set(t,i)),i.push(h.range)}}s=h.range.getEndPosition()}}static _bracketsLeftYield(t,i,e,s,n,o){const r=new Map,h=Date.now();for(;;){if(i>=c6._maxRounds&&0===n.size){t();break}if(!s){t();break}const c=e.bracketPairs.findPrevBracket(s);if(!c){t();break}if(Date.now()-h>c6._maxDuration){setTimeout((()=>c6._bracketsLeftYield(t,i+1,e,s,n,o)));break}if(c.bracketInfo.isOpeningBracket){const t=c.bracketInfo.bracketText;let i=r.has(t)?r.get(t):0;if(i-=1,r.set(t,Math.max(0,i)),i<0){const i=n.get(t);if(i){const s=i.shift();0===i.size&&n.delete(t);const r=Ms.fromPositions(c.range.getEndPosition(),s.getStartPosition()),h=Ms.fromPositions(c.range.getStartPosition(),s.getEndPosition());o.push({range:r}),o.push({range:h}),c6._addBracketLeading(e,h,o)}}}else{const t=c.bracketInfo.getOpeningBrackets()[0].bracketText,i=r.has(t)?r.get(t):0;r.set(t,i+1)}s=c.range.getStartPosition()}}static _addBracketLeading(t,i,e){if(i.startLineNumber===i.endLineNumber)return;const s=i.startLineNumber,n=t.getLineFirstNonWhitespaceColumn(s);0!==n&&n!==i.startColumn&&(e.push({range:Ms.fromPositions(new As(s,n),i.getEndPosition())}),e.push({range:Ms.fromPositions(new As(s,1),i.getEndPosition())}));const o=s-1;if(o>0){const s=t.getLineFirstNonWhitespaceColumn(o);s===i.startColumn&&s!==t.getLineLastNonWhitespaceColumn(o)&&(e.push({range:Ms.fromPositions(new As(o,s),i.getEndPosition())}),e.push({range:Ms.fromPositions(new As(o,1),i.getEndPosition())}))}}}c6._maxDuration=30,c6._maxRounds=2;class a6{static async create(t,i){if(!i.getOption(117).localityBonus)return a6.None;if(!i.hasModel())return a6.None;const e=i.getModel(),s=i.getPosition();if(!t.canComputeWordRanges(e.uri))return a6.None;const[n]=await(new c6).provideSelectionRanges(e,[s]);if(0===n.length)return a6.None;const o=await t.computeWordRanges(e.uri,n[0].range);if(!o)return a6.None;const r=e.getWordUntilPosition(s);return delete o[r.word],new class extends a6{distance(t,e){if(!s.equals(i.getPosition()))return 0;if(17===e.kind)return 2<<20;const r=o["string"==typeof e.label?e.label:e.label.label];if(v(r))return 2<<20;const h=u(r,Ms.fromPositions(t),Ms.compareRangesUsingStarts),c=h>=0?r[h]:r[Math.max(0,~h-1)];let a=n.length;for(const t of n){if(!Ms.containsRange(t.range,c))break;a-=1}return a}}}}a6.None=new class extends a6{distance(){return 0}};class l6{constructor(t,i){this.leadingLineContent=t,this.characterCountDelta=i}}class u6{constructor(t,i,e,s,n,o,r=C_.default,h){this.clipboardText=h,this._snippetCompareFn=u6._compareCompletionItems,this._items=t,this._column=i,this._wordDistance=s,this._options=n,this._refilterKind=1,this._lineContext=e,this._fuzzyScoreOptions=r,"top"===o?this._snippetCompareFn=u6._compareCompletionItemsSnippetsUp:"bottom"===o&&(this._snippetCompareFn=u6._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(t){this._lineContext.leadingLineContent===t.leadingLineContent&&this._lineContext.characterCountDelta===t.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&e[0].container.incomplete&&t.add(i);return t}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const t=[],{leadingLineContent:i,characterCountDelta:e}=this._lineContext;let s="",n="";const o=1===this._refilterKind?this._items:this._filteredItems,r=[],h=!this._options.filterGraceful||o.length>2e3?S_:E_;for(let c=0;c=d)a.score=x_.Default;else if("string"==typeof a.completion.filterText){const i=h(s,n,t,a.completion.filterText,a.filterTextLow,0,this._fuzzyScoreOptions);if(!i)continue;0===oo(a.completion.filterText,a.textLabel)?a.score=i:(a.score=a_(s,n,t,a.textLabel,a.labelLow,0),a.score[0]=i[0])}else{const i=h(s,n,t,a.textLabel,a.labelLow,0,this._fuzzyScoreOptions);if(!i)continue;a.score=i}}a.idx=c,a.distance=this._wordDistance.distance(a.position,a.completion),r.push(a),t.push(a.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:t.length?d(t.length-.85,t,((t,i)=>t-i)):0}}static _compareCompletionItems(t,i){return t.score[0]>i.score[0]?-1:t.score[0]i.distance?1:t.idxi.idx?1:0}static _compareCompletionItemsSnippetsDown(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return u6._compareCompletionItems(t,i)}static _compareCompletionItemsSnippetsUp(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return u6._compareCompletionItems(t,i)}}var d6,f6=function(t,i){return function(e,s){i(e,s,t)}};class p6{static shouldAutoTrigger(t){if(!t.hasModel())return!1;const i=t.getModel(),e=t.getPosition();i.tokenization.tokenizeIfCheap(e.lineNumber);const s=i.getWordAtPosition(e);return!(!s||s.endColumn!==e.column&&s.startColumn+1!==e.column||!isNaN(Number(s.word)))}constructor(t,i,e){this.leadingLineContent=t.getLineContent(i.lineNumber).substr(0,i.column-1),this.leadingWord=t.getWordUntilPosition(i),this.lineNumber=i.lineNumber,this.column=i.column,this.triggerOptions=e}}let g6=d6=class{constructor(t,i,e,s,n,o,r,h,c){this._editor=t,this._editorWorkerService=i,this._clipboardService=e,this._telemetryService=s,this._logService=n,this._contextKeyService=o,this._configurationService=r,this._languageFeaturesService=h,this._envService=c,this._toDispose=new Xi,this._triggerCharacterListener=new Xi,this._triggerQuickSuggest=new dc,this._triggerState=void 0,this._completionDisposables=new Xi,this._onDidCancel=new de,this._onDidTrigger=new de,this._onDidSuggest=new de,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Ls(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeModelLanguage((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeConfiguration((()=>{this._updateTriggerCharacters()}))),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange((()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()})));let a=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{a=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{a=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((t=>{a||this._onCursorChange(t)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{a||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){Qi(this._triggerCharacterListener),Qi([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(90)||!this._editor.hasModel()||!this._editor.getOption(120))return;const t=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const e of i.triggerCharacters||[]){let s=t.get(e);s||(s=new Set,s.add(void 0),t.set(e,s)),s.add(i)}const i=i=>{var e;if(!function(t,i){if(!Boolean(i.getContextKeyValue("inlineSuggestionVisible")))return!0;const e=i.getContextKeyValue(R5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions}(this._editor,this._contextKeyService))return;if(p6.shouldAutoTrigger(this._editor))return;if(!i){const t=this._editor.getPosition();i=this._editor.getModel().getLineContent(t.lineNumber).substr(0,t.column-1)}let s="";mo(i.charCodeAt(i.length-1))?go(i.charCodeAt(i.length-2))&&(s=i.substr(i.length-2)):s=i.charAt(i.length-1);const n=t.get(s);if(n){const t=new Map;if(this._completionModel)for(const[i,e]of this._completionModel.getItemsByProvider())n.has(i)||t.set(i,e);this.trigger({auto:!0,triggerKind:1,triggerCharacter:s,retrigger:Boolean(this._completionModel),clipboardText:null===(e=this._completionModel)||void 0===e?void 0:e.clipboardText,completionOptions:{providerFilter:n,providerItemsToReuse:t}})}};this._triggerCharacterListener.add(this._editor.onDidType(i)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd((()=>i())))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(t=!1){var i;void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),null===(i=this._requestToken)||void 0===i||i.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:t}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(t){if(!this._editor.hasModel())return;const i=this._currentSelection;this._currentSelection=this._editor.getSelection(),!t.selection.isEmpty()||0!==t.reason&&3!==t.reason||"keyboard"!==t.source&&"deleteLeft"!==t.source?this.cancel():void 0===this._triggerState&&0===t.reason?(i.containsRange(this._currentSelection)||i.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===t.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var t;L3.isAllOff(this._editor.getOption(88))||this._editor.getOption(117).snippetsPreventQuickSuggestions&&(null===(t=q3.get(this._editor))||void 0===t?void 0:t.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!p6.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),e=this._editor.getOption(88);if(!L3.isAllOff(e)){if(!L3.isAllOn(e)){t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.tokenization.getLineTokens(i.lineNumber),n=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("on"!==L3.valueFor(e,n))return}(function(t,i){if(!Boolean(i.getContextKeyValue(R5.inlineSuggestionVisible.key)))return!0;const e=i.getContextKeyValue(R5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions})(this._editor,this._contextKeyService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}}),this._editor.getOption(89)))}_refilterCompletionItems(){q(this._editor.hasModel()),q(void 0!==this._triggerState);const t=this._editor.getModel(),i=this._editor.getPosition(),e=new p6(t,i,{...this._triggerState,refilter:!0});this._onNewContext(e)}trigger(t){var i,e,s,n,o,r;if(!this._editor.hasModel())return;const h=this._editor.getModel(),c=new p6(h,this._editor.getPosition(),t);this.cancel(t.retrigger),this._triggerState=t,this._onDidTrigger.fire({auto:t.auto,shy:null!==(i=t.shy)&&void 0!==i&&i,position:this._editor.getPosition()}),this._context=c;let a={triggerKind:null!==(e=t.triggerKind)&&void 0!==e?e:0};t.triggerCharacter&&(a={triggerKind:1,triggerCharacter:t.triggerCharacter}),this._requestToken=new Ce;let l=1;switch(this._editor.getOption(111)){case"top":l=0;break;case"bottom":l=2}const{itemKind:u,showDeprecated:d}=d6._createSuggestFilter(this._editor),f=new S3(l,null!==(n=null===(s=t.completionOptions)||void 0===s?void 0:s.kindFilter)&&void 0!==n?n:u,null===(o=t.completionOptions)||void 0===o?void 0:o.providerFilter,null===(r=t.completionOptions)||void 0===r?void 0:r.providerItemsToReuse,d),p=a6.create(this._editorWorkerService,this._editor),g=E3(this._languageFeaturesService.completionProvider,h,this._editor.getPosition(),f,a,this._requestToken.token);Promise.all([g,p]).then((async([i,e])=>{var s;if(null===(s=this._requestToken)||void 0===s||s.dispose(),!this._editor.hasModel())return;let n=null==t?void 0:t.clipboardText;if(!n&&i.needsClipboard&&(n=await this._clipboardService.readText()),void 0===this._triggerState)return;const o=this._editor.getModel(),r=new p6(o,this._editor.getPosition(),t),h={...C_.default,firstMatchCanBeWeak:!this._editor.getOption(117).matchOnWordStartOnly};if(this._completionModel=new u6(i.items,this._context.column,{leadingLineContent:r.leadingLineContent,characterCountDelta:r.column-this._context.column},e,this._editor.getOption(117),this._editor.getOption(111),h,n),this._completionDisposables.add(i.disposable),this._onNewContext(r),this._reportDurationsTelemetry(i.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const t of i.items)t.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${t.provider._debugDisplayName}`,t.completion)})).catch(Bi)}_reportDurationsTelemetry(t){this._telemetryGate++%230==0&&setTimeout((()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(t)}),this._logService.debug("suggest.durations.json",t)}))}static _createSuggestFilter(t){const i=new Set;"none"===t.getOption(111)&&i.add(27);const e=t.getOption(117);return e.showMethods||i.add(0),e.showFunctions||i.add(1),e.showConstructors||i.add(2),e.showFields||i.add(3),e.showVariables||i.add(4),e.showClasses||i.add(5),e.showStructs||i.add(6),e.showInterfaces||i.add(7),e.showModules||i.add(8),e.showProperties||i.add(9),e.showEvents||i.add(10),e.showOperators||i.add(11),e.showUnits||i.add(12),e.showValues||i.add(13),e.showConstants||i.add(14),e.showEnums||i.add(15),e.showEnumMembers||i.add(16),e.showKeywords||i.add(17),e.showWords||i.add(18),e.showColors||i.add(19),e.showFiles||i.add(20),e.showReferences||i.add(21),e.showColors||i.add(22),e.showFolders||i.add(23),e.showTypeParameters||i.add(24),e.showSnippets||i.add(27),e.showUsers||i.add(25),e.showIssues||i.add(26),{itemKind:i,showDeprecated:e.showDeprecated}}_onNewContext(t){if(this._context)if(t.lineNumber===this._context.lineNumber)if(io(t.leadingLineContent)===io(this._context.leadingLineContent)){if(t.columnthis._context.leadingWord.startColumn){if(p6.shouldAutoTrigger(this._editor)&&this._context){const t=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:t}})}}else if(t.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==t.leadingWord.word.length){const t=new Map,i=new Set;for(const[e,s]of this._completionModel.getItemsByProvider())s.length>0&&s[0].container.incomplete?i.add(e):t.set(e,s);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const i=this._completionModel.lineContext;let e=!1;if(this._completionModel.lineContext={leadingLineContent:t.leadingLineContent,characterCountDelta:t.column-this._context.column},0===this._completionModel.items.length){const s=p6.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(s&&this._context.leadingWord.endColumn0,e&&0===t.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:t.triggerOptions,isFrozen:e})}}else this.cancel();else this.cancel()}};g6=d6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([f6(1,vP),f6(2,yH),f6(3,Wh),f6(4,jh),f6(5,ah),f6(6,pd),f6(7,xg),f6(8,fR)],g6);class m6{constructor(t,i){this._disposables=new Xi,this._lastOvertyped=[],this._locked=!1,this._disposables.add(t.onWillType((()=>{if(this._locked||!t.hasModel())return;const i=t.getSelections(),e=i.length;let s=!1;for(let t=0;tm6._maxSelectionLength)return;this._lastOvertyped[t]={value:n.getValueInRange(e),multiline:e.startLineNumber!==e.endLineNumber}}}))),this._disposables.add(i.onDidTrigger((()=>{this._locked=!0}))),this._disposables.add(i.onDidCancel((()=>{this._locked=!1})))}getLastOvertypedInfo(t){if(t>=0&&tt instanceof Bh?e.createInstance(v6,t,void 0):void 0;this._leftActions=new YB(this.element,{actionViewItemProvider:o}),this._rightActions=new YB(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const t=this._menuService.createMenu(this._menuId,this._contextKeyService),i=()=>{const i=[],e=[];for(const[s,n]of t.getActions())"left"===s?i.push(...n):e.push(...n);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(e)};this._menuDisposables.add(t.onDidChange((()=>i()))),this._menuDisposables.add(t)}hide(){this._menuDisposables.clear()}};b6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([w6(2,ur),w6(3,Oh),w6(4,ah)],b6);function y6(t){return!!t&&Boolean(t.completion.documentation||t.completion.detail&&t.completion.detail!==t.completion.label)}let k6=class{constructor(t,i){this._editor=t,this._onDidClose=new de,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new de,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Xi,this._renderDisposeable=new Xi,this._borderWidth=1,this._size=new el(330,0),this.domNode=$l(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=i.createInstance(lQ,{editor:t}),this._body=$l(".body"),this._scrollbar=new Tk(this._body,{alwaysConsumeMouseWheel:!0}),Ol(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Ol(this._body,$l(".header")),this._close=Ol(this._header,$l("span"+Cr.asCSSSelector(Os.close))),this._close.title=ot(0,"Close"),this._type=Ol(this._header,$l("p.type")),this._docs=Ol(this._body,$l("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const t=this._editor.getOptions(),i=t.get(50),e=i.getMassagedFontFamily(),s=t.get(118)||i.fontSize,n=t.get(119)||i.lineHeight,o=i.fontWeight,r=`${n}px`;this.domNode.style.fontSize=`${s}px`,this.domNode.style.lineHeight=""+n/s,this.domNode.style.fontWeight=o,this.domNode.style.fontFeatureSettings=i.fontFeatureSettings,this._type.style.fontFamily=e,this._close.style.height=r,this._close.style.width=r}getLayoutInfo(){const t=this._editor.getOption(119)||this._editor.getOption(50).lineHeight,i=this._borderWidth;return{lineHeight:t,borderWidth:i,borderHeight:2*i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=ot(0,"Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(t,i){var e,s;this._renderDisposeable.clear();let{detail:n,documentation:o}=t.completion;if(i){let i="";i+=`score: ${t.score[0]}\n`,i+=`prefix: ${null!==(e=t.word)&&void 0!==e?e:"(no prefix)"}\n`,i+=`word: ${t.completion.filterText?t.completion.filterText+" (filterText)":t.textLabel}\n`,i+=`distance: ${t.distance} (localityBonus-setting)\n`,i+=`index: ${t.idx}, based on ${t.completion.sortText&&`sortText: "${t.completion.sortText}"`||"label"}\n`,i+=`commit_chars: ${null===(s=t.completion.commitCharacters)||void 0===s?void 0:s.join("")}\n`,o=(new N_).appendCodeblock("empty",i),n=`Provider: ${t.provider._debugDisplayName}`}if(i||y6(t)){if(this.domNode.classList.remove("no-docs","no-type"),n){const t=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=t,this._type.title=t,Wl(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(t))}else za(this._type),this._type.title="",jl(this._type),this.domNode.classList.add("no-type");if(za(this._docs),"string"==typeof o)this._docs.classList.remove("markdown-docs"),this._docs.textContent=o;else if(o){this._docs.classList.add("markdown-docs"),za(this._docs);const t=this._markdownRenderer.render(o);this._docs.appendChild(t.element),this._renderDisposeable.add(t),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync((()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)})))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=t=>{t.preventDefault(),t.stopPropagation()},this._close.onclick=t=>{t.preventDefault(),t.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(t,i){const e=new el(t,i);el.equals(e,this._size)||(this._size=e,function(t,i,e){"number"==typeof i&&(t.style.width=`${i}px`),"number"==typeof e&&(t.style.height=`${e}px`)}(this.domNode,t,i)),this._scrollbar.scanDomNode()}scrollDown(t=8){this._body.scrollTop+=t}scrollUp(t=8){this._body.scrollTop-=t}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(t){this._borderWidth=t}get borderWidth(){return this._borderWidth}};k6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ur)],k6);class x6{constructor(t,i){let e,s;this.widget=t,this._editor=i,this._disposables=new Xi,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new CX,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(t.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n=0,o=0;this._disposables.add(this._resizable.onDidWillResize((()=>{e=this._topLeft,s=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((t=>{if(e&&s){this.widget.layout(t.dimension.width,t.dimension.height);let i=!1;t.west&&(o=s.width-t.dimension.width,i=!0),t.north&&(n=s.height-t.dimension.height,i=!0),i&&this._applyTopLeft({top:e.top+n,left:e.left+o})}t.done&&(e=void 0,s=void 0,n=0,o=0,this._userSize=t.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{var t;this._anchorBox&&this._placeAtAnchor(this._anchorBox,null!==(t=this._userSize)&&void 0!==t?t:this.widget.size,this._preferAlignAtTop)})))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(t=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),t&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(t,i){var e;const s=t.getBoundingClientRect();this._anchorBox=s,this._preferAlignAtTop=i,this._placeAtAnchor(this._anchorBox,null!==(e=this._userSize)&&void 0!==e?e:this.widget.size,i)}_placeAtAnchor(t,i,e){var s;const n=tl(this.getDomNode().ownerDocument.body),o=this.widget.getLayoutInfo(),r=new el(220,2*o.lineHeight),h=t.top,c=function(){const e=n.width-(t.left+t.width+o.borderWidth+o.horizontalPadding),s=-o.borderWidth+t.left+t.width,c=new el(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),a=[c,function(){const e=t.left-o.borderWidth-o.horizontalPadding,s=Math.max(o.horizontalPadding,t.left-i.width-o.borderWidth),c=new el(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),function(){const e=t.left,s=-o.borderWidth+t.top+t.height,h=new el(t.width-o.borderHeight,n.height-t.top-t.height-o.verticalPadding);return{top:s,left:e,fit:h.height-i.height,maxSizeBottom:h,maxSizeTop:h,minSize:r.with(h.width)}}()],l=null!==(s=a.find((t=>t.fit>=0)))&&void 0!==s?s:a.sort(((t,i)=>i.fit-t.fit))[0],u=t.top+t.height-o.borderHeight;let d,f=i.height;const p=Math.max(l.maxSizeTop.height,l.maxSizeBottom.height);let g;f>p&&(f=p),e?f<=l.maxSizeTop.height?(d=!0,g=l.maxSizeTop):(d=!1,g=l.maxSizeBottom):f<=l.maxSizeBottom.height?(d=!1,g=l.maxSizeBottom):(d=!0,g=l.maxSizeTop),this._applyTopLeft({left:l.left,top:d?l.top:u-f}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!d,l===c,d,l!==c),this._resizable.minSize=l.minSize,this._resizable.maxSize=g,this._resizable.layout(f,Math.min(g.width,i.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(t){this._topLeft=t,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}var C6;!function(t){t[t.FILE=0]="FILE",t[t.FOLDER=1]="FOLDER",t[t.ROOT_FOLDER=2]="ROOT_FOLDER"}(C6||(C6={}));const S6=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function D6(t,i,e,s){const n=s===C6.ROOT_FOLDER?["rootfolder-icon"]:s===C6.FOLDER?["folder-icon"]:["file-icon"];if(e){let o;if(e.scheme===ka.data)o=MA.parseMetaData(e).get(MA.META_DATA_LABEL);else{const t=e.path.match(S6);t?(o=E6(t[2].toLowerCase()),t[1]&&n.push(`${E6(t[1].toLowerCase())}-name-dir-icon`)):o=E6(e.authority.toLowerCase())}if(s===C6.ROOT_FOLDER)n.push(`${o}-root-name-folder-icon`);else if(s===C6.FOLDER)n.push(`${o}-name-folder-icon`);else{if(o){if(n.push(`${o}-name-file-icon`),n.push("name-file-icon"),o.length<=255){const t=o.split(".");for(let i=1;i{const t=this._editor.getOptions(),i=t.get(50),n=i.getMassagedFontFamily(),o=i.fontFeatureSettings,h=t.get(118)||i.fontSize,c=t.get(119)||i.lineHeight,a=i.fontWeight,l=`${c}px`,u=`${i.letterSpacing}px`;e.style.fontSize=`${h}px`,e.style.fontWeight=a,e.style.letterSpacing=u,r.style.fontFamily=n,r.style.fontFeatureSettings=o,r.style.lineHeight=l,s.style.height=l,s.style.width=l,p.style.height=l,p.style.width=l};return g(),i.add(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(50)||t.hasChanged(118)||t.hasChanged(119))&&g()}))),{root:e,left:c,right:a,icon:s,colorspan:n,iconLabel:l,iconContainer:h,parametersLabel:u,qualifierLabel:d,detailsLabel:f,readMore:p,disposables:i}}renderElement(t,i,e){const{completion:s}=t;e.root.id=L6(i),e.colorspan.style.backgroundColor="";const n={labelEscapeNewLines:!0,matches:l_(t.score)},o=[];if(19===s.kind&&T6.extract(t,o))e.icon.className="icon customcolor",e.iconContainer.className="icon hide",e.colorspan.style.backgroundColor=o[0];else if(20===s.kind&&this._themeService.getFileIconTheme().hasFileIcons){e.icon.className="icon hide",e.iconContainer.className="icon hide";const i=D6(this._modelService,this._languageService,ms.from({scheme:"fake",path:t.textLabel}),C6.FILE),o=D6(this._modelService,this._languageService,ms.from({scheme:"fake",path:s.detail}),C6.FILE);n.extraClasses=i.length>o.length?i:o}else 23===s.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(e.icon.className="icon hide",e.iconContainer.className="icon hide",n.extraClasses=[D6(this._modelService,this._languageService,ms.from({scheme:"fake",path:t.textLabel}),C6.FOLDER),D6(this._modelService,this._languageService,ms.from({scheme:"fake",path:s.detail}),C6.FOLDER)].flat()):(e.icon.className="icon hide",e.iconContainer.className="",e.iconContainer.classList.add("suggest-icon",...Cr.asClassNameArray(Ps.toIcon(s.kind))));s.tags&&s.tags.indexOf(1)>=0&&(n.extraClasses=(n.extraClasses||[]).concat(["deprecated"]),n.matches=[]),e.iconLabel.setLabel(t.textLabel,void 0,n),"string"==typeof s.label?(e.parametersLabel.textContent="",e.detailsLabel.textContent=O6(s.detail||""),e.root.classList.add("string-label")):(e.parametersLabel.textContent=O6(s.label.detail||""),e.detailsLabel.textContent=O6(s.label.description||""),e.root.classList.remove("string-label")),this._editor.getOption(117).showInlineDetails?Wl(e.detailsLabel):jl(e.detailsLabel),y6(t)?(e.right.classList.add("can-expand-details"),Wl(e.readMore),e.readMore.onmousedown=t=>{t.stopPropagation(),t.preventDefault()},e.readMore.onclick=t=>{t.stopPropagation(),t.preventDefault(),this._onDidToggleDetails.fire()}):(e.right.classList.remove("can-expand-details"),jl(e.readMore),e.readMore.onmousedown=null,e.readMore.onclick=null)}disposeTemplate(t){t.disposables.dispose()}};function O6(t){return t.replace(/\r\n|\r|\n/g,"")}R6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([M6(1,pr),M6(2,yd),M6(3,Xk)],R6);var I6,_6=function(t,i){return function(e,s){i(e,s,t)}};dw("editorSuggestWidget.background",{dark:uv,light:uv,hcDark:uv,hcLight:uv},ot(0,"Background color of the suggest widget.")),dw("editorSuggestWidget.border",{dark:fv,light:fv,hcDark:fv,hcLight:fv},ot(0,"Border color of the suggest widget."));const N6=dw("editorSuggestWidget.foreground",{dark:lv,light:lv,hcDark:lv,hcLight:lv},ot(0,"Foreground color of the suggest widget."));dw("editorSuggestWidget.selectedForeground",{dark:Eb,light:Eb,hcDark:Eb,hcLight:Eb},ot(0,"Foreground color of the selected entry in the suggest widget.")),dw("editorSuggestWidget.selectedIconForeground",{dark:Ab,light:Ab,hcDark:Ab,hcLight:Ab},ot(0,"Icon foreground color of the selected entry in the suggest widget."));const B6=dw("editorSuggestWidget.selectedBackground",{dark:Mb,light:Mb,hcDark:Mb,hcLight:Mb},ot(0,"Background color of the selected entry in the suggest widget."));dw("editorSuggestWidget.highlightForeground",{dark:lb,light:lb,hcDark:lb,hcLight:lb},ot(0,"Color of the match highlights in the suggest widget.")),dw("editorSuggestWidget.focusHighlightForeground",{dark:ub,light:ub,hcDark:ub,hcLight:ub},ot(0,"Color of the match highlights in the suggest widget when an item is focused.")),dw("editorSuggestWidgetStatus.foreground",{dark:ly(N6,.5),light:ly(N6,.5),hcDark:ly(N6,.5),hcLight:ly(N6,.5)},ot(0,"Foreground color of the suggest widget status."));class P6{constructor(t,i){this._service=t,this._key=`suggestWidget.size/${i.getEditorType()}/${i instanceof UJ}`}restore(){var t;const i=null!==(t=this._service.get(this._key,0))&&void 0!==t?t:"";try{const t=JSON.parse(i);if(el.is(t))return el.lift(t)}catch(t){}}store(t){this._service.store(this._key,JSON.stringify(t),0,1)}reset(){this._service.remove(this._key,0)}}let $6=I6=class{constructor(t,i,e,s,n){this.editor=t,this._storageService=i,this._state=0,this._isAuto=!1,this._pendingLayout=new ie,this._pendingShowDetails=new ie,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new dc,this._disposables=new Xi,this._onDidSelect=new pe,this._onDidFocus=new pe,this._onDidHide=new de,this._onDidShow=new de,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new de,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new CX,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new W6(this,t),this._persistedSize=new P6(i,t);class o{constructor(t,i,e=!1,s=!1){this.persistedSize=t,this.currentSize=i,this.persistHeight=e,this.persistWidth=s}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new o(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((t=>{var i,e,s,n;if(this._resize(t.dimension.width,t.dimension.height),r&&(r.persistHeight=r.persistHeight||!!t.north||!!t.south,r.persistWidth=r.persistWidth||!!t.east||!!t.west),t.done){if(r){const{itemHeight:t,defaultSize:o}=this.getLayoutInfo(),h=Math.round(t/2);let{width:c,height:a}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-a)<=h)&&(a=null!==(e=null===(i=r.persistedSize)||void 0===i?void 0:i.height)&&void 0!==e?e:o.height),(!r.persistWidth||Math.abs(r.currentSize.width-c)<=h)&&(c=null!==(n=null===(s=r.persistedSize)||void 0===s?void 0:s.width)&&void 0!==n?n:o.width),this._persistedSize.store(new el(c,a))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=Ol(this.element.domNode,$l(".message")),this._listElement=Ol(this.element.domNode,$l(".tree"));const h=this._disposables.add(n.createInstance(k6,this.editor));h.onDidClose(this.toggleDetails,this,this._disposables),this._details=new x6(h,this.editor);const c=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(117).showIcons);c();const a=n.createInstance(R6,this.editor);this._disposables.add(a),this._disposables.add(a.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new aB("SuggestWidget",this._listElement,{getHeight:()=>this.getLayoutInfo().itemHeight,getTemplateId:()=>"suggestion"},[a],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>ot(0,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:t=>{let i=t.textLabel;if("string"!=typeof t.completion.label){const{detail:e,description:s}=t.completion.label;e&&s?i=ot(0,"{0} {1}, {2}",i,e,s):e?i=ot(0,"{0} {1}",i,e):s&&(i=ot(0,"{0}, {1}",i,s))}if(!t.isResolved||!this._isDetailsVisible())return i;const{documentation:e,detail:s}=t.completion;return ot(0,"{0}, docs: {1}",i,qn("{0}{1}",s||"",e?"string"==typeof e?e:e.value:""))}}}),this._list.style(PB({listInactiveFocusBackground:B6,listInactiveFocusOutline:vw})),this._status=n.createInstance(b6,this.element.domNode,x3);const l=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(117).showStatusBar);l(),this._disposables.add(s.onDidColorThemeChange((t=>this._onThemeChange(t)))),this._onThemeChange(s.getColorTheme()),this._disposables.add(this._list.onMouseDown((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onTap((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onDidChangeSelection((t=>this._onListSelection(t)))),this._disposables.add(this._list.onDidChangeFocus((t=>this._onListFocus(t)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((t=>{t.hasChanged(117)&&(l(),c())}))),this._ctxSuggestWidgetVisible=k3.Visible.bindTo(e),this._ctxSuggestWidgetDetailsVisible=k3.DetailsVisible.bindTo(e),this._ctxSuggestWidgetMultipleSuggestions=k3.MultipleSuggestions.bindTo(e),this._ctxSuggestWidgetHasFocusedSuggestion=k3.HasFocusedSuggestion.bindTo(e),this._disposables.add(qa(this._details.widget.domNode,"keydown",(t=>{this._onDetailsKeydown.fire(t)}))),this._disposables.add(this.editor.onMouseDown((t=>this._onEditorMouseDown(t))))}dispose(){var t;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(t){this._details.widget.domNode.contains(t.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(t.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(t){void 0!==t.element&&void 0!==t.index&&(t.browserEvent.preventDefault(),t.browserEvent.stopPropagation(),this._select(t.element,t.index))}_onListSelection(t){t.elements.length&&this._select(t.elements[0],t.indexes[0])}_select(t,i){const e=this._completionModel;e&&(this._onDidSelect.fire({item:t,index:i,model:e}),this.editor.focus())}_onThemeChange(t){this._details.widget.borderWidth=zy(t.type)?2:1}_onListFocus(t){var i;if(this._ignoreFocusEvents)return;if(!t.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const e=t.elements[0],s=t.indexes[0];e!==this._focusedItem&&(null===(i=this._currentSuggestionDetails)||void 0===i||i.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=e,this._list.reveal(s),this._currentSuggestionDetails=nc((async t=>{const i=lc((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),s=t.onCancellationRequested((()=>i.dispose()));try{return await e.resolve(t)}finally{i.dispose(),s.dispose()}})),this._currentSuggestionDetails.then((()=>{s>=this._list.length||e!==this._list.element(s)||(this._ignoreFocusEvents=!0,this._list.splice(s,1,[e]),this._list.setFocus([s]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:L6(s)}))})).catch(Bi)),this._onDidFocus.fire({item:e,index:s,model:this._completionModel})}_setState(t){if(this._state!==t)switch(this._state=t,this.element.domNode.classList.toggle("frozen",4===t),this.element.domNode.classList.remove("message"),t){case 0:jl(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=I6.LOADING_MESSAGE,jl(this._listElement,this._status.element),Wl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,$m(I6.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=I6.NO_SUGGESTIONS_MESSAGE,jl(this._listElement,this._status.element),Wl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,$m(I6.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:jl(this._messageElement),Wl(this._listElement,this._status.element),this._show();break;case 5:jl(this._messageElement),Wl(this._listElement,this._status.element),this._details.show(),this._show()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet((()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)}),100)}showTriggered(t,i){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!t,this._isAuto||(this._loadingTimeout=lc((()=>this._setState(1)),i)))}showSuggestions(t,i,e,s,n){var o,r;if(this._contentWidget.setPosition(this.editor.getPosition()),null===(o=this._loadingTimeout)||void 0===o||o.dispose(),null===(r=this._currentSuggestionDetails)||void 0===r||r.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==t&&(this._completionModel=t),e&&2!==this._state&&0!==this._state)return void this._setState(4);const h=this._completionModel.items.length,c=0===h;if(this._ctxSuggestWidgetMultipleSuggestions.set(h>1),c)return this._setState(s?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(e?4:3),this._list.reveal(i,0),this._list.setFocus(n?[]:[i])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Za(Na(this.element.domNode),(()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")}))}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):!y6(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(t){this._pendingShowDetails.value=Za(Na(this.element.domNode),(()=>{this._pendingShowDetails.clear(),this._details.show(),t?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}))}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var t;this._pendingLayout.clear(),this._pendingShowDetails.clear(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const i=this._persistedSize.restore(),e=Math.ceil(4.3*this.getLayoutInfo().itemHeight);i&&i.heightc&&(h=c);const a=this._completionModel?this._completionModel.stats.pLabelLen*o.typicalHalfwidthCharacterWidth:h,l=o.statusBarHeight+this._list.contentHeight+o.borderHeight,u=o.itemHeight+o.statusBarHeight,d=nl(this.editor.getDomNode()),f=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),p=Math.min(n.height-(d.top+f.top+f.height)-o.verticalPadding,l),g=d.top+f.top-o.verticalPadding,m=Math.min(g,l);let w=Math.min(Math.max(m,p)+o.borderHeight,l);r===(null===(i=this._cappedHeight)||void 0===i?void 0:i.capped)&&(r=this._cappedHeight.wanted),rw&&(r=w),r>p||this._forceRenderingAbove&&g>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),w=m):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),w=p),this.element.preferredSize=new el(a,o.defaultSize.height),this.element.maxSize=new el(c,w),this.element.minSize=new el(220,u),this._cappedHeight=r===l?{wanted:null!==(s=null===(e=this._cappedHeight)||void 0===e?void 0:e.wanted)&&void 0!==s?s:t.height,capped:r}:void 0}this._resize(h,r)}_resize(t,i){const{width:e,height:s}=this.element.maxSize;t=Math.min(e,t),i=Math.min(s,i);const{statusBarHeight:n}=this.getLayoutInfo();this._list.layout(i-n,t),this._listElement.style.height=i-n+"px",this.element.layout(i,t),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var t;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===(null===(t=this._contentWidget.getPosition())||void 0===t?void 0:t.preference[0]))}getLayoutInfo(){const t=this.editor.getOption(50),i=lR(this.editor.getOption(119)||t.lineHeight,8,1e3),e=this.editor.getOption(117).showStatusBar&&2!==this._state&&1!==this._state?i:0,s=this._details.widget.borderWidth,n=2*s;return{itemHeight:i,statusBarHeight:e,borderWidth:s,borderHeight:n,typicalHalfwidthCharacterWidth:t.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new el(430,e+12*i+n)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(t){this._storageService.store("expandSuggestionDocs",t,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};$6.LOADING_MESSAGE=ot(0,"Loading..."),$6.NO_SUGGESTIONS_MESSAGE=ot(0,"No suggestions."),$6=I6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([_6(1,AB),_6(2,ah),_6(3,Xk),_6(4,ur)],$6);class W6{constructor(t,i){this._widget=t,this._editor=i,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return!this._hidden&&this._position&&this._preference?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:t,width:i}=this._widget.element.size,{borderWidth:e,horizontalPadding:s}=this._widget.getLayoutInfo();return new el(i+2*e+s,t+2*e)}afterRender(t){this._widget._afterRender(t)}setPreference(t){this._preferenceLocked||(this._preference=t)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(t){this._position=t}}var j6,z6=function(t,i){return function(e,s){i(e,s,t)}};class H6{constructor(t,i){if(this._model=t,this._position=i,t.getLineMaxColumn(i.lineNumber)!==i.column){const e=t.getOffsetAt(i),s=t.getPositionAt(e+1);this._marker=t.deltaDecorations([],[{range:Ms.fromPositions(i,s),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(t){if(this._model.isDisposed()||this._position.lineNumber!==t.lineNumber)return 0;if(this._marker){const i=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(i.getStartPosition())-this._model.getOffsetAt(t)}return this._model.getLineMaxColumn(t.lineNumber)-t.column}}let V6=j6=class{static get(t){return t.getContribution(j6.ID)}constructor(t,i,e,s,n,o,r){this._memoryService=i,this._commandService=e,this._contextKeyService=s,this._instantiationService=n,this._logService=o,this._telemetryService=r,this._lineSuffix=new ie,this._toDispose=new Xi,this._selectors=new U6((t=>t.priority)),this._onWillInsertSuggestItem=new de,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=t,this.model=n.createInstance(g6,this.editor),this._selectors.register({priority:0,select:(t,i,e)=>this._memoryService.select(t,i,e)});const h=k3.InsertMode.bindTo(s);h.set(t.getOption(117).insertMode),this._toDispose.add(this.model.onDidTrigger((()=>h.set(t.getOption(117).insertMode)))),this.widget=this._toDispose.add(new Ga(Na(t.getDomNode()),(()=>{const t=this._instantiationService.createInstance($6,this.editor);this._toDispose.add(t),this._toDispose.add(t.onDidSelect((t=>this._insertSuggestion(t,0)),this));const i=new h6(this.editor,t,this.model,(t=>this._insertSuggestion(t,2)));this._toDispose.add(i);const e=k3.MakesTextEdit.bindTo(this._contextKeyService),s=k3.HasInsertAndReplaceRange.bindTo(this._contextKeyService),n=k3.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Yi((()=>{e.reset(),s.reset(),n.reset()}))),this._toDispose.add(t.onDidFocus((({item:t})=>{const i=this.editor.getPosition(),o=t.editStart.column,r=i.column;let h=!0;"smart"!==this.editor.getOption(1)||2!==this.model.state||t.completion.additionalTextEdits||4&t.completion.insertTextRules||r-o!==t.completion.insertText.length||(h=this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:o,endLineNumber:i.lineNumber,endColumn:r})!==t.completion.insertText),e.set(h),s.set(!As.equals(t.editInsertEnd,t.editReplaceEnd)),n.set(Boolean(t.provider.resolveCompletionItem)||Boolean(t.completion.documentation)||t.completion.detail!==t.completion.label)}))),this._toDispose.add(t.onDetailsKeyDown((t=>{t.toKeyCodeChord().equals(new wh(!0,!1,!1,!1,33))||Ct&&t.toKeyCodeChord().equals(new wh(!1,!1,!1,!0,33))?t.stopPropagation():t.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),t}))),this._overtypingCapturer=this._toDispose.add(new Ga(Na(t.getDomNode()),(()=>this._toDispose.add(new m6(this.editor,this.model))))),this._alternatives=this._toDispose.add(new Ga(Na(t.getDomNode()),(()=>this._toDispose.add(new r6(this.editor,this._contextKeyService))))),this._toDispose.add(n.createInstance(n6,t)),this._toDispose.add(this.model.onDidTrigger((t=>{this.widget.value.showTriggered(t.auto,t.shy?250:50),this._lineSuffix.value=new H6(this.editor.getModel(),t.position)}))),this._toDispose.add(this.model.onDidSuggest((t=>{if(t.triggerOptions.shy)return;let i=-1;for(const e of this._selectors.itemsOrderedByPriorityDesc)if(i=e.select(this.editor.getModel(),this.editor.getPosition(),t.completionModel.items),-1!==i)break;-1===i&&(i=0);let e=!1;if(t.triggerOptions.auto){const i=this.editor.getOption(117);"never"===i.selectionMode||"always"===i.selectionMode?e="never"===i.selectionMode:"whenTriggerCharacter"===i.selectionMode?e=1!==t.triggerOptions.triggerKind:"whenQuickSuggestion"===i.selectionMode&&(e=1===t.triggerOptions.triggerKind&&!t.triggerOptions.refilter)}this.widget.value.showSuggestions(t.completionModel,i,t.isFrozen,t.triggerOptions.auto,e)}))),this._toDispose.add(this.model.onDidCancel((t=>{t.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const c=k3.AcceptSuggestionsOnEnter.bindTo(s),a=()=>{const t=this.editor.getOption(1);c.set("on"===t||"smart"===t)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>a()))),a()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(t,i){if(!t||!t.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const e=q3.get(this.editor);if(!e)return;this._onWillInsertSuggestItem.fire({item:t.item});const s=this.editor.getModel(),n=s.getAlternativeVersionId(),{item:o}=t,r=[],h=new Ce;1&i||this.editor.pushUndoStop();const c=this.getOverwriteInfo(o,Boolean(8&i));this._memoryService.memorize(s,this.editor.getPosition(),o);const a=o.isResolved;let l=-1,u=-1;if(Array.isArray(o.completion.additionalTextEdits)){this.model.cancel();const t=iU.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",o.completion.additionalTextEdits.map((t=>pO.replaceMove(Ms.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!a){const t=new re;let e;const n=s.onDidChangeContent((t=>{if(t.isFlush)return h.cancel(),void n.dispose();for(const i of t.changes){const t=Ms.getEndPosition(i.range);e&&!As.isBefore(t,e)||(e=t)}})),c=i;i|=2;let a=!1;const l=this.editor.onWillType((()=>{l.dispose(),a=!0,2&c||this.editor.pushUndoStop()}));r.push(o.resolve(h.token).then((()=>{if(!o.completion.additionalTextEdits||h.token.isCancellationRequested)return;if(e&&o.completion.additionalTextEdits.some((t=>As.isBefore(e,Ms.getStartPosition(t.range)))))return!1;a&&this.editor.pushUndoStop();const t=iU.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",o.completion.additionalTextEdits.map((t=>pO.replaceMove(Ms.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor),!a&&2&c||this.editor.pushUndoStop(),!0})).then((i=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",t.elapsed(),i),u=!0===i?1:!1===i?0:-2})).finally((()=>{n.dispose(),l.dispose()})))}let{insertText:d}=o.completion;if(4&o.completion.insertTextRules||(d=n3.escape(d)),this.model.cancel(),e.insert(d,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&o.completion.insertTextRules),clipboardText:t.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&i||this.editor.pushUndoStop(),o.completion.command)if(o.completion.command.id===q6.id)this.model.trigger({auto:!0,retrigger:!0});else{const t=new re;r.push(this._commandService.executeCommand(o.completion.command.id,...o.completion.command.arguments?[...o.completion.command.arguments]:[]).catch((t=>{o.completion.extensionId?Pi(t):Bi(t)})).finally((()=>{l=t.elapsed()})))}4&i&&this._alternatives.value.set(t,(t=>{for(h.cancel();s.canUndo();){n!==s.getAlternativeVersionId()&&s.undo(),this._insertSuggestion(t,3|(8&i?8:0));break}})),this._alertCompletionItem(o),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(o,s,a,l,u),this.model.clear(),h.dispose()}))}_reportSuggestionAcceptedTelemetry(t,i,e,s,n){var o,r,h;0!==Math.floor(100*Math.random())&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:null!==(r=null===(o=t.extensionId)||void 0===o?void 0:o.value)&&void 0!==r?r:"unknown",providerId:null!==(h=t.provider._debugDisplayName)&&void 0!==h?h:"unknown",kind:t.completion.kind,basenameHash:Ma(bA(i.uri)).toString(16),languageId:i.getLanguageId(),fileExtension:yA(i.uri),resolveInfo:t.provider.resolveCompletionItem?e?1:0:-1,resolveDuration:t.resolveDuration,commandDuration:s,additionalEditsAsync:n})}getOverwriteInfo(t,i){q(this.editor.hasModel());let e="replace"===this.editor.getOption(117).insertMode;i&&(e=!e);const s=(e?t.editReplaceEnd.column:t.editInsertEnd.column)-t.position.column;return{overwriteBefore:t.position.column-t.editStart.column+(this.editor.getPosition().column-t.position.column),overwriteAfter:s+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(t){b(t.completion.additionalTextEdits)&&Pm(ot(0,"Accepting '{0}' made {1} additional edits",t.textLabel,t.completion.additionalTextEdits.length))}triggerSuggest(t,i,e){this.editor.hasModel()&&(this.model.trigger({auto:null!=i&&i,completionOptions:{providerFilter:t,kindFilter:e?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(t){if(!this.editor.hasModel())return;const i=this.editor.getPosition(),e=()=>{i.equals(this.editor.getPosition())&&this._commandService.executeCommand(t.fallback)},s=t=>{if(4&t.completion.insertTextRules||t.completion.additionalTextEdits)return!0;const i=this.editor.getPosition(),e=t.editStart.column,s=i.column;return s-e!==t.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:e,endLineNumber:i.lineNumber,endColumn:s})!==t.completion.insertText};he.once(this.model.onDidTrigger)((()=>{const t=[];he.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{Qi(t),e()}),void 0,t),this.model.onDidSuggest((({completionModel:i})=>{if(Qi(t),0===i.items.length)return void e();const n=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),i.items),o=i.items[n];s(o)?(this.editor.pushUndoStop(),this._insertSuggestion({index:n,item:o,model:i},7)):e()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(i,0),this.editor.focus()}acceptSelectedSuggestion(t,i){const e=this.widget.value.getFocusedItem();let s=0;t&&(s|=4),i&&(s|=8),this._insertSuggestion(e,s)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(t){return this._selectors.register(t)}};V6.ID="editor.contrib.suggestController",V6=j6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([z6(1,e6),z6(2,Sr),z6(3,ah),z6(4,ur),z6(5,jh),z6(6,Wh)],V6);class U6{constructor(t){this.prioritySelector=t,this._items=new Array}register(t){if(-1!==this._items.indexOf(t))throw new Error("Value is already registered");return this._items.push(t),this._items.sort(((t,i)=>this.prioritySelector(i)-this.prioritySelector(t))),{dispose:()=>{const i=this._items.indexOf(t);i>=0&&this._items.splice(i,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class q6 extends su{constructor(){super({id:q6.id,label:ot(0,"Trigger Suggest"),alias:"Trigger Suggest",precondition:zr.and(YC.writable,YC.hasCompletionItemProvider,k3.Visible.toNegated()),kbOpts:{kbExpr:YC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(t,i,e){const s=V6.get(i);if(!s)return;let n;e&&"object"==typeof e&&!0===e.auto&&(n=!0),s.triggerSuggest(void 0,n,void 0)}}q6.id="editor.action.triggerSuggest",lu(V6.ID,V6,2),cu(q6);const K6=190,G6=eu.bindToContribution(V6.get);hu(new G6({id:"acceptSelectedSuggestion",precondition:zr.and(k3.Visible,k3.HasFocusedSuggestion),handler(t){t.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:zr.and(k3.Visible,YC.textInputFocus),weight:K6},{primary:3,kbExpr:zr.and(k3.Visible,YC.textInputFocus,k3.AcceptSuggestionsOnEnter,k3.MakesTextEdit),weight:K6}],menuOpts:[{menuId:x3,title:ot(0,"Insert"),group:"left",order:1,when:k3.HasInsertAndReplaceRange.toNegated()},{menuId:x3,title:ot(0,"Insert"),group:"left",order:1,when:zr.and(k3.HasInsertAndReplaceRange,k3.InsertMode.isEqualTo("insert"))},{menuId:x3,title:ot(0,"Replace"),group:"left",order:1,when:zr.and(k3.HasInsertAndReplaceRange,k3.InsertMode.isEqualTo("replace"))}]})),hu(new G6({id:"acceptAlternativeSelectedSuggestion",precondition:zr.and(k3.Visible,YC.textInputFocus,k3.HasFocusedSuggestion),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:1027,secondary:[1026]},handler(t){t.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:x3,group:"left",order:2,when:zr.and(k3.HasInsertAndReplaceRange,k3.InsertMode.isEqualTo("insert")),title:ot(0,"Replace")},{menuId:x3,group:"left",order:2,when:zr.and(k3.HasInsertAndReplaceRange,k3.InsertMode.isEqualTo("replace")),title:ot(0,"Insert")}]})),Dr.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),hu(new G6({id:"hideSuggestWidget",precondition:k3.Visible,handler:t=>t.cancelSuggestWidget(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:9,secondary:[1033]}})),hu(new G6({id:"selectNextSuggestion",precondition:zr.and(k3.Visible,zr.or(k3.MultipleSuggestions,k3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextSuggestion(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),hu(new G6({id:"selectNextPageSuggestion",precondition:zr.and(k3.Visible,zr.or(k3.MultipleSuggestions,k3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextPageSuggestion(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:12,secondary:[2060]}})),hu(new G6({id:"selectLastSuggestion",precondition:zr.and(k3.Visible,zr.or(k3.MultipleSuggestions,k3.HasFocusedSuggestion.negate())),handler:t=>t.selectLastSuggestion()})),hu(new G6({id:"selectPrevSuggestion",precondition:zr.and(k3.Visible,zr.or(k3.MultipleSuggestions,k3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevSuggestion(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),hu(new G6({id:"selectPrevPageSuggestion",precondition:zr.and(k3.Visible,zr.or(k3.MultipleSuggestions,k3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevPageSuggestion(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:11,secondary:[2059]}})),hu(new G6({id:"selectFirstSuggestion",precondition:zr.and(k3.Visible,zr.or(k3.MultipleSuggestions,k3.HasFocusedSuggestion.negate())),handler:t=>t.selectFirstSuggestion()})),hu(new G6({id:"focusSuggestion",precondition:zr.and(k3.Visible,k3.HasFocusedSuggestion.negate()),handler:t=>t.focusSuggestion(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),hu(new G6({id:"focusAndAcceptSuggestion",precondition:zr.and(k3.Visible,k3.HasFocusedSuggestion.negate()),handler:t=>{t.focusSuggestion(),t.acceptSelectedSuggestion(!0,!1)}})),hu(new G6({id:"toggleSuggestionDetails",precondition:zr.and(k3.Visible,k3.HasFocusedSuggestion),handler:t=>t.toggleSuggestionDetails(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:x3,group:"right",order:1,when:zr.and(k3.DetailsVisible,k3.CanResolve),title:ot(0,"show less")},{menuId:x3,group:"right",order:1,when:zr.and(k3.DetailsVisible.toNegated(),k3.CanResolve),title:ot(0,"show more")}]})),hu(new G6({id:"toggleExplainMode",precondition:k3.Visible,handler:t=>t.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),hu(new G6({id:"toggleSuggestionFocus",precondition:k3.Visible,handler:t=>t.toggleSuggestionFocus(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:2570,mac:{primary:778}}})),hu(new G6({id:"insertBestCompletion",precondition:zr.and(YC.textInputFocus,zr.equals("config.editor.tabCompletion","on"),n6.AtEnd,k3.Visible.toNegated(),r6.OtherSuggestions.toNegated(),q3.InSnippetMode.toNegated()),handler:(t,i)=>{t.triggerSuggestAndAcceptBest(P(i)?{fallback:"tab",...i}:{fallback:"tab"})},kbOpts:{weight:K6,primary:2}})),hu(new G6({id:"insertNextSuggestion",precondition:zr.and(YC.textInputFocus,zr.equals("config.editor.tabCompletion","on"),r6.OtherSuggestions,k3.Visible.toNegated(),q3.InSnippetMode.toNegated()),handler:t=>t.acceptNextSuggestion(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:2}})),hu(new G6({id:"insertPrevSuggestion",precondition:zr.and(YC.textInputFocus,zr.equals("config.editor.tabCompletion","on"),r6.OtherSuggestions,k3.Visible.toNegated(),q3.InSnippetMode.toNegated()),handler:t=>t.acceptPrevSuggestion(),kbOpts:{weight:K6,kbExpr:YC.textInputFocus,primary:1026}})),cu(class extends su{constructor(){super({id:"editor.action.resetSuggestSize",label:ot(0,"Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(t,i){var e;null===(e=V6.get(i))||void 0===e||e.resetWidgetSize()}});class Z6 extends te{get selectedItem(){return this._selectedItem}constructor(t,i,e,s){super(),this.editor=t,this.suggestControllerPreselector=i,this.checkModelVersion=e,this.onWillAccept=s,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=FV(this,void 0),this._register(t.onKeyDown((t=>{t.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(t.onKeyUp((t=>{t.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const n=V6.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(t,i,e)=>{var s;yV((t=>this.checkModelVersion(t)));const o=this.editor.getModel();if(!o)return-1;const r=null===(s=this.suggestControllerPreselector())||void 0===s?void 0:s.removeCommonPrefix(o);if(!r)return-1;const h=As.lift(i),c=up(e.map(((t,i)=>{const e=Q6.fromSuggestion(n,o,h,t,this.isShiftKeyPressed).toSingleTextEdit().removeCommonPrefix(o);return{index:i,valid:r.augments(e),prefixLength:e.text.length,suggestItem:t}})).filter((t=>t&&t.valid&&t.prefixLength>0)),T((t=>t.prefixLength),R));return c?c.index:-1}}));let t=!1;const i=()=>{t||(t=!0,this._register(n.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(n.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(n.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(he.once(n.model.onDidTrigger)((()=>{i()}))),this._register(n.onWillInsertSuggestItem((t=>{const i=this.editor.getPosition(),e=this.editor.getModel();if(!i||!e)return;const s=Q6.fromSuggestion(n,e,i,t.item,this.isShiftKeyPressed);this.onWillAccept(s)})))}this.update(this._isActive)}update(t){const i=this.getSuggestItemInfo();var e,s;this._isActive===t&&((e=this._currentSuggestItemInfo)===(s=i)||e&&s&&e.equals(s))||(this._isActive=t,this._currentSuggestItemInfo=i,yV((t=>{this.checkModelVersion(t),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,t)})))}getSuggestItemInfo(){const t=V6.get(this.editor);if(!t||!this.isSuggestWidgetVisible)return;const i=t.widget.value.getFocusedItem(),e=this.editor.getPosition(),s=this.editor.getModel();return i&&e&&s?Q6.fromSuggestion(t,s,e,i.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const t=V6.get(this.editor);null==t||t.stopForceRenderingAbove()}forceRenderingAbove(){const t=V6.get(this.editor);null==t||t.forceRenderingAbove()}}class Q6{static fromSuggestion(t,i,e,s,n){let{insertText:o}=s.completion,r=!1;if(4&s.completion.insertTextRules){const t=(new n3).parse(o);t.children.length<100&&z3.adjustWhitespace(i,e,!0,t),o=t.toString(),r=!0}const h=t.getOverwriteInfo(s,n);return new Q6(Ms.fromPositions(e.delta(0,-h.overwriteBefore),e.delta(0,Math.max(h.overwriteAfter,0))),o,s.completion.kind,r)}constructor(t,i,e,s){this.range=t,this.insertText=i,this.completionItemKind=e,this.isSnippetText=s}equals(t){return this.range.equalsRange(t.range)&&this.insertText===t.insertText&&this.completionItemKind===t.completionItemKind&&this.isSnippetText===t.isSnippetText}toSelectedSuggestionInfo(){return new zs(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new l3(this.range,this.insertText)}}var J6,Y6=function(t,i){return function(e,s){i(e,s,t)}};let X6=J6=class extends te{static get(t){return t.getContribution(J6.ID)}constructor(t,i,e,s,n,o,r,h,c){super(),this.editor=t,this._instantiationService=i,this._contextKeyService=e,this._configurationService=s,this._commandService=n,this._debounceService=o,this._languageFeaturesService=r,this._audioCueService=h,this._keybindingService=c,this.model=RV("inlineCompletionModel",void 0),this._textModelVersionId=FV(this,-1),this._cursorPosition=FV(this,new As(1,1)),this._suggestWidgetAdaptor=this._register(new Z6(this.editor,(()=>{var t,i;return null===(i=null===(t=this.model.get())||void 0===t?void 0:t.selectedInlineCompletion.get())||void 0===i?void 0:i.toSingleTextEdit(void 0)}),(t=>this.updateObservables(t,G3.Other)),(t=>{yV((i=>{var e;this.updateObservables(i,G3.Other),null===(e=this.model.get())||void 0===e||e.handleSuggestAccepted(t)}))}))),this._enabled=KV(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).enabled)),this._ghostTextWidget=this._register(this._instantiationService.createInstance(H5,this.editor,{ghostText:this.model.map(((t,i)=>null==t?void 0:t.ghostText.read(i))),minReservedLineCount:UV(0),targetTextModel:this.model.map((t=>null==t?void 0:t.textModel))})),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAudioCueSignal=JV(this),this._isReadonly=KV(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(90))),this._textModel=KV(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this._textModelIfWritable=_V((t=>this._isReadonly.read(t)?void 0:this._textModel.read(t))),this._register(new R5(this._contextKeyService,this.model)),this._register(WV((e=>{const s=this._textModelIfWritable.read(e);yV((e=>{if(this.model.set(void 0,e),this.updateObservables(e,G3.Other),s){const n=i.createInstance(Q3,s,this._suggestWidgetAdaptor.selectedItem,this._cursorPosition,this._textModelVersionId,this._debounceValue,KV(t.onDidChangeConfiguration,(()=>t.getOption(117).preview)),KV(t.onDidChangeConfiguration,(()=>t.getOption(117).previewMode)),KV(t.onDidChangeConfiguration,(()=>t.getOption(62).mode)),this._enabled);this.model.set(n,e)}}))})));const a=t=>{var i;return t.isUndoing?G3.Undo:t.isRedoing?G3.Redo:(null===(i=this.model.get())||void 0===i?void 0:i.isAcceptingPartially)?G3.AcceptWord:G3.Other};let l;this._register(t.onDidChangeModelContent((t=>yV((i=>this.updateObservables(i,a(t))))))),this._register(t.onDidChangeCursorPosition((t=>yV((i=>{var e;this.updateObservables(i,G3.Other),3!==t.reason&&"api"!==t.source||null===(e=this.model.get())||void 0===e||e.stop(i)}))))),this._register(t.onDidType((()=>yV((t=>{var i;this.updateObservables(t,G3.Other),this._enabled.get()&&(null===(i=this.model.get())||void 0===i||i.trigger(t))}))))),this._register(this._commandService.onDidExecuteCommand((i=>{new Set([hS.Tab.id,hS.DeleteLeft.id,hS.DeleteRight.id,A0,"acceptSelectedSuggestion"]).has(i.commandId)&&t.hasTextFocus()&&this._enabled.get()&&yV((t=>{var i;null===(i=this.model.get())||void 0===i||i.trigger(t)}))}))),this._register(this.editor.onDidBlurEditorWidget((()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||t.getOption(62).keepOnBlur||N0.dropDownVisible||yV((t=>{var i;null===(i=this.model.get())||void 0===i||i.stop(t)}))}))),this._register(WV((t=>{var i;const e=null===(i=this.model.read(t))||void 0===i?void 0:i.state.read(t);(null==e?void 0:e.suggestItem)?e.ghostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(Yi((()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(zV({handleChange:t=>(t.didChange(this._playAudioCueSignal)&&(l=void 0),!0)},(async t=>{this._playAudioCueSignal.read(t);const i=this.model.read(t),e=null==i?void 0:i.state.read(t);if(i&&e&&e.inlineCompletion){if(e.inlineCompletion.semanticId!==l){l=e.inlineCompletion.semanticId;const t=i.textModel.getLineContent(e.ghostText.lineNumber);this._audioCueService.playAudioCue(UH.inlineSuggestion).then((()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(e.ghostText.renderForScreenReader(t))}))}}else l=void 0}))),this._register(new O0(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}))),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAudioCue(t){this._playAudioCueSignal.trigger(t)}provideScreenReaderUpdate(t){const i=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),e=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let s;!i&&e&&this.editor.getOption(147)&&(s=ot(0,"Inspect this in the accessible view ({0})",e.getAriaLabel())),Pm(s?t+", "+s:t)}updateObservables(t,i){var e,s;const n=this.editor.getModel();this._textModelVersionId.set(null!==(e=null==n?void 0:n.getVersionId())&&void 0!==e?e:-1,t,i),this._cursorPosition.set(null!==(s=this.editor.getPosition())&&void 0!==s?s:new As(1,1),t)}shouldShowHoverAt(t){var i;const e=null===(i=this.model.get())||void 0===i?void 0:i.ghostText.get();return!!e&&e.parts.some((i=>t.containsPosition(new As(e.lineNumber,i.column))))}shouldShowHoverAtViewZone(t){return this._ghostTextWidget.ownsViewZone(t)}};X6.ID="editor.contrib.inlineCompletionsController",X6=J6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Y6(1,ur),Y6(2,ah),Y6(3,pd),Y6(4,Sr),Y6(5,gR),Y6(6,xg),Y6(7,zH),Y6(8,oC)],X6);class t9 extends su{constructor(){super({id:t9.ID,label:ot(0,"Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:zr.and(YC.writable,R5.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(t,i){var e;const s=X6.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.next()}}t9.ID=L0;class i9 extends su{constructor(){super({id:i9.ID,label:ot(0,"Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:zr.and(YC.writable,R5.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(t,i){var e;const s=X6.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.previous()}}i9.ID=M0;class e9 extends su{constructor(){super({id:e9.ID,label:ot(0,"Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:R5.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(t,i){const e=X6.get(i);yV((t=>{var i;null===(i=null==e?void 0:e.model.get())||void 0===i||i.stop(t)}))}}e9.ID="editor.action.inlineSuggest.hide";class s9 extends Ph{constructor(){super({id:s9.ID,title:ot(0,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Rh.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:zr.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(t,i){const e=t.get(pd),s=e.getValue("editor.inlineSuggest.showToolbar");e.updateValue("editor.inlineSuggest.showToolbar","always"===s?"onHover":"always")}}s9.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var n9=function(t,i){return function(e,s){i(e,s,t)}};class o9{constructor(t,i,e){this.owner=t,this.range=i,this.controller=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let r9=class{constructor(t,i,e,s,n,o){this._editor=t,this._languageService=i,this._openerService=e,this.accessibilityService=s,this._instantiationService=n,this._telemetryService=o,this.hoverOrdinal=4}suggestHoverAnchor(t){const i=X6.get(this._editor);if(!i)return null;const e=t.target;if(8===e.type){const s=e.detail;if(i.shouldShowHoverAtViewZone(s.viewZoneId))return new kX(1e3,this,Ms.fromPositions(this._editor.getModel().validatePosition(s.positionBefore||s.position)),t.event.posx,t.event.posy,!1)}return 7===e.type&&i.shouldShowHoverAt(e.range)||6===e.type&&e.detail.mightBeForeignElement&&i.shouldShowHoverAt(e.range)?new kX(1e3,this,e.range,t.event.posx,t.event.posy,!1):null}computeSync(t,i){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const e=X6.get(this._editor);return e&&e.shouldShowHoverAt(t.range)?[new o9(this,t.range,e)]:[]}renderHoverParts(t,i){const e=new Xi,s=i[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(t,s,e);const n=s.controller.model.get(),o=this._instantiationService.createInstance(N0,this._editor,!1,UV(null),n.selectedInlineCompletionIndex,n.inlineCompletionsCount,n.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]})));return t.fragment.appendChild(o.getDomNode()),n.triggerExplicitly(),e.add(o),e}renderScreenReaderText(t,i,e){const s=$l,n=s("div.hover-row.markdown-hover"),o=Ol(n,s("div.hover-contents",{"aria-live":"assertive"})),r=e.add(new lQ({editor:this._editor},this._languageService,this._openerService));e.add(WV((s=>{var n;const h=null===(n=i.controller.model.read(s))||void 0===n?void 0:n.ghostText.read(s);if(h){const i=this._editor.getModel().getLineContent(h.lineNumber);(i=>{e.add(r.onDidRenderAsync((()=>{o.className="hover-contents code-hover-contents",t.onContentsChanged()})));const s=ot(0,"Suggestion:"),n=e.add(r.render((new N_).appendText(s).appendCodeblock("text",i)));o.replaceChildren(n.element)})(h.renderForScreenReader(i))}else _l(o)}))),t.fragment.appendChild(n)}};function h9(t,i){let e=0;for(let s=0;s=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([n9(1,yd),n9(2,dP),n9(3,Zm),n9(4,ur),n9(5,Wh)],r9),lu(X6.ID,X6,3),cu(class extends su{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:ot(0,"Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:YC.writable})}async run(t,i){const e=X6.get(i);await async function(t){const i=new CV(t,void 0);try{await t(i)}finally{i.finish()}}((async t=>{var i;await(null===(i=null==e?void 0:e.model.get())||void 0===i?void 0:i.triggerExplicitly(t)),null==e||e.playAudioCue(t)}))}}),cu(t9),cu(i9),cu(class extends su{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:ot(0,"Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:zr.and(YC.writable,R5.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:zr.and(YC.writable,R5.inlineSuggestionVisible)},menuOpts:[{menuId:Rh.InlineSuggestionToolbar,title:ot(0,"Accept Word"),group:"primary",order:2}]})}async run(t,i){var e;const s=X6.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextWord(s.editor))}}),cu(class extends su{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:ot(0,"Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:zr.and(YC.writable,R5.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Rh.InlineSuggestionToolbar,title:ot(0,"Accept Line"),group:"secondary",order:2}]})}async run(t,i){var e;const s=X6.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextLine(s.editor))}}),cu(class extends su{constructor(){super({id:A0,label:ot(0,"Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:R5.inlineSuggestionVisible,menuOpts:[{menuId:Rh.InlineSuggestionToolbar,title:ot(0,"Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:zr.and(R5.inlineSuggestionVisible,YC.tabMovesFocus.toNegated(),R5.inlineSuggestionHasIndentationLessThanTabSize,k3.Visible.toNegated(),YC.hoverFocused.toNegated())}})}async run(t,i){var e;const s=X6.get(i);s&&(null===(e=s.model.get())||void 0===e||e.accept(s.editor),s.editor.focus())}}),cu(e9),$h(s9),xX.register(r9);function a9(t,i,e,s,n){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return[];const o=i.getLanguageConfiguration(t.getLanguageId()).indentationRules;if(!o)return[];for(s=Math.min(s,t.getLineCount());e<=s&&o.unIndentedLinePattern;){const i=t.getLineContent(e);if(!o.unIndentedLinePattern.test(i))break;e++}if(e>s-1)return[];const{tabSize:r,indentSize:h,insertSpaces:c}=t.getOptions(),a=(t,i)=>$C.shiftIndent(t,t.length+(i=i||1),r,h,c),l=(t,i)=>$C.unshiftIndent(t,t.length+(i=i||1),r,h,c),u=[];let d;const f=t.getLineContent(e);let p=f;if(null!=n){d=n;const t=io(f);p=d+f.substring(t.length),o.decreaseIndentPattern&&o.decreaseIndentPattern.test(p)&&(d=l(d),p=d+f.substring(t.length)),f!==p&&u.push(pO.replaceMove(new Ls(e,1,e,t.length+1),lC(d,h,c)))}else d=io(f);let g=d;o.increaseIndentPattern&&o.increaseIndentPattern.test(p)?(g=a(g),d=a(d)):o.indentNextLinePattern&&o.indentNextLinePattern.test(p)&&(g=a(g));for(let i=++e;i<=s;i++){const e=t.getLineContent(i),s=io(e),n=g+e.substring(s.length);o.decreaseIndentPattern&&o.decreaseIndentPattern.test(n)&&(g=l(g),d=l(d)),s!==g&&u.push(pO.replaceMove(new Ls(i,1,i,s.length+1),lC(g,h,c))),o.unIndentedLinePattern&&o.unIndentedLinePattern.test(e)||(o.increaseIndentPattern&&o.increaseIndentPattern.test(n)?(d=a(d),g=d):g=o.indentNextLinePattern&&o.indentNextLinePattern.test(n)?a(g):d)}return u}class l9 extends su{constructor(){super({id:l9.ID,label:ot(0,"Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:YC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new y9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!0})}}l9.ID="editor.action.indentationToSpaces";class u9 extends su{constructor(){super({id:u9.ID,label:ot(0,"Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:YC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new k9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!1})}}u9.ID="editor.action.indentationToTabs";class d9 extends su{constructor(t,i,e){super(e),this.insertSpaces=t,this.displaySizeOnly=i}run(t,i){const e=t.get(Oj),s=t.get(pr),n=i.getModel();if(!n)return;const o=s.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget),r=n.getOptions(),h=[1,2,3,4,5,6,7,8].map((t=>({id:t.toString(),label:t.toString(),description:t===o.tabSize&&t===r.tabSize?ot(0,"Configured Tab Size"):t===o.tabSize?ot(0,"Default Tab Size"):t===r.tabSize?ot(0,"Current Tab Size"):void 0}))),c=Math.min(n.getOptions().tabSize-1,7);setTimeout((()=>{e.pick(h,{placeHolder:ot(0,"Select Tab Size for Current File"),activeItem:h[c]}).then((t=>{if(t&&n&&!n.isDisposed()){const i=parseInt(t.label,10);n.updateOptions(this.displaySizeOnly?{tabSize:i}:{tabSize:i,indentSize:i,insertSpaces:this.insertSpaces})}}))}),50)}}class f9 extends d9{constructor(){super(!1,!1,{id:f9.ID,label:ot(0,"Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}f9.ID="editor.action.indentUsingTabs";class p9 extends d9{constructor(){super(!0,!1,{id:p9.ID,label:ot(0,"Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}p9.ID="editor.action.indentUsingSpaces";class g9 extends d9{constructor(){super(!0,!0,{id:g9.ID,label:ot(0,"Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}g9.ID="editor.action.changeTabDisplaySize";class m9 extends su{constructor(){super({id:m9.ID,label:ot(0,"Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(t,i){const e=t.get(pr),s=i.getModel();if(!s)return;const n=e.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget);s.detectIndentation(n.insertSpaces,n.tabSize)}}m9.ID="editor.action.detectIndentation";class w9{constructor(t,i){this._initialSelection=i,this._edits=[],this._selectionId=null;for(const i of t)i.range&&"string"==typeof i.text&&this._edits.push(i)}getEditOperations(t,i){for(const t of this._edits)i.addEditOperation(Ms.lift(t.range),t.text);let e=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!1))),e||(this._selectionId=i.trackSelection(this._initialSelection))}computeCursorState(t,i){return i.getTrackedSelection(this._selectionId)}}let v9=class{constructor(t,i){this.editor=t,this._languageConfigurationService=i,this.callOnDispose=new Xi,this.callOnModel=new Xi,this.callOnDispose.add(t.onDidChangeConfiguration((()=>this.update()))),this.callOnDispose.add(t.onDidChangeModel((()=>this.update()))),this.callOnDispose.add(t.onDidChangeModelLanguage((()=>this.update())))}update(){this.callOnModel.clear(),this.editor.getOption(12)<4||this.editor.getOption(55)||this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste((({range:t})=>{this.trigger(t)})))}trigger(t){const i=this.editor.getSelections();if(null===i||i.length>1)return;const e=this.editor.getModel();if(!e)return;if(!e.tokenization.isCheapToTokenize(t.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:n,indentSize:o,insertSpaces:r}=e.getOptions(),h=[],c={shiftIndent:t=>$C.shiftIndent(t,t.length+1,n,o,r),unshiftIndent:t=>$C.unshiftIndent(t,t.length+1,n,o,r)};let a=t.startLineNumber;for(;a<=t.endLineNumber&&this.shouldIgnoreLine(e,a);)a++;if(a>t.endLineNumber)return;let l=e.getLineContent(a);if(!/\S/.test(l.substring(0,t.startColumn-1))){const t=HC(s,e,e.getLanguageId(),a,c,this._languageConfigurationService);if(null!==t){const i=io(l),s=h9(t,n);if(s!==h9(i,n)){const t=c9(s,n,r);h.push({range:new Ms(a,1,a,i.length+1),text:t}),l=t+l.substr(i.length)}else{const t=VC(e,a,this._languageConfigurationService);if(0===t||8===t)return}}}const u=a;for(;ae.tokenization.getLineTokens(t),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i)},getLineContent:t=>t===u?l:e.getLineContent(t)},e.getLanguageId(),a+1,c,this._languageConfigurationService);if(null!==i){const s=h9(i,n),o=h9(io(e.getLineContent(a+1)),n);if(s!==o){const i=s-o;for(let s=a+1;s<=t.endLineNumber;s++){const t=io(e.getLineContent(s)),o=c9(h9(t,n)+i,n,r);o!==t&&h.push({range:new Ms(s,1,s,t.length+1),text:o})}}}}if(h.length>0){this.editor.pushUndoStop();const t=new w9(h,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",t),this.editor.pushUndoStop()}}shouldIgnoreLine(t,i){t.tokenization.forceTokenization(i);const e=t.getLineFirstNonWhitespaceColumn(i);if(0===e)return!0;const s=t.tokenization.getLineTokens(i);if(s.getCount()>0){const t=s.findTokenIndexAtOffset(e);if(t>=0&&1===s.getStandardTokenType(t))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function b9(t,i,e,s){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return;let n="";for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,Xd)],v9);class y9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),b9(t,i,this.tabSize,!0)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}class k9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),b9(t,i,this.tabSize,!1)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}lu(v9.ID,v9,2),cu(l9),cu(u9),cu(f9),cu(p9),cu(g9),cu(m9),cu(class extends su{constructor(){super({id:"editor.action.reindentlines",label:ot(0,"Reindent Lines"),alias:"Reindent Lines",precondition:YC.writable})}run(t,i){const e=t.get(Xd),s=i.getModel();if(!s)return;const n=a9(s,e,1,s.getLineCount());n.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,n),i.pushUndoStop())}}),cu(class extends su{constructor(){super({id:"editor.action.reindentselectedlines",label:ot(0,"Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:YC.writable})}run(t,i){const e=t.get(Xd),s=i.getModel();if(!s)return;const n=i.getSelections();if(null===n)return;const o=[];for(const t of n){let i=t.startLineNumber,n=t.endLineNumber;if(i!==n&&1===t.endColumn&&n--,1===i){if(i===n)continue}else i--;const r=a9(s,e,i,n);o.push(...r)}o.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop())}});class x9{constructor(t,i){this.range=t,this.direction=i}}class C9{constructor(t,i,e){this.hint=t,this.anchor=i,this.provider=e,this._isResolved=!1}with(t){const i=new C9(this.hint,t.anchor,this.provider);return i._isResolved=this._isResolved,i._currentResolve=this._currentResolve,i}async resolve(t){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,t.isCancellationRequested)return;return this.resolve(t)}this._isResolved||(this._currentResolve=this._doResolve(t).finally((()=>this._currentResolve=void 0))),await this._currentResolve}}async _doResolve(t){var i,e;try{const s=await Promise.resolve(this.provider.resolveInlayHint(this.hint,t));this.hint.tooltip=null!==(i=null==s?void 0:s.tooltip)&&void 0!==i?i:this.hint.tooltip,this.hint.label=null!==(e=null==s?void 0:s.label)&&void 0!==e?e:this.hint.label,this._isResolved=!0}catch(t){Pi(t),this._isResolved=!1}}}class S9{static async create(t,i,e,s){const n=[],o=t.ordered(i).reverse().map((t=>e.map((async e=>{try{const o=await t.provideInlayHints(i,e,s);(null==o?void 0:o.hints.length)&&n.push([o,t])}catch(t){Pi(t)}}))));if(await Promise.all(o.flat()),s.isCancellationRequested||i.isDisposed())throw new zi;return new S9(e,n,i)}constructor(t,i,e){this._disposables=new Xi,this.ranges=t,this.provider=new Set;const s=[];for(const[t,n]of i){this._disposables.add(t),this.provider.add(n);for(const i of t.hints){const t=e.validatePosition(i.position);let o="before";const r=S9._getRangeAtPosition(e,t);let h;r.getStartPosition().isBefore(t)?(h=Ms.fromPositions(r.getStartPosition(),t),o="after"):(h=Ms.fromPositions(t,r.getEndPosition()),o="before"),s.push(new C9(i,new x9(h,o),n))}}this.items=s.sort(((t,i)=>As.compare(t.hint.position,i.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(t,i){const e=i.lineNumber,s=t.getWordAtPosition(i);if(s)return new Ms(e,s.startColumn,e,s.endColumn);t.tokenization.tokenizeIfCheap(e);const n=t.tokenization.getLineTokens(e),o=i.column-1,r=n.findTokenIndexAtOffset(o);let h=n.getStartOffset(r),c=n.getEndOffset(r);return c-h==1&&(h===o&&r>1?(h=n.getStartOffset(r-1),c=n.getEndOffset(r-1)):c===o&&rTh(t)?t.command.id:l1())));for(const t of oX.all())d.has(t.desc.id)&&u.push(new mr(t.desc.id,Bh.label(t.desc,{renderShortTitle:!0}),void 0,!0,(async()=>{const e=await o.createModelReference(l.uri);try{const n=new nX(e.object.textEditorModel,Ms.getStartPosition(l.range)),o=s.item.anchor.range;await c.invokeFunction(t.runEditorCommand.bind(t),i,n,o)}finally{e.dispose()}})));if(s.part.command){const{command:t}=s.part;u.push(new vr),u.push(new mr(t.id,t.title,void 0,!0,(async()=>{var i;try{await h.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}catch(t){a.notify({severity:nT.Error,source:s.item.provider.displayName,message:t})}})))}const f=i.getOption(126);r.showContextMenu({domForShadowRoot:f&&null!==(n=i.getDomNode())&&void 0!==n?n:void 0,getAnchor:()=>{const t=nl(e);return{x:t.left,y:t.top+t.height+8}},getActions:()=>u,onHide:()=>{i.focus()},autoSelectFirstItem:!0})}async function E9(t,i,e,s){const n=t.get(gr),o=await n.createModelReference(s.uri);await e.invokeWithinContext((async t=>{const n=i.hasSideBySideModifier,r=t.get(ah),h=iY.inPeekEditor.getValue(r),c=!n&&e.getOption(87)&&!h;return new rX({openToSide:n,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t,new nX(o.object.textEditorModel,Ms.getStartPosition(s.range)),Ms.lift(s.range))})),o.dispose()}var A9,M9=function(t,i){return function(e,s){i(e,s,t)}};class L9{constructor(){this._entries=new Vp(50)}get(t){const i=L9._key(t);return this._entries.get(i)}set(t,i){const e=L9._key(t);this._entries.set(e,i)}static _key(t){return`${t.uri.toString()}/${t.getVersionId()}`}}const F9=dr("IInlayHintsCache");Cd(F9,L9,1);class T9{constructor(t,i){this.item=t,this.index=i}get part(){const t=this.item.hint.label;return"string"==typeof t?{label:t}:t[this.index]}}class R9{constructor(t,i){this.part=t,this.hasTriggerModifier=i}}let O9=A9=class{static get(t){var i;return null!==(i=t.getContribution(A9.ID))&&void 0!==i?i:void 0}constructor(t,i,e,s,n,o,r){this._editor=t,this._languageFeaturesService=i,this._inlayHintsCache=s,this._commandService=n,this._notificationService=o,this._instaService=r,this._disposables=new Xi,this._sessionDisposables=new Xi,this._decorationsMetadata=new Map,this._ruleFactory=new Ay(this._editor),this._activeRenderMode=0,this._debounceInfo=e.for(i.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(i.inlayHintsProvider.onDidChange((()=>this._update()))),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(139)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const t=this._editor.getOption(139);if("off"===t.enabled)return;const i=this._editor.getModel();if(!i||!this._languageFeaturesService.inlayHintsProvider.has(i))return;const e=this._inlayHintsCache.get(i);let s;e&&this._updateHintsDecorators([i.getFullModelRange()],e),this._sessionDisposables.add(Yi((()=>{i.isDisposed()||this._cacheHintsForFastRestore(i)})));const n=new Set,o=new pc((async()=>{const t=Date.now();null==s||s.dispose(!0),s=new Ce;const e=i.onWillDispose((()=>null==s?void 0:s.cancel()));try{const e=s.token,r=await S9.create(this._languageFeaturesService.inlayHintsProvider,i,this._getHintsRanges(),e);if(o.delay=this._debounceInfo.update(i,Date.now()-t),e.isCancellationRequested)return void r.dispose();for(const t of r.provider)"function"!=typeof t.onDidChangeInlayHints||n.has(t)||(n.add(t),this._sessionDisposables.add(t.onDidChangeInlayHints((()=>{o.isScheduled()||o.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(i)}catch(t){Bi(t)}finally{s.dispose(),e.dispose()}}),this._debounceInfo.get(i));if(this._sessionDisposables.add(o),this._sessionDisposables.add(Yi((()=>null==s?void 0:s.dispose(!0)))),o.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((t=>{!t.scrollTopChanged&&o.isScheduled()||o.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((()=>{const t=Math.max(o.delay,1250);o.schedule(t)}))),"on"===t.enabled)this._activeRenderMode=0;else{let i,e;"onUnlessPressed"===t.enabled?(i=0,e=1):(i=1,e=0),this._activeRenderMode=i,this._sessionDisposables.add(Gl.getInstance().event((t=>{if(!this._editor.hasModel())return;const s=t.altKey&&t.ctrlKey&&!t.shiftKey&&!t.metaKey?e:i;if(s!==this._activeRenderMode){this._activeRenderMode=s;const t=this._editor.getModel(),i=this._copyInlayHintsWithCurrentAnchor(t);this._updateHintsDecorators([t.getFullModelRange()],i),o.schedule(0)}})))}this._sessionDisposables.add(this._installDblClickGesture((()=>o.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const t=new Xi,i=t.add(new HJ(this._editor)),e=new Xi;return t.add(e),t.add(i.onMouseMoveOrRelevantKeyDown((t=>{const[i]=t,s=this._getInlayHintLabelPart(i),n=this._editor.getModel();if(!s||!n)return void e.clear();const o=new Ce;e.add(Yi((()=>o.dispose(!0)))),s.item.resolve(o.token),this._activeInlayHintPart=s.part.command||s.part.location?new R9(s,i.hasTriggerModifier):void 0;const r=n.validatePosition(s.item.hint.position).lineNumber,h=new Ms(r,1,r,n.getLineMaxColumn(r)),c=this._getInlineHintsForRange(h);this._updateHintsDecorators([h],c),e.add(Yi((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([h],c)})))}))),t.add(i.onCancel((()=>e.clear()))),t.add(i.onExecute((async t=>{const i=this._getInlayHintLabelPart(t);if(i){const e=i.part;e.location?this._instaService.invokeFunction(E9,t,this._editor,e.location):Us.is(e.command)&&await this._invokeCommand(e.command,i.item)}}))),t}_getInlineHintsForRange(t){const i=new Set;for(const e of this._decorationsMetadata.values())t.containsRange(e.item.anchor.range)&&i.add(e.item);return Array.from(i)}_installDblClickGesture(t){return this._editor.onMouseUp((async i=>{if(2!==i.event.detail)return;const e=this._getInlayHintLabelPart(i);if(e&&(i.event.preventDefault(),await e.item.resolve(ke.None),b(e.item.hint.textEdits))){const i=e.item.hint.textEdits.map((t=>pO.replace(Ms.lift(t.range),t.text)));this._editor.executeEdits("inlayHint.default",i),t()}}))}_installContextMenu(){return this._editor.onContextMenu((async t=>{if(!(t.event.target instanceof HTMLElement))return;const i=this._getInlayHintLabelPart(t);i&&await this._instaService.invokeFunction(D9,this._editor,t.event.target,i)}))}_getInlayHintLabelPart(t){var i;if(6!==t.target.type)return;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof EL&&(null==e?void 0:e.attachedData)instanceof T9?e.attachedData:void 0}async _invokeCommand(t,i){var e;try{await this._commandService.executeCommand(t.id,...null!==(e=t.arguments)&&void 0!==e?e:[])}catch(t){this._notificationService.notify({severity:nT.Error,source:i.provider.displayName,message:t})}}_cacheHintsForFastRestore(t){const i=this._copyInlayHintsWithCurrentAnchor(t);this._inlayHintsCache.set(t,i)}_copyInlayHintsWithCurrentAnchor(t){const i=new Map;for(const[e,s]of this._decorationsMetadata){if(i.has(s.item))continue;const n=t.getDecorationRange(e);if(n){const t=new x9(n,s.item.anchor.direction),e=s.item.with({anchor:t});i.set(s.item,e)}}return Array.from(i.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),e=[];for(const s of i.sort(Ms.compareRangesUsingStarts)){const i=t.validateRange(new Ms(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));0!==e.length&&Ms.areIntersectingOrTouching(e[e.length-1],i)?e[e.length-1]=Ms.plusRange(e[e.length-1],i):e.push(i)}return e}_updateHintsDecorators(t,i){var e,s;const n=[],o=(t,i,e,s,o)=>{const r={content:e,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:i.className,cursorStops:s,attachedData:o};n.push({item:t,classNameRef:i,decoration:{range:t.anchor.range,options:{description:"InlayHint",showIfCollapsed:t.anchor.range.isEmpty(),collapseOnReplaceEdit:!t.anchor.range.isEmpty(),stickiness:0,[t.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},r=(t,i)=>{const e=this._ruleFactory.createClassNameRef({width:(h/3|0)+"px",display:"inline-block"});o(t,e," ",i?Pf.Right:Pf.None)},{fontSize:h,fontFamily:c,padding:a,isUniform:l}=this._getLayoutInfo(),u="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(u,c);for(const t of i){t.hint.paddingLeft&&r(t,!1);const i="string"==typeof t.hint.label?[{label:t.hint.label}]:t.hint.label;for(let s=0;sA9._MAX_DECORATORS)break}const d=[];for(const i of t)for(const{id:t}of null!==(s=this._editor.getDecorationsInRange(i))&&void 0!==s?s:[]){const i=this._decorationsMetadata.get(t);i&&(d.push(t),i.classNameRef.dispose(),this._decorationsMetadata.delete(t))}const f=iU.capture(this._editor);this._editor.changeDecorations((t=>{const i=t.deltaDecorations(d,n.map((t=>t.decoration)));for(let t=0;te)&&(n=e);const o=t.fontFamily||s;return{fontSize:n,fontFamily:o,padding:i,isUniform:!i&&o===s&&n===e}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const t of this._decorationsMetadata.values())t.classNameRef.dispose();this._decorationsMetadata.clear()}};O9.ID="editor.contrib.InlayHints",O9._MAX_DECORATORS=1500,O9=A9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([M9(1,xg),M9(2,gR),M9(3,F9),M9(4,Sr),M9(5,oT),M9(6,ur)],O9),Dr.registerCommand("_executeInlayHintProvider",(async(t,...i)=>{const[e,s]=i;q(ms.isUri(e)),q(Ms.isIRange(s));const{inlayHintsProvider:n}=t.get(xg),o=await t.get(gr).createModelReference(e);try{const t=await S9.create(n,o.object.textEditorModel,[Ms.lift(s)],ke.None),i=t.items.map((t=>t.hint));return setTimeout((()=>t.dispose()),0),i}finally{o.dispose()}}));var I9=function(t,i){return function(e,s){i(e,s,t)}};class _9 extends kX{constructor(t,i,e,s){super(10,i,t.item.anchor.range,e,s,!0),this.part=t}}let N9=class extends qX{constructor(t,i,e,s,n,o){super(t,i,e,s,o),this._resolverService=n,this.hoverOrdinal=6}suggestHoverAnchor(t){var i;if(!O9.get(this._editor))return null;if(6!==t.target.type)return null;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof EL&&e.attachedData instanceof T9?new _9(e.attachedData,this,t.event.posx,t.event.posy):null}computeSync(){return[]}computeAsync(t,i,e){return t instanceof _9?new kc((async i=>{const{part:s}=t;if(await s.item.resolve(e),e.isCancellationRequested)return;let n,o;if("string"==typeof s.item.hint.tooltip?n=(new N_).appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(n=s.item.hint.tooltip),n&&i.emitOne(new UX(this,t.range,[n],!1,0)),b(s.item.hint.textEdits)&&i.emitOne(new UX(this,t.range,[(new N_).appendText(ot(0,"Double-click to insert"))],!1,10001)),"string"==typeof s.part.tooltip?o=(new N_).appendText(s.part.tooltip):s.part.tooltip&&(o=s.part.tooltip),o&&i.emitOne(new UX(this,t.range,[o],!1,1)),s.part.location||s.part.command){let e;const n=ot(0,"altKey"===this._editor.getOption(77)?Ct?"cmd + click":"ctrl + click":Ct?"option + click":"alt + click");s.part.location&&s.part.command?e=(new N_).appendText(ot(0,"Go to Definition ({0}), right click for more",n)):s.part.location?e=(new N_).appendText(ot(0,"Go to Definition ({0})",n)):s.part.command&&(e=new N_(`[${ot(0,"Execute Command")}](${r=s.part.command,ms.from({scheme:ka.command,path:r.id,query:r.arguments&&encodeURIComponent(JSON.stringify(r.arguments))}).toString()} "${s.part.command.title}") (${n})`,{isTrusted:!0})),e&&i.emitOne(new UX(this,t.range,[e],!1,1e4))}var r;const h=await this._resolveInlayHintLabelPartHover(s,e);for await(const t of h)i.emitOne(t)})):kc.EMPTY}async _resolveInlayHintLabelPartHover(t,i){if(!t.part.location)return kc.EMPTY;const{uri:e,range:s}=t.part.location,n=await this._resolverService.createModelReference(e);try{const e=n.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(e)?zX(this._languageFeaturesService.hoverProvider,e,new As(s.startLineNumber,s.startColumn),i).filter((t=>!B_(t.hover.contents))).map((i=>new UX(this,t.item.anchor.range,i.hover.contents,!1,2+i.ordinal))):kc.EMPTY}finally{n.dispose()}}};N9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([I9(1,yd),I9(2,dP),I9(3,pd),I9(4,gr),I9(5,xg)],N9),lu(O9.ID,O9,1),xX.register(N9);class B9{constructor(t,i,e){this._editRange=t,this._originalSelection=i,this._text=e}getEditOperations(t,i){i.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(t,i){const e=i.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Ls(e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn),e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn)):new Ls(e.endLineNumber,e.endColumn-this._text.length,e.endLineNumber,e.endColumn)}}var P9;let $9=P9=class{static get(t){return t.getContribution(P9.ID)}constructor(t,i){this.editor=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(t,i){var e;null===(e=this.currentRequest)||void 0===e||e.cancel();const s=this.editor.getSelection(),n=this.editor.getModel();if(!n||!s)return;let o=s;if(o.startLineNumber!==o.endLineNumber)return;const r=new xK(this.editor,5),h=n.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=nc((()=>this.editorWorkerService.navigateValueSet(h,o,i))),this.currentRequest.then((i=>{var e;if(!i||!i.range||!i.value)return;if(!r.validate(this.editor))return;const s=Ms.lift(i.range);let n=i.range;const h=i.value.length-(o.endColumn-o.startColumn);n={startLineNumber:n.startLineNumber,startColumn:n.startColumn,endLineNumber:n.endLineNumber,endColumn:n.startColumn+i.value.length},h>1&&(o=new Ls(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+h-1));const c=new B9(s,o,i.value);this.editor.pushUndoStop(),this.editor.executeCommand(t,c),this.editor.pushUndoStop(),this.decorations.set([{range:n,options:P9.DECORATION}]),null===(e=this.decorationRemover)||void 0===e||e.cancel(),this.decorationRemover=ac(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(Bi)})).catch(Bi)):Promise.resolve(void 0)}};$9.ID="editor.contrib.inPlaceReplaceController",$9.DECORATION=AL.register({description:"in-place-replace",className:"valueSetReplacement"}),$9=P9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,vP)],$9),lu($9.ID,$9,4),cu(class extends su{constructor(){super({id:"editor.action.inPlaceReplace.up",label:ot(0,"Replace with Previous Value"),alias:"Replace with Previous Value",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:3159,weight:100}})}run(t,i){const e=$9.get(i);return e?e.run(this.id,!1):Promise.resolve(void 0)}}),cu(class extends su{constructor(){super({id:"editor.action.inPlaceReplace.down",label:ot(0,"Replace with Next Value"),alias:"Replace with Next Value",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:3161,weight:100}})}run(t,i){const e=$9.get(i);return e?e.run(this.id,!0):Promise.resolve(void 0)}}),cu(class extends su{constructor(){super({id:"expandLineSelection",label:ot(0,"Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:YC.textInputFocus,primary:2090}})}run(t,i,e){if(e=e||{},!i.hasModel())return;const s=i._getViewModel();s.model.pushStackElement(),s.setCursorStates(e.source,3,OC.expandLineSelection(s,s.getCursorStates())),s.revealPrimaryCursor(e.source,!0)}});class W9{constructor(t,i){this._selection=t,this._cursors=i,this._selectionId=null}getEditOperations(t,i){const e=function(t,i){i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.column-i.column:t.lineNumber-i.lineNumber));for(let t=i.length-2;t>=0;t--)i[t].lineNumber===i[t+1].lineNumber&&i.splice(t,1);const e=[];let s=0,n=0;const o=i.length;for(let r=1,h=t.getLineCount();r<=h;r++){const h=t.getLineContent(r),c=h.length+1;let a=0;if(nt.tokenization.getLineTokens(i),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(i,e)=>t.getLanguageIdAtPosition(i,e)},getLineContent:null};if(s.startLineNumber===s.endLineNumber&&1===t.getLineMaxColumn(s.startLineNumber)){const e=s.startLineNumber,n=this._isMovingDown?e+1:e-1;1===t.getLineMaxColumn(n)?i.addEditOperation(new Ms(1,1,1,1),null):(i.addEditOperation(new Ms(e,1,e,1),t.getLineContent(n)),i.addEditOperation(new Ms(n,1,n,t.getLineMaxColumn(n)),null)),s=new Ls(n,1,n,1)}else{let e,o;if(this._isMovingDown){e=s.endLineNumber+1,o=t.getLineContent(e),i.addEditOperation(new Ms(e-1,t.getLineMaxColumn(e-1),e,t.getLineMaxColumn(e)),null);let a=o;if(this.shouldAutoIndent(t,s)){const l=this.matchEnterRule(t,h,n,e,s.startLineNumber-1);if(null!==l){const i=c9(l+h9(io(t.getLineContent(e)),n),n,r);a=i+this.trimStart(o)}else{c.getLineContent=i=>t.getLineContent(i===s.startLineNumber?e:i);const i=HC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber,h,this._languageConfigurationService);if(null!==i){const s=io(t.getLineContent(e)),h=h9(i,n);if(h!==h9(s,n)){const t=c9(h,n,r);a=t+this.trimStart(o)}}}i.addEditOperation(new Ms(s.startLineNumber,1,s.startLineNumber,1),a+"\n");const u=this.matchEnterRuleMovingDown(t,h,n,s.startLineNumber,e,a);if(null!==u)0!==u&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,u);else{c.getLineContent=i=>i===s.startLineNumber?a:t.getLineContent(i>=s.startLineNumber+1&&i<=s.endLineNumber+1?i-1:i);const o=HC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber+1,h,this._languageConfigurationService);if(null!==o){const e=io(t.getLineContent(s.startLineNumber)),h=h9(o,n),c=h9(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}else i.addEditOperation(new Ms(s.startLineNumber,1,s.startLineNumber,1),a+"\n")}else if(e=s.startLineNumber-1,o=t.getLineContent(e),i.addEditOperation(new Ms(e,1,e+1,1),null),i.addEditOperation(new Ms(s.endLineNumber,t.getLineMaxColumn(s.endLineNumber),s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),"\n"+o),this.shouldAutoIndent(t,s)){c.getLineContent=i=>t.getLineContent(i===e?s.startLineNumber:i);const o=this.matchEnterRule(t,h,n,s.startLineNumber,s.startLineNumber-2);if(null!==o)0!==o&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,o);else{const o=HC(this._autoIndent,c,t.getLanguageIdAtPosition(s.startLineNumber,1),e,h,this._languageConfigurationService);if(null!==o){const e=io(t.getLineContent(s.startLineNumber)),h=h9(o,n),c=h9(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}}this._selectionId=i.trackSelection(s)}buildIndentConverter(t,i,e){return{shiftIndent:s=>$C.shiftIndent(s,s.length+1,t,i,e),unshiftIndent:s=>$C.unshiftIndent(s,s.length+1,t,i,e)}}parseEnterResult(t,i,e,s,n){if(n){let o=n.indentation;n.indentAction===Ru.None||n.indentAction===Ru.Indent?o=n.indentation+n.appendText:n.indentAction===Ru.IndentOutdent?o=n.indentation:n.indentAction===Ru.Outdent&&(o=i.unshiftIndent(n.indentation)+n.appendText);const r=t.getLineContent(s);if(this.trimStart(r).indexOf(this.trimStart(o))>=0){const n=io(t.getLineContent(s));let r=io(o);const h=VC(t,s,this._languageConfigurationService);return null!==h&&2&h&&(r=i.unshiftIndent(r)),h9(r,e)-h9(n,e)}}return null}matchEnterRuleMovingDown(t,i,e,s,n,o){if(eo(o)>=0){const o=t.getLineMaxColumn(n),r=_C(this._autoIndent,t,new Ms(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}{let n=s-1;for(;n>=1&&!(eo(t.getLineContent(n))>=0);)n--;if(n<1||s>t.getLineCount())return null;const o=t.getLineMaxColumn(n),r=_C(this._autoIndent,t,new Ms(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}}matchEnterRule(t,i,e,s,n,o){let r=n;for(;r>=1;){let i;if(i=r===n&&void 0!==o?o:t.getLineContent(r),eo(i)>=0)break;r--}if(r<1||s>t.getLineCount())return null;const h=t.getLineMaxColumn(r),c=_C(this._autoIndent,t,new Ms(r,h,r,h),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,c)}trimStart(t){return t.replace(/^\s+/,"")}shouldAutoIndent(t,i){if(this._autoIndent<4)return!1;if(!t.tokenization.isCheapToTokenize(i.startLineNumber))return!1;const e=t.getLanguageIdAtPosition(i.startLineNumber,1);return e===t.getLanguageIdAtPosition(i.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(e).indentRulesSupport}getIndentEditsOfMovingBlock(t,i,e,s,n,o){for(let r=e.startLineNumber;r<=e.endLineNumber;r++){const h=io(t.getLineContent(r)),c=c9(h9(h,s)+o,s,n);c!==h&&(i.addEditOperation(new Ms(r,1,r,h.length+1),c),r===e.endLineNumber&&e.endColumn<=h.length+1&&""===c&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(t,i){let e=i.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(e=e.setEndPosition(e.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&e.startLineNumber=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,Xd)],z9);class H9{static getCollator(){return H9._COLLATOR||(H9._COLLATOR=new Intl.Collator),H9._COLLATOR}constructor(t,i){this.selection=t,this.descending=i,this.selectionId=null}getEditOperations(t,i){const e=function(t,i,e){const s=V9(t,i,e);return s?pO.replace(new Ms(s.startLineNumber,1,s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),s.after.join("\n")):null}(t,this.selection,this.descending);e&&i.addEditOperation(e.range,e.text),this.selectionId=i.trackSelection(this.selection)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}static canRun(t,i,e){if(null===t)return!1;const s=V9(t,i,e);if(!s)return!1;for(let t=0,i=s.before.length;t=n)return null;const o=[];for(let i=s;i<=n;i++)o.push(t.getLineContent(i));let r=o.slice(0);return r.sort(H9.getCollator().compare),!0===e&&(r=r.reverse()),{startLineNumber:s,endLineNumber:n,before:o,after:r}}H9._COLLATOR=null;class U9 extends su{constructor(t,i){super(i),this.down=t}run(t,i){if(!i.hasModel())return;const e=i.getSelections().map(((t,i)=>({selection:t,index:i,ignore:!1})));e.sort(((t,i)=>Ms.compareRangesUsingStarts(t.selection,i.selection)));let s=e[0];for(let t=1;tnew As(t.positionLineNumber,t.positionColumn))));const n=i.getSelection();if(null===n)return;const o=new W9(n,s);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop()}}G9.ID="editor.action.trimTrailingWhitespace";class Z9 extends su{run(t,i){if(!i.hasModel())return;const e=i.getSelection(),s=this._getRangesToDelete(i),n=[];for(let t=0,i=s.length-1;tpO.replace(t,"")));i.pushUndoStop(),i.executeEdits(this.id,r,o),i.pushUndoStop()}}class Q9 extends su{run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=i.getOption(129),o=[];for(const t of e)if(t.isEmpty()){const e=t.getStartPosition(),r=i.getConfiguredWordAtPosition(e);if(!r)continue;const h=new Ms(e.lineNumber,r.startColumn,e.lineNumber,r.endColumn),c=s.getValueInRange(h);o.push(pO.replace(h,this._modifyText(c,n)))}else{const i=s.getValueInRange(t);o.push(pO.replace(t,this._modifyText(i,n)))}i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop()}}class J9{constructor(t,i){this._pattern=t,this._flags=i,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(t){}}return this._actual}isSupported(){return null!==this.get()}}class Y9 extends Q9{constructor(){super({id:"editor.action.transformToTitlecase",label:ot(0,"Transform to Title Case"),alias:"Transform to Title Case",precondition:YC.writable})}_modifyText(t,i){const e=Y9.titleBoundary.get();return e?t.toLocaleLowerCase().replace(e,(t=>t.toLocaleUpperCase())):t}}Y9.titleBoundary=new J9("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class X9 extends Q9{constructor(){super({id:"editor.action.transformToSnakecase",label:ot(0,"Transform to Snake Case"),alias:"Transform to Snake Case",precondition:YC.writable})}_modifyText(t,i){const e=X9.caseBoundary.get(),s=X9.singleLetters.get();return e&&s?t.replace(e,"$1_$2").replace(s,"$1_$2$3").toLocaleLowerCase():t}}X9.caseBoundary=new J9("(\\p{Ll})(\\p{Lu})","gmu"),X9.singleLetters=new J9("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class t7 extends Q9{constructor(){super({id:"editor.action.transformToCamelcase",label:ot(0,"Transform to Camel Case"),alias:"Transform to Camel Case",precondition:YC.writable})}_modifyText(t,i){const e=t7.wordBoundary.get();if(!e)return t;const s=t.split(e);return s.shift()+s.map((t=>t.substring(0,1).toLocaleUpperCase()+t.substring(1))).join("")}}t7.wordBoundary=new J9("[_\\s-]","gm");class i7 extends Q9{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((t=>t.isSupported()))}constructor(){super({id:"editor.action.transformToKebabcase",label:ot(0,"Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:YC.writable})}_modifyText(t,i){const e=i7.caseBoundary.get(),s=i7.singleLetters.get(),n=i7.underscoreBoundary.get();return e&&s&&n?t.replace(n,"$1-$3").replace(e,"$1-$2").replace(s,"$1-$2").toLocaleLowerCase():t}}i7.caseBoundary=new J9("(\\p{Ll})(\\p{Lu})","gmu"),i7.singleLetters=new J9("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),i7.underscoreBoundary=new J9("(\\S)(_)(\\S)","gm"),cu(class extends U9{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:ot(0,"Copy Line Up"),alias:"Copy Line Up",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:ot(0,"&&Copy Line Up"),order:1}})}}),cu(class extends U9{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:ot(0,"Copy Line Down"),alias:"Copy Line Down",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:ot(0,"Co&&py Line Down"),order:2}})}}),cu(class extends su{constructor(){super({id:"editor.action.duplicateSelection",label:ot(0,"Duplicate Selection"),alias:"Duplicate Selection",precondition:YC.writable,menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:ot(0,"&&Duplicate Selection"),order:5}})}run(t,i,e){if(!i.hasModel())return;const s=[],n=i.getSelections(),o=i.getModel();for(const t of n)if(t.isEmpty())s.push(new j9(t,!0));else{const i=new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn);s.push(new CC(i,o.getValueInRange(t)))}i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop()}}),cu(class extends q9{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:ot(0,"Move Line Up"),alias:"Move Line Up",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:ot(0,"Mo&&ve Line Up"),order:3}})}}),cu(class extends q9{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:ot(0,"Move Line Down"),alias:"Move Line Down",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:ot(0,"Move &&Line Down"),order:4}})}}),cu(class extends K9{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:ot(0,"Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:YC.writable})}}),cu(class extends K9{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:ot(0,"Sort Lines Descending"),alias:"Sort Lines Descending",precondition:YC.writable})}}),cu(class extends su{constructor(){super({id:"editor.action.removeDuplicateLines",label:ot(0,"Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:YC.writable})}run(t,i){if(!i.hasModel())return;const e=i.getModel();if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;const s=[],n=[];let o=0;for(const t of i.getSelections()){const i=new Set,r=[];for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const t=e.getLineContent(s);i.has(t)||(r.push(t),i.add(t))}const h=new Ls(t.startLineNumber,1,t.endLineNumber,e.getLineMaxColumn(t.endLineNumber)),c=t.startLineNumber-o,a=new Ls(c,1,c+r.length-1,r[r.length-1].length);s.push(pO.replace(h,r.join("\n"))),n.push(a),o+=t.endLineNumber-t.startLineNumber+1-r.length}i.pushUndoStop(),i.executeEdits(this.id,s,n),i.pushUndoStop()}}),cu(G9),cu(class extends su{constructor(){super({id:"editor.action.deleteLines",label:ot(0,"Delete Line"),alias:"Delete Line",precondition:YC.writable,kbOpts:{kbExpr:YC.textInputFocus,primary:3113,weight:100}})}run(t,i){if(!i.hasModel())return;const e=this._getLinesToRemove(i),s=i.getModel();if(1===s.getLineCount()&&1===s.getLineMaxColumn(1))return;let n=0;const o=[],r=[];for(let t=0,i=e.length;t1&&(h-=1,a=s.getLineMaxColumn(h)),o.push(pO.replace(new Ls(h,a,c,l),"")),r.push(new Ls(h-n,i.positionColumn,h-n,i.positionColumn)),n+=i.endLineNumber-i.startLineNumber+1}i.pushUndoStop(),i.executeEdits(this.id,o,r),i.pushUndoStop()}_getLinesToRemove(t){const i=t.getSelections().map((t=>{let i=t.endLineNumber;return t.startLineNumbert.startLineNumber===i.startLineNumber?t.endLineNumber-i.endLineNumber:t.startLineNumber-i.startLineNumber));const e=[];let s=i[0];for(let t=1;t=i[t].startLineNumber?s.endLineNumber=i[t].endLineNumber:(e.push(s),s=i[t]);return e.push(s),e}}),cu(class extends su{constructor(){super({id:"editor.action.indentLines",label:ot(0,"Indent Line"),alias:"Indent Line",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:2142,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,UC.indent(e.cursorConfig,i.getModel(),i.getSelections())),i.pushUndoStop())}}),cu(class extends su{constructor(){super({id:"editor.action.outdentLines",label:ot(0,"Outdent Line"),alias:"Outdent Line",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:2140,weight:100}})}run(t,i){hS.Outdent.runEditorCommand(t,i,null)}}),cu(class extends su{constructor(){super({id:"editor.action.insertLineBefore",label:ot(0,"Insert Line Above"),alias:"Insert Line Above",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:3075,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,UC.lineInsertBefore(e.cursorConfig,i.getModel(),i.getSelections())))}}),cu(class extends su{constructor(){super({id:"editor.action.insertLineAfter",label:ot(0,"Insert Line Below"),alias:"Insert Line Below",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:2051,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,UC.lineInsertAfter(e.cursorConfig,i.getModel(),i.getSelections())))}}),cu(class extends Z9{constructor(){super({id:"deleteAllLeft",label:ot(0,"Delete All Left"),alias:"Delete All Left",precondition:YC.writable,kbOpts:{kbExpr:YC.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];let n=0;return i.forEach((i=>{let o;if(1===i.endColumn&&n>0){const t=i.startLineNumber-n;o=new Ls(t,i.startColumn,t,i.startColumn)}else o=new Ls(i.startLineNumber,i.startColumn,i.startLineNumber,i.startColumn);n+=i.endLineNumber-i.startLineNumber,i.intersectRanges(t)?e=o:s.push(o)})),e&&s.unshift(e),s}_getRangesToDelete(t){const i=t.getSelections();if(null===i)return[];let e=i;const s=t.getModel();return null===s?[]:(e.sort(Ms.compareRangesUsingStarts),e=e.map((t=>{if(t.isEmpty()){if(1===t.startColumn){const i=Math.max(1,t.startLineNumber-1),e=1===t.startLineNumber?1:s.getLineLength(i)+1;return new Ms(i,e,t.startLineNumber,1)}return new Ms(t.startLineNumber,1,t.startLineNumber,t.startColumn)}return new Ms(t.startLineNumber,1,t.endLineNumber,t.endColumn)})),e)}}),cu(class extends Z9{constructor(){super({id:"deleteAllRight",label:ot(0,"Delete All Right"),alias:"Delete All Right",precondition:YC.writable,kbOpts:{kbExpr:YC.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];for(let n=0,o=i.length,r=0;n{if(t.isEmpty()){const e=i.getLineMaxColumn(t.startLineNumber);return t.startColumn===e?new Ms(t.startLineNumber,t.startColumn,t.startLineNumber+1,1):new Ms(t.startLineNumber,t.startColumn,t.startLineNumber,e)}return t}));return s.sort(Ms.compareRangesUsingStarts),s}}),cu(class extends su{constructor(){super({id:"editor.action.joinLines",label:ot(0,"Join Lines"),alias:"Join Lines",precondition:YC.writable,kbOpts:{kbExpr:YC.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(t,i){const e=i.getSelections();if(null===e)return;let s=i.getSelection();if(null===s)return;e.sort(Ms.compareRangesUsingStarts);const n=[],o=e.reduce(((t,i)=>t.isEmpty()?t.endLineNumber===i.startLineNumber?(s.equalsSelection(t)&&(s=i),i):i.startLineNumber>t.endLineNumber+1?(n.push(t),i):new Ls(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn):i.startLineNumber>t.endLineNumber?(n.push(t),i):new Ls(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn)));n.push(o);const r=i.getModel();if(null===r)return;const h=[],c=[];let a=s,l=0;for(let t=0,i=n.length;t=1){let t=!0;""===g&&(t=!1),!t||" "!==g.charAt(g.length-1)&&"\t"!==g.charAt(g.length-1)||(t=!1,g=g.replace(/[\s\uFEFF\xA0]+$/g," "));const s=i.substr(e-1);g+=(t?" ":"")+s,f=t?s.length+1:s.length}else f=0}const m=new Ms(e,o,u,d);if(!m.isEmpty()){let t;i.isEmpty()?(h.push(pO.replace(m,g)),t=new Ls(m.startLineNumber-l,g.length-f+1,e-l,g.length-f+1)):i.startLineNumber===i.endLineNumber?(h.push(pO.replace(m,g)),t=new Ls(i.startLineNumber-l,i.startColumn,i.endLineNumber-l,i.endColumn)):(h.push(pO.replace(m,g)),t=new Ls(i.startLineNumber-l,i.startColumn,i.startLineNumber-l,g.length-p)),null!==Ms.intersectRanges(m,s)?a=t:c.push(t)}l+=m.endLineNumber-m.startLineNumber}c.unshift(a),i.pushUndoStop(),i.executeEdits(this.id,h,c),i.pushUndoStop()}}),cu(class extends su{constructor(){super({id:"editor.action.transpose",label:ot(0,"Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:YC.writable})}run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=[];for(let t=0,i=e.length;t=r){if(o.lineNumber===s.getLineCount())continue;const t=new Ms(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new xC(new Ls(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i))}else{const t=new Ms(o.lineNumber,Math.max(1,o.column-1),o.lineNumber,o.column+1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new EC(t,i,new Ls(o.lineNumber,o.column+1,o.lineNumber,o.column+1)))}}i.pushUndoStop(),i.executeCommands(this.id,n),i.pushUndoStop()}}),cu(class extends Q9{constructor(){super({id:"editor.action.transformToUppercase",label:ot(0,"Transform to Uppercase"),alias:"Transform to Uppercase",precondition:YC.writable})}_modifyText(t,i){return t.toLocaleUpperCase()}}),cu(class extends Q9{constructor(){super({id:"editor.action.transformToLowercase",label:ot(0,"Transform to Lowercase"),alias:"Transform to Lowercase",precondition:YC.writable})}_modifyText(t,i){return t.toLocaleLowerCase()}}),X9.caseBoundary.isSupported()&&X9.singleLetters.isSupported()&&cu(X9),t7.wordBoundary.isSupported()&&cu(t7),Y9.titleBoundary.isSupported()&&cu(Y9),i7.isSupported()&&cu(i7);var e7,s7=function(t,i){return function(e,s){i(e,s,t)}};const n7=new ch("LinkedEditingInputVisible",!1);let o7=e7=class extends te{static get(t){return t.getContribution(e7.ID)}constructor(t,i,e,s,n){super(),this.languageConfigurationService=s,this._syncRangesToken=0,this._localToDispose=this._register(new Xi),this._editor=t,this._providers=e.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=n7.bindTo(i),this._debounceInformation=n.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new Xi),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel((()=>this.reinitialize(!0)))),this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(69)||t.hasChanged(92))&&this.reinitialize(!1)}))),this._register(this._providers.onDidChange((()=>this.reinitialize(!1)))),this._register(this._editor.onDidChangeModelLanguage((()=>this.reinitialize(!0)))),this.reinitialize(!0)}reinitialize(t){const i=this._editor.getModel(),e=null!==i&&(this._editor.getOption(69)||this._editor.getOption(92))&&this._providers.has(i);if(e===this._enabled&&!t)return;if(this._enabled=e,this.clearRanges(),this._localToDispose.clear(),!e||null===i)return;this._localToDispose.add(he.runAndSubscribe(i.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition()})));const s=new hc(this._debounceInformation.get(i)),n=()=>{var t;this._rangeUpdateTriggerPromise=s.trigger((()=>this.updateRanges()),null!==(t=this._debounceDuration)&&void 0!==t?t:this._debounceInformation.get(i))},o=new hc(0),r=t=>{this._rangeSyncTriggerPromise=o.trigger((()=>this._syncRanges(t)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{n()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((t=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const i=this._currentDecorations.getRange(0);if(i&&t.changes.every((t=>i.intersectRanges(t.range))))return void r(this._syncRangesToken)}n()}))),this._localToDispose.add({dispose:()=>{s.dispose(),o.dispose()}}),this.updateRanges()}_syncRanges(t){if(!this._editor.hasModel()||t!==this._syncRangesToken||0===this._currentDecorations.length)return;const i=this._editor.getModel(),e=this._currentDecorations.getRange(0);if(!e||e.startLineNumber!==e.endLineNumber)return this.clearRanges();const s=i.getValueInRange(e);if(this._currentWordPattern){const t=s.match(this._currentWordPattern);if((t?t[0].length:0)!==s.length)return this.clearRanges()}const n=[];for(let t=1,e=this._currentDecorations.length;t1)return void this.clearRanges();const e=this._editor.getModel(),s=e.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===s){if(i.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&t.containsPosition(i))return}}this.clearRanges(),this._currentRequestPosition=i,this._currentRequestModelVersion=s;const n=nc((async t=>{try{const o=new re(!1),r=await r7(this._providers,e,i,t);if(this._debounceInformation.update(e,o.elapsed()),n!==this._currentRequest)return;if(this._currentRequest=null,s!==e.getVersionId())return;let h=[];(null==r?void 0:r.ranges)&&(h=r.ranges),this._currentWordPattern=(null==r?void 0:r.wordPattern)||this._languageWordPattern;let c=!1;for(let t=0,e=h.length;t({range:t,options:e7.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(a),this._syncRangesToken++}catch(t){ji(t)||Bi(t),this._currentRequest!==n&&this._currentRequest||this.clearRanges()}}));return this._currentRequest=n,n}};function r7(t,i,e,s){return uc(t.ordered(i).map((t=>async()=>{try{return await t.provideLinkedEditingRanges(i,e,s)}catch(t){return void Pi(t)}})),(t=>!!t&&b(null==t?void 0:t.ranges)))}o7.ID="editor.contrib.linkedEditing",o7.DECORATION=AL.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"}),o7=e7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([s7(1,ah),s7(2,xg),s7(3,Xd),s7(4,gR)],o7),hu(new(eu.bindToContribution(o7.get))({id:"cancelLinkedEditingInput",precondition:n7,handler:t=>t.clearRanges(),kbOpts:{kbExpr:YC.editorTextFocus,weight:199,primary:9,secondary:[1033]}})),dw("editor.linkedEditingBackground",{dark:lg.fromHex("#f00").transparent(.3),light:lg.fromHex("#f00").transparent(.3),hcDark:lg.fromHex("#f00").transparent(.3),hcLight:lg.white},ot(0,"Background color when the editor auto renames on type.")),ru("_executeLinkedEditingProvider",((t,i,e)=>{const{linkedEditingRangeProvider:s}=t.get(xg);return r7(s,i,e,ke.None)})),lu(o7.ID,o7,1),cu(class extends su{constructor(){super({id:"editor.action.linkedEditing",label:ot(0,"Start Linked Editing"),alias:"Start Linked Editing",precondition:zr.and(YC.writable,YC.hasRenameProvider),kbOpts:{kbExpr:YC.editorTextFocus,primary:3132,weight:100}})}runCommand(t,i){const e=t.get(fr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ms.isUri(s)&&As.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Bi):super.runCommand(t,i)}run(t,i){const e=o7.get(i);return e?Promise.resolve(e.updateRanges(!0)):Promise.resolve()}});class h7{constructor(t,i){this._link=t,this._provider=i}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(t){return this._link.url?this._link.url:"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,t)).then((i=>(this._link=i||this._link,this._link.url?this.resolve(t):Promise.reject(new Error("missing"))))):Promise.reject(new Error("missing"))}}class c7{constructor(t){this._disposables=new Xi;let i=[];for(const[e,s]of t){const t=e.links.map((t=>new h7(t,s)));i=c7._union(i,t),Zi(e)&&this._disposables.add(e)}this.links=i}dispose(){this._disposables.dispose(),this.links.length=0}static _union(t,i){const e=[];let s,n,o,r;for(s=0,o=0,n=t.length,r=i.length;sPromise.resolve(t.provideLinks(i,e)).then((i=>{i&&(s[n]=[i,t])}),Pi)));return Promise.all(n).then((()=>{const t=new c7(m(s));return e.isCancellationRequested?(t.dispose(),new c7([])):t}))}Dr.registerCommand("_executeLinkProvider",(async(t,...i)=>{let[e,s]=i;q(e instanceof ms),"number"!=typeof s&&(s=0);const{linkProvider:n}=t.get(xg),o=t.get(pr).getModel(e);if(!o)return[];const r=await a7(n,o,ke.None);if(!r)return[];for(let t=0;tthis.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const o=this._register(new HJ(t));this._register(o.onMouseMoveOrRelevantKeyDown((([t,i])=>{this._onEditorMouseMove(t,i)}))),this._register(o.onExecute((t=>{this.onEditorMouseUp(t)}))),this._register(o.onCancel((()=>{this.cleanUpActiveLinkDecoration()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(70)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(t.onDidChangeModelContent((()=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(t.onDidChangeModel((()=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(t.onDidChangeModelLanguage((()=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((()=>{this.stop(),this.computeLinks.schedule(0)}))),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(70))return;const t=this.editor.getModel();if(!t.isTooLargeForSyncing()&&this.providers.has(t)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=nc((i=>a7(this.providers,t,i)));try{const i=new re(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(t,i.elapsed()),t.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Bi(t)}finally{this.computePromise=null}}}updateDecorations(t){const i="altKey"===this.editor.getOption(77),e=[],s=Object.keys(this.currentOccurrences);for(const t of s)e.push(this.currentOccurrences[t].decorationId);const n=[];if(t)for(const e of t)n.push(g7.decoration(e,i));this.editor.changeDecorations((i=>{const s=i.deltaDecorations(e,n);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let i=0,e=s.length;i{i.activate(t,e),this.activeLinkDecorationId=i.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const t="altKey"===this.editor.getOption(77);if(this.activeLinkDecorationId){const i=this.currentOccurrences[this.activeLinkDecorationId];i&&this.editor.changeDecorations((e=>{i.deactivate(e,t)})),this.activeLinkDecorationId=null}}onEditorMouseUp(t){if(!this.isEnabled(t))return;const i=this.getLinkOccurrence(t.target.position);i&&this.openLinkOccurrence(i,t.hasSideBySideModifier,!0)}openLinkOccurrence(t,i,e=!1){if(!this.openerService)return;const{link:s}=t;s.resolve(ke.None).then((t=>{if("string"==typeof t&&this.editor.hasModel()){const i=this.editor.getModel().uri;if(i.scheme===ka.file&&t.startsWith(`${ka.file}:`)){const e=ms.parse(t);if(e.scheme===ka.file){const s=pA(e);let n=null;s.startsWith("/./")?n=`.${s.substr(1)}`:s.startsWith("//./")&&(n=`.${s.substr(2)}`),n&&(t=xA(i,n))}}}return this.openerService.open(t,{openToSide:i,fromUserGesture:e,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(t=>{const i=t instanceof Error?t.message:t;"invalid"===i?this.notificationService.warn(ot(0,"Failed to open this link because it is not well-formed: {0}",s.url.toString())):"missing"===i?this.notificationService.warn(ot(0,"Failed to open this link because its target is missing.")):Bi(t)}))}getLinkOccurrence(t){if(!this.editor.hasModel()||!t)return null;const i=this.editor.getModel().getDecorationsInRange({startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:t.lineNumber,endColumn:t.column},0,!0);for(const t of i){const i=this.currentOccurrences[t.id];if(i)return i}return null}isEnabled(t,i){return Boolean(6===t.target.type&&(t.hasTriggerModifier||i&&i.keyCodeIsTriggerKey))}stop(){var t;this.computeLinks.cancel(),this.activeLinksList&&(null===(t=this.activeLinksList)||void 0===t||t.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};d7.ID="editor.linkDetector",d7=l7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([u7(1,dP),u7(2,oT),u7(3,xg),u7(4,gR)],d7);const f7=AL.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),p7=AL.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"});class g7{static decoration(t,i){return{range:t.range,options:g7._getOptions(t,i,!1)}}static _getOptions(t,i,e){const s={...e?p7:f7};return s.hoverMessage=function(t,i){const e=t.url&&/^command:/i.test(t.url.toString()),s=t.tooltip?t.tooltip:ot(0,e?"Execute command":"Follow link"),n=ot(0,i?Ct?"cmd + click":"ctrl + click":Ct?"option + click":"alt + click");if(t.url){let i="";if(/^command:/i.test(t.url.toString())){const e=t.url.toString().match(/^command:([^?#]+)/);e&&(i=ot(0,"Execute command {0}",e[1]))}return new N_("",!0).appendLink(t.url.toString(!0).replace(/ /g,"%20"),s,i).appendMarkdown(` (${n})`)}return(new N_).appendText(`${s} (${n})`)}(t,i),s}constructor(t,i){this.link=t,this.decorationId=i}activate(t,i){t.changeDecorationOptions(this.decorationId,g7._getOptions(this.link,i,!0))}deactivate(t,i){t.changeDecorationOptions(this.decorationId,g7._getOptions(this.link,i,!1))}}lu(d7.ID,d7,1),cu(class extends su{constructor(){super({id:"editor.action.openLink",label:ot(0,"Open Link"),alias:"Open Link",precondition:void 0})}run(t,i){const e=d7.get(i);if(!e)return;if(!i.hasModel())return;const s=i.getSelections();for(const t of s){const i=e.getLinkOccurrence(t.getEndPosition());i&&e.openLinkOccurrence(i,!1)}}});class m7 extends te{constructor(t){super(),this._editor=t,this._register(this._editor.onMouseDown((t=>{const i=this._editor.getOption(116);i>=0&&6===t.target.type&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}m7.ID="editor.contrib.longLinesHelper",lu(m7.ID,m7,2);const w7=dw("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},ot(0,"Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);dw("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},ot(0,"Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),dw("editor.wordHighlightTextBackground",{light:w7,dark:w7,hcDark:w7,hcLight:w7},ot(0,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const v7=dw("editor.wordHighlightBorder",{light:null,dark:null,hcDark:vw,hcLight:vw},ot(0,"Border color of a symbol during read-access, like reading a variable."));dw("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:vw,hcLight:vw},ot(0,"Border color of a symbol during write-access, like writing to a variable.")),dw("editor.wordHighlightTextBorder",{light:v7,dark:v7,hcDark:v7,hcLight:v7},ot(0,"Border color of a textual occurrence for a symbol."));const b7=dw("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},ot(0,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),y7=dw("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},ot(0,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),k7=dw("editorOverviewRuler.wordHighlightTextForeground",{dark:Qb,light:Qb,hcDark:Qb,hcLight:Qb},ot(0,"Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),x7=AL.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:tx(y7),position:_f.Center},minimap:{color:tx(Yb),position:Bf.Inline}}),C7=AL.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:tx(k7),position:_f.Center},minimap:{color:tx(Yb),position:Bf.Inline}}),S7=AL.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:tx(Qb),position:_f.Center},minimap:{color:tx(Yb),position:Bf.Inline}}),D7=AL.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),E7=AL.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:tx(b7),position:_f.Center},minimap:{color:tx(Yb),position:Bf.Inline}});function A7(t){return t?D7:S7}nx(((t,i)=>{const e=t.getColor(Av);e&&i.addRule(`.monaco-editor .selectionHighlight { background-color: ${e.transparent(.5)}; }`)}));var M7;function L7(t,i){const e=i.filter((i=>!t.find((t=>t.equals(i)))));if(e.length>=1){const t=e.map((t=>`line ${t.viewState.position.lineNumber} column ${t.viewState.position.column}`)).join(", ");$m(ot(0,1===e.length?"Cursor added: {0}":"Cursors added: {0}",t))}}class F7{constructor(t,i,e){this.selections=t,this.revealRange=i,this.revealScrollType=e}}class T7{static create(t,i){if(!t.hasModel())return null;const e=i.getState();if(!t.hasTextFocus()&&e.isRevealed&&e.searchString.length>0)return new T7(t,i,!1,e.searchString,e.wholeWord,e.matchCase,null);let s,n,o=!1;const r=t.getSelections();1===r.length&&r[0].isEmpty()?(o=!0,s=!0,n=!0):(s=e.wholeWord,n=e.matchCase);const h=t.getSelection();let c,a=null;if(h.isEmpty()){const i=t.getConfiguredWordAtPosition(h.getStartPosition());if(!i)return null;c=i.word,a=new Ls(h.startLineNumber,i.startColumn,h.startLineNumber,i.endColumn)}else c=t.getModel().getValueInRange(h).replace(/\r\n/g,"\n");return new T7(t,i,o,c,s,n,a)}constructor(t,i,e,s,n,o,r){this._editor=t,this.findController=i,this.isDisconnectedFromFindController=e,this.searchText=s,this.wholeWord=n,this.matchCase=o,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new F7(i.concat(t),t,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new F7(i.slice(0,i.length-1).concat(t),t,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findNextMatch(this.searchText,i.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Ls(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new F7(i.concat(t),t,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new F7(i.slice(0,i.length-1).concat(t),t,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findPreviousMatch(this.searchText,i.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Ls(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}selectAll(t){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();return this._editor.getModel().findMatches(this.searchText,t||!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1,1073741824)}}class R7 extends te{static get(t){return t.getContribution(R7.ID)}constructor(t){super(),this._sessionDispose=this._register(new Xi),this._editor=t,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(t){if(!this._session){const i=T7.create(this._editor,t);if(!i)return;this._session=i;const e={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(e.wholeWordOverride=1,e.matchCaseOverride=1,e.isRegexOverride=2),t.getState().change(e,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((()=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(t.getState().onFindReplaceStateChange((t=>{(t.matchCase||t.wholeWord)&&this._endSession()})))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const t={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(t,!1)}this._session=null}_setSelections(t){this._ignoreSelectionChange=!0,this._editor.setSelections(t),this._ignoreSelectionChange=!1}_expandEmptyToWord(t,i){if(!i.isEmpty())return i;const e=this._editor.getConfiguredWordAtPosition(i.getStartPosition());return e?new Ls(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):i}_applySessionResult(t){t&&(this._setSelections(t.selections),t.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(t.revealRange,t.revealScrollType))}getSession(t){return this._session}addSelectionToNextFindMatch(t){if(this._editor.hasModel()){if(!this._session){const i=this._editor.getSelections();if(i.length>1){const e=t.getState().matchCase;if(!N7(this._editor.getModel(),i,e)){const t=this._editor.getModel(),e=[];for(let s=0,n=i.length;s0&&e.isRegex){i=this._editor.getModel().findMatches(e.searchString,!e.searchScope||e.searchScope,e.isRegex,e.matchCase,e.wholeWord?this._editor.getOption(129):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(t),!this._session)return;i=this._session.selectAll(e.searchScope)}if(i.length>0){const t=this._editor.getSelection();for(let e=0,s=i.length;enew Ls(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn))))}}}R7.ID="editor.contrib.multiCursorController";class O7 extends su{run(t,i){const e=R7.get(i);if(!e)return;const s=i._getViewModel();if(s){const n=s.getCursorStates(),o=R4.get(i);if(o)this._run(e,o);else{const s=t.get(ur).createInstance(R4,i);this._run(e,s),s.dispose()}L7(n,s.getCursorStates())}}}class I7{constructor(t,i,e,s,n){this._model=t,this._searchText=i,this._matchCase=e,this._wordSeparators=s,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,n&&this._model===n._model&&this._searchText===n._searchText&&this._matchCase===n._matchCase&&this._wordSeparators===n._wordSeparators&&this._modelVersionId===n._modelVersionId&&(this._cachedFindMatches=n._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((t=>t.range)),this._cachedFindMatches.sort(Ms.compareRangesUsingStarts)),this._cachedFindMatches}}let _7=M7=class extends te{constructor(t,i){super(),this._languageFeaturesService=i,this.editor=t,this._isEnabled=t.getOption(107),this._decorations=t.createDecorationsCollection(),this.updateSoon=this._register(new pc((()=>this._update()),300)),this.state=null,this._register(t.onDidChangeConfiguration((()=>{this._isEnabled=t.getOption(107)}))),this._register(t.onDidChangeCursorSelection((t=>{this._isEnabled&&(t.selection.isEmpty()?3===t.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(t.onDidChangeModel((()=>{this._setState(null)}))),this._register(t.onDidChangeModelContent((()=>{this._isEnabled&&this.updateSoon.schedule()})));const e=R4.get(t);e&&this._register(e.getState().onFindReplaceStateChange((()=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState(M7._createState(this.state,this._isEnabled,this.editor))}static _createState(t,i,e){if(!i)return null;if(!e.hasModel())return null;const s=e.getSelection();if(s.startLineNumber!==s.endLineNumber)return null;const n=R7.get(e);if(!n)return null;const o=R4.get(e);if(!o)return null;let r=n.getSession(o);if(!r){const t=e.getSelections();if(t.length>1){const i=o.getState().matchCase;if(!N7(e.getModel(),t,i))return null}r=T7.create(e,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const h=o.getState(),c=h.matchCase;if(h.isRevealed){let t=h.searchString;c||(t=t.toLowerCase());let i=r.searchText;if(c||(i=i.toLowerCase()),t===i&&r.matchCase===h.matchCase&&r.wholeWord===h.wholeWord&&!h.isRegex)return null}return new I7(e.getModel(),r.searchText,r.matchCase,r.wholeWord?e.getOption(129):null,t)}_setState(t){if(this.state=t,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const i=this.editor.getModel();if(i.isTooLargeForTokenization())return;const e=this.state.findMatches(),s=this.editor.getSelections();s.sort(Ms.compareRangesUsingStarts);const n=[];for(let t=0,i=0,o=e.length,r=s.length;t=r)n.push(o),t++;else{const e=Ms.compareRangesUsingStarts(o,s[i]);e<0?(!s[i].isEmpty()&&Ms.areIntersecting(o,s[i])||n.push(o),t++):(e>0||t++,i++)}}const o="off"!==this.editor.getOption(80),r=this._languageFeaturesService.documentHighlightProvider.has(i)&&o,h=n.map((t=>({range:t,options:A7(r)})));this._decorations.set(h)}dispose(){this._setState(null),super.dispose()}};function N7(t,i,e){const s=B7(t,i[0],!e);for(let n=1,o=i.length;n=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,xg)],_7),lu(R7.ID,R7,4),lu(_7.ID,_7,1),cu(class extends su{constructor(){super({id:"editor.action.insertCursorAbove",label:ot(0,"Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:YC.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:ot(0,"&&Add Cursor Above"),order:2}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,OC.addCursorUp(n,o,s)),n.revealTopMostCursor(e.source),L7(o,n.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.insertCursorBelow",label:ot(0,"Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:YC.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:ot(0,"A&&dd Cursor Below"),order:3}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,OC.addCursorDown(n,o,s)),n.revealBottomMostCursor(e.source),L7(o,n.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:ot(0,"Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:YC.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:ot(0,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(t,i,e){if(!t.isEmpty()){for(let s=t.startLineNumber;s1&&e.push(new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn))}}run(t,i){if(!i.hasModel())return;const e=i.getModel(),s=i.getSelections(),n=i._getViewModel(),o=n.getCursorStates(),r=[];s.forEach((t=>this.getCursorsForSelection(t,e,r))),r.length>0&&i.setSelections(r),L7(o,n.getCursorStates())}}),cu(class extends O7{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:ot(0,"Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:2082,weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:ot(0,"Add &&Next Occurrence"),order:5}})}_run(t,i){t.addSelectionToNextFindMatch(i)}}),cu(class extends O7{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:ot(0,"Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:ot(0,"Add P&&revious Occurrence"),order:6}})}_run(t,i){t.addSelectionToPreviousFindMatch(i)}}),cu(class extends O7{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:ot(0,"Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:Ne(2089,2082),weight:100}})}_run(t,i){t.moveSelectionToNextFindMatch(i)}}),cu(class extends O7{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:ot(0,"Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(t,i){t.moveSelectionToPreviousFindMatch(i)}}),cu(class extends O7{constructor(){super({id:"editor.action.selectHighlights",label:ot(0,"Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:3114,weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:ot(0,"Select All &&Occurrences"),order:7}})}_run(t,i){t.selectAll(i)}}),cu(class extends O7{constructor(){super({id:"editor.action.changeAll",label:ot(0,"Change All Occurrences"),alias:"Change All Occurrences",precondition:zr.and(YC.writable,YC.editorTextFocus),kbOpts:{kbExpr:YC.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(t,i){t.selectAll(i)}}),cu(class extends su{constructor(){super({id:"editor.action.addCursorsToBottom",label:ot(0,"Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=i.getModel().getLineCount(),n=[];for(let t=e[0].startLineNumber;t<=s;t++)n.push(new Ls(t,e[0].startColumn,t,e[0].endColumn));const o=i._getViewModel(),r=o.getCursorStates();n.length>0&&i.setSelections(n),L7(r,o.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.addCursorsToTop",label:ot(0,"Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=[];for(let t=e[0].startLineNumber;t>=1;t--)s.push(new Ls(t,e[0].startColumn,t,e[0].endColumn));const n=i._getViewModel(),o=n.getCursorStates();s.length>0&&i.setSelections(s),L7(o,n.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.focusNextCursor",label:ot(0,"Focus Next Cursor"),metadata:{description:ot(0,"Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.shift();o&&(n.push(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),L7(n,s.getCursorStates()))}}),cu(class extends su{constructor(){super({id:"editor.action.focusPreviousCursor",label:ot(0,"Focus Previous Cursor"),metadata:{description:ot(0,"Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.pop();o&&(n.unshift(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),L7(n,s.getCursorStates()))}});const P7={Visible:new ch("parameterHintsVisible",!1),MultipleSignatures:new ch("parameterHintsMultipleSignatures",!1)};async function $7(t,i,e,s,n){const o=t.ordered(i);for(const t of o)try{const o=await t.provideSignatureHelp(i,e,n,s);if(o)return o}catch(t){Pi(t)}}var W7;Dr.registerCommand("_executeSignatureHelpProvider",(async(t,...i)=>{const[e,s,n]=i;q(ms.isUri(e)),q(As.isIPosition(s)),q("string"==typeof n||!n);const o=t.get(xg),r=await t.get(gr).createModelReference(e);try{const t=await $7(o.signatureHelpProvider,r.object.textEditorModel,As.lift(s),{triggerKind:Ws.Invoke,isRetrigger:!1,triggerCharacter:n},ke.None);if(!t)return;return setTimeout((()=>t.dispose()),0),t.value}finally{r.dispose()}})),function(t){t.Default={type:0},t.Pending=class{constructor(t,i){this.request=t,this.previouslyActiveHints=i,this.type=2}},t.Active=class{constructor(t){this.hints=t,this.type=1}}}(W7||(W7={}));class j7 extends te{constructor(t,i,e=j7.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new de),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=W7.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new ie),this.triggerChars=new Ef,this.retriggerChars=new Ef,this.triggerId=0,this.editor=t,this.providers=i,this.throttledDelayer=new hc(e),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((t=>this.onCursorChange(t)))),this._register(this.editor.onDidChangeModelContent((()=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((t=>this.onDidType(t)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(t){2===this._state.type&&this._state.request.cancel(),this._state=t}cancel(t=!1){this.state=W7.Default,this.throttledDelayer.cancel(),t||this._onChangedHints.fire(void 0)}trigger(t,i){const e=this.editor.getModel();if(!e||!this.providers.has(e))return;const s=++this.triggerId;this._pendingTriggers.push(t),this.throttledDelayer.trigger((()=>this.doTrigger(s)),i).catch(Bi)}next(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=i%t==t-1,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?0:i+1):this.cancel()}previous(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=0===i,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?t-1:i-1):this.cancel()}updateActiveSignature(t){1===this.state.type&&(this.state=new W7.Active({...this.state.hints,activeSignature:t}),this._onChangedHints.fire(this.state.hints))}async doTrigger(t){const i=1===this.state.type||2===this.state.type,e=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const s=this._pendingTriggers.reduce(z7);this._pendingTriggers=[];const n={triggerKind:s.triggerKind,triggerCharacter:s.triggerCharacter,isRetrigger:i,activeSignatureHelp:e};if(!this.editor.hasModel())return!1;const o=this.editor.getModel(),r=this.editor.getPosition();this.state=new W7.Pending(nc((t=>$7(this.providers,o,r,n,t))),e);try{const i=await this.state.request;return t!==this.triggerId?(null==i||i.dispose(),!1):i&&i.value.signatures&&0!==i.value.signatures.length?(this.state=new W7.Active(i.value),this._lastSignatureHelpResult.value=i,this._onChangedHints.fire(this.state.hints),!0):(null==i||i.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(i){return t===this.triggerId&&(this.state=W7.Default),Bi(i),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const t=this.editor.getModel();if(t)for(const i of this.providers.ordered(t)){for(const t of i.signatureHelpTriggerCharacters||[])if(t.length){const i=t.charCodeAt(0);this.triggerChars.add(i),this.retriggerChars.add(i)}for(const t of i.signatureHelpRetriggerCharacters||[])t.length&&this.retriggerChars.add(t.charCodeAt(0))}}onDidType(t){if(!this.triggerOnType)return;const i=t.length-1,e=t.charCodeAt(i);(this.triggerChars.has(e)||this.isTriggered&&this.retriggerChars.has(e))&&this.trigger({triggerKind:Ws.TriggerCharacter,triggerCharacter:t.charAt(i)})}onCursorChange(t){"mouse"===t.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:Ws.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Ws.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(85).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function z7(t,i){switch(i.triggerKind){case Ws.Invoke:return i;case Ws.ContentChange:return t;default:return i}}j7.DEFAULT_DELAY=120;var H7,V7=function(t,i){return function(e,s){i(e,s,t)}};const U7=$l,q7=Hz("parameter-hints-next",Os.chevronDown,ot(0,"Icon for show next parameter hint.")),K7=Hz("parameter-hints-previous",Os.chevronUp,ot(0,"Icon for show previous parameter hint."));let G7=H7=class extends te{constructor(t,i,e,s,n){super(),this.editor=t,this.model=i,this.renderDisposeables=this._register(new Xi),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new lQ({editor:t},n,s)),this.keyVisible=P7.Visible.bindTo(e),this.keyMultipleSignatures=P7.MultipleSignatures.bindTo(e)}createParameterHintDOMNodes(){const t=U7(".editor-widget.parameter-hints-widget"),i=Ol(t,U7(".phwrapper"));i.tabIndex=-1;const e=Ol(i,U7(".controls")),s=Ol(e,U7(".button"+Cr.asCSSSelector(K7))),n=Ol(e,U7(".overloads")),o=Ol(e,U7(".button"+Cr.asCSSSelector(q7)));this._register(Va(s,"click",(t=>{Fl(t),this.previous()}))),this._register(Va(o,"click",(t=>{Fl(t),this.next()})));const r=U7(".body"),h=new Tk(r,{alwaysConsumeMouseWheel:!0});this._register(h),i.appendChild(h.getDomNode());const c=Ol(r,U7(".signature")),a=Ol(r,U7(".docs"));t.style.userSelect="text",this.domNodes={element:t,signature:c,overloads:n,docs:a,scrollbar:h},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((()=>{this.visible&&this.editor.layoutContentWidget(this)})));const l=()=>{if(!this.domNodes)return;const t=this.editor.getOption(50);this.domNodes.element.style.fontSize=`${t.fontSize}px`,this.domNodes.element.style.lineHeight=""+t.lineHeight/t.fontSize};l(),this._register(he.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(t=>t.filter((t=>t.hasChanged(50)))))(l)),this._register(this.editor.onDidLayoutChange((()=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{var t;null===(t=this.domNodes)||void 0===t||t.element.classList.add("visible")}),100),this.editor.layoutContentWidget(this))}hide(){var t;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,null===(t=this.domNodes)||void 0===t||t.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(t){var i;if(this.renderDisposeables.clear(),!this.domNodes)return;const e=t.signatures.length>1;this.domNodes.element.classList.toggle("multiple",e),this.keyMultipleSignatures.set(e),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const s=t.signatures[t.activeSignature];if(!s)return;const n=Ol(this.domNodes.signature,U7(".code")),o=this.editor.getOption(50);n.style.fontSize=`${o.fontSize}px`,n.style.fontFamily=o.fontFamily;const r=null!==(i=s.activeParameter)&&void 0!==i?i:t.activeParameter;s.parameters.length>0?this.renderParameters(n,s,r):Ol(n,U7("span")).textContent=s.label;const h=s.parameters[r];if(null==h?void 0:h.documentation){const t=U7("span.documentation");if("string"==typeof h.documentation)t.textContent=h.documentation;else{const i=this.renderMarkdownDocs(h.documentation);t.appendChild(i.element)}Ol(this.domNodes.docs,U7("p",{},t))}if(void 0===s.documentation);else if("string"==typeof s.documentation)Ol(this.domNodes.docs,U7("p",{},s.documentation));else{const t=this.renderMarkdownDocs(s.documentation);Ol(this.domNodes.docs,t.element)}const c=this.hasDocs(s,h);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(t.activeSignature+1).padStart(t.signatures.length.toString().length,"0")+"/"+t.signatures.length,h){let t="";const i=s.parameters[r];t=Array.isArray(i.label)?s.label.substring(i.label[0],i.label[1]):i.label,i.documentation&&(t+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),s.documentation&&(t+="string"==typeof s.documentation?`, ${s.documentation}`:`, ${s.documentation.value}`),this.announcedLabel!==t&&(Pm(ot(0,"{0}, hint",t)),this.announcedLabel=t)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(t){const i=this.renderDisposeables.add(this.markdownRenderer.render(t,{asyncRenderCallback:()=>{var t;null===(t=this.domNodes)||void 0===t||t.scrollbar.scanDomNode()}}));return i.element.classList.add("markdown-docs"),i}hasDocs(t,i){return!!(i&&"string"==typeof i.documentation&&K(i.documentation).length>0||i&&"object"==typeof i.documentation&&K(i.documentation).value.length>0||t.documentation&&"string"==typeof t.documentation&&K(t.documentation).length>0||t.documentation&&"object"==typeof t.documentation&&K(t.documentation.value).length>0)}renderParameters(t,i,e){const[s,n]=this.getParameterLabelOffsets(i,e),o=document.createElement("span");o.textContent=i.label.substring(0,s);const r=document.createElement("span");r.textContent=i.label.substring(s,n),r.className="parameter active";const h=document.createElement("span");h.textContent=i.label.substring(n),Ol(t,o,r,h)}getParameterLabelOffsets(t,i){const e=t.parameters[i];if(e){if(Array.isArray(e.label))return e.label;if(e.label.length){const i=new RegExp(`(\\W|^)${Gn(e.label)}(?=\\W|$)`,"g");i.test(t.label);const s=i.lastIndex-e.label.length;return s>=0?[s,i.lastIndex]:[0,0]}return[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return H7.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};G7.ID="editor.widget.parameterHintsWidget",G7=H7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([V7(2,ah),V7(3,dP),V7(4,yd)],G7),dw("editorHoverWidget.highlightForeground",{dark:lb,light:lb,hcDark:lb,hcLight:lb},ot(0,"Foreground color of the active item in the parameter hint."));var Z7,Q7=function(t,i){return function(e,s){i(e,s,t)}};let J7=Z7=class extends te{static get(t){return t.getContribution(Z7.ID)}constructor(t,i,e){super(),this.editor=t,this.model=this._register(new j7(t,e.signatureHelpProvider)),this._register(this.model.onChangedHints((t=>{var i;t?(this.widget.value.show(),this.widget.value.render(t)):null===(i=this.widget.rawValue)||void 0===i||i.hide()}))),this.widget=new zn((()=>this._register(i.createInstance(G7,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){var t;null===(t=this.widget.rawValue)||void 0===t||t.previous()}next(){var t;null===(t=this.widget.rawValue)||void 0===t||t.next()}trigger(t){this.model.trigger(t,0)}};J7.ID="editor.controller.parameterHints",J7=Z7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Q7(1,ur),Q7(2,xg)],J7),lu(J7.ID,J7,2),cu(class extends su{constructor(){super({id:"editor.action.triggerParameterHints",label:ot(0,"Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:YC.hasSignatureHelpProvider,kbOpts:{kbExpr:YC.editorTextFocus,primary:3082,weight:100}})}run(t,i){const e=J7.get(i);null==e||e.trigger({triggerKind:Ws.Invoke})}});const Y7=eu.bindToContribution(J7.get);hu(new Y7({id:"closeParameterHints",precondition:P7.Visible,handler:t=>t.cancel(),kbOpts:{weight:175,kbExpr:YC.focus,primary:9,secondary:[1033]}})),hu(new Y7({id:"showPrevParameterHint",precondition:zr.and(P7.Visible,P7.MultipleSignatures),handler:t=>t.previous(),kbOpts:{weight:175,kbExpr:YC.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),hu(new Y7({id:"showNextParameterHint",precondition:zr.and(P7.Visible,P7.MultipleSignatures),handler:t=>t.next(),kbOpts:{weight:175,kbExpr:YC.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var X7=function(t,i){return function(e,s){i(e,s,t)}};const t8=new ch("renameInputVisible",!1,ot(0,"Whether the rename input widget is visible"));let i8=class{constructor(t,i,e,s,n){this._editor=t,this._acceptKeybindings=i,this._themeService=e,this._keybindingService=s,this._disposables=new Xi,this.allowEditorOverflow=!0,this._visibleContextKey=t8.bindTo(n),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._disposables.add(e.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",ot(0,"Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._input),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(t){var i,e,s,n;if(!this._input||!this._domNode)return;const o=t.getColor(yw),r=t.getColor(kw);this._domNode.style.backgroundColor=String(null!==(i=t.getColor(uv))&&void 0!==i?i:""),this._domNode.style.boxShadow=o?` 0 0 8px 2px ${o}`:"",this._domNode.style.border=r?`1px solid ${r}`:"",this._domNode.style.color=String(null!==(e=t.getColor(Cw))&&void 0!==e?e:""),this._input.style.backgroundColor=String(null!==(s=t.getColor(xw))&&void 0!==s?s:"");const h=t.getColor(Sw);this._input.style.borderWidth=h?"1px":"0px",this._input.style.borderStyle=h?"solid":"none",this._input.style.borderColor=null!==(n=null==h?void 0:h.toString())&&void 0!==n?n:"none"}_updateFont(){if(!this._input||!this._label)return;const t=this._editor.getOption(50);this._input.style.fontFamily=t.fontFamily,this._input.style.fontWeight=t.fontWeight,this._input.style.fontSize=`${t.fontSize}px`,this._label.style.fontSize=.8*t.fontSize+"px"}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}beforeRender(){var t,i;const[e,s]=this._acceptKeybindings;return this._label.innerText=ot(0,"{0} to Rename, {1} to Preview",null===(t=this._keybindingService.lookupKeybinding(e))||void 0===t?void 0:t.getLabel(),null===(i=this._keybindingService.lookupKeybinding(s))||void 0===i?void 0:i.getLabel()),null}afterRender(t){t||this.cancelInput(!0)}acceptInput(t){var i;null===(i=this._currentAcceptInput)||void 0===i||i.call(this,t)}cancelInput(t){var i;null===(i=this._currentCancelInput)||void 0===i||i.call(this,t)}getInput(t,i,e,s,n,o){this._domNode.classList.toggle("preview",n),this._position=new As(t.startLineNumber,t.startColumn),this._input.value=i,this._input.setAttribute("selectionStart",e.toString()),this._input.setAttribute("selectionEnd",s.toString()),this._input.size=Math.max(1.1*(t.endColumn-t.startColumn),20);const r=new Xi;return new Promise((t=>{this._currentCancelInput=i=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t(i),!0),this._currentAcceptInput=e=>{0!==this._input.value.trim().length&&this._input.value!==i?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t({newName:this._input.value,wantsPreview:n&&e})):this.cancelInput(!0)},r.add(o.onCancellationRequested((()=>this.cancelInput(!0)))),r.add(this._editor.onDidBlurEditorWidget((()=>{var t;return this.cancelInput(!(null===(t=this._domNode)||void 0===t?void 0:t.ownerDocument.hasFocus()))}))),this._show()})).finally((()=>{r.dispose(),this._hide()}))}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout((()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))}),100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};i8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([X7(2,Xk),X7(3,oC),X7(4,ah)],i8);var e8,s8=function(t,i){return function(e,s){i(e,s,t)}};class n8{constructor(t,i,e){this.model=t,this.position=i,this._providerRenameIdx=0,this._providers=e.ordered(t)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(t){const i=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?i.join("\n"):void 0}:{range:Ms.fromPositions(this.position),text:"",rejectReason:i.length>0?i.join("\n"):void 0}}async provideRenameEdits(t,i){return this._provideRenameEdits(t,this._providerRenameIdx,[],i)}async _provideRenameEdits(t,i,e,s){const n=this._providers[i];if(!n)return{edits:[],rejectReason:e.join("\n")};const o=await n.provideRenameEdits(this.model,this.position,t,s);return o?o.rejectReason?this._provideRenameEdits(t,i+1,e.concat(o.rejectReason),s):o:this._provideRenameEdits(t,i+1,e.concat(ot(0,"No result.")),s)}}let o8=e8=class{static get(t){return t.getContribution(e8.ID)}constructor(t,i,e,s,n,o,r,h){this.editor=t,this._instaService=i,this._notificationService=e,this._bulkEditService=s,this._progressService=n,this._logService=o,this._configService=r,this._languageFeaturesService=h,this._disposableStore=new Xi,this._cts=new Ce,this._renameInputField=this._disposableStore.add(this._instaService.createInstance(i8,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var t,i;if(this._cts.dispose(!0),this._cts=new Ce,!this.editor.hasModel())return;const e=this.editor.getPosition(),s=new n8(this.editor.getModel(),e,this._languageFeaturesService.renameProvider);if(!s.hasProvider())return;const n=new CK(this.editor,5,void 0,this._cts.token);let o;try{const t=s.resolveRenameLocation(n.token);this._progressService.showWhile(t,250),o=await t}catch(i){return void(null===(t=gQ.get(this.editor))||void 0===t||t.showMessage(i||ot(0,"An unknown error occurred while resolving rename location"),e))}finally{n.dispose()}if(!o)return;if(o.rejectReason)return void(null===(i=gQ.get(this.editor))||void 0===i||i.showMessage(o.rejectReason,e));if(n.token.isCancellationRequested)return;const r=new CK(this.editor,5,o.range,this._cts.token),h=this.editor.getSelection();let c=0,a=o.text.length;Ms.isEmpty(h)||Ms.spansMultipleLines(h)||!Ms.containsRange(o.range,h)||(c=Math.max(0,h.startColumn-o.range.startColumn),a=Math.min(o.range.endColumn,h.endColumn)-o.range.startColumn);const l=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),u=await this._renameInputField.getInput(o.range,o.text,c,a,l,r.token);if("boolean"==typeof u)return u&&this.editor.focus(),void r.dispose();this.editor.focus();const d=oc(s.provideRenameEdits(u.newName,r.token),r.token).then((async t=>{t&&this.editor.hasModel()&&(t.rejectReason?this._notificationService.info(t.rejectReason):(this.editor.setSelection(Ms.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(t,{editor:this.editor,showPreview:u.wantsPreview,label:ot(0,"Renaming '{0}' to '{1}'",null==o?void 0:o.text,u.newName),code:"undoredo.rename",quotableLabel:ot(0,"Renaming {0} to {1}",null==o?void 0:o.text,u.newName),respectAutoSaveConfig:!0}).then((t=>{t.ariaSummary&&Pm(ot(0,"Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,u.newName,t.ariaSummary))})).catch((t=>{this._notificationService.error(ot(0,"Rename failed to apply edits")),this._logService.error(t)}))))}),(t=>{this._notificationService.error(ot(0,"Rename failed to compute edits")),this._logService.error(t)})).finally((()=>{r.dispose()}));return this._progressService.showWhile(d,250),d}acceptRenameInput(t){this._renameInputField.acceptInput(t)}cancelRenameInput(){this._renameInputField.cancelInput(!0)}};o8.ID="editor.contrib.renameController",o8=e8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([s8(1,ur),s8(2,oT),s8(3,nO),s8(4,zO),s8(5,jh),s8(6,yg),s8(7,xg)],o8),lu(o8.ID,o8,4),cu(class extends su{constructor(){super({id:"editor.action.rename",label:ot(0,"Rename Symbol"),alias:"Rename Symbol",precondition:zr.and(YC.writable,YC.hasRenameProvider),kbOpts:{kbExpr:YC.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(t,i){const e=t.get(fr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ms.isUri(s)&&As.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Bi):super.runCommand(t,i)}run(t,i){const e=o8.get(i);return e?e.run():Promise.resolve()}});const r8=eu.bindToContribution(o8.get);function h8(t){const i=new Uint32Array(function(t){let i=0;if(i+=2,"full"===t.type)i+=1+t.data.length;else{i+=1,i+=3*t.deltas.length;for(const e of t.deltas)e.data&&(i+=e.data.length)}return i}(t));let e=0;if(i[e++]=t.id,"full"===t.type)i[e++]=1,i[e++]=t.data.length,i.set(t.data,e),e+=t.data.length;else{i[e++]=2,i[e++]=t.deltas.length;for(const s of t.deltas)i[e++]=s.start,i[e++]=s.deleteCount,s.data?(i[e++]=s.data.length,i.set(s.data,e),e+=s.data.length):i[e++]=0}return function(t){const i=new Uint8Array(t.buffer,t.byteOffset,4*t.length);return Bt()||function(t){for(let i=0,e=t.length;it.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:zr.and(YC.focus,zr.not("isComposing")),primary:3}})),hu(new r8({id:"acceptRenameInputWithPreview",precondition:zr.and(t8,zr.has("config.editor.rename.enablePreview")),handler:t=>t.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:zr.and(YC.focus,zr.not("isComposing")),primary:1027}})),hu(new r8({id:"cancelRenameInput",precondition:t8,handler:t=>t.cancelRenameInput(),kbOpts:{weight:199,kbExpr:YC.focus,primary:9,secondary:[1033]}})),ru("_executeDocumentRenameProvider",(function(t,i,e,...s){const[n]=s;q("string"==typeof n);const{renameProvider:o}=t.get(xg);return async function(t,i,e,s){const n=new n8(i,e,t),o=await n.resolveRenameLocation(ke.None);return(null==o?void 0:o.rejectReason)?{edits:[],rejectReason:o.rejectReason}:n.provideRenameEdits(s,ke.None)}(o,i,e,n)})),ru("_executePrepareRename",(async function(t,i,e){const{renameProvider:s}=t.get(xg),n=new n8(i,e,s),o=await n.resolveRenameLocation(ke.None);if(null==o?void 0:o.rejectReason)throw new Error(o.rejectReason);return o})),Dh.as(Md).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:ot(0,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});class l8{constructor(t,i,e){this.provider=t,this.tokens=i,this.error=e}}function u8(t,i){return t.has(i)}async function d8(t,i,e,s,n){const o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}(t,i),r=await Promise.all(o.map((async t=>{let o,r=null;try{o=await t.provideDocumentSemanticTokens(i,t===e?s:null,n)}catch(t){r=t,o=null}return o&&(c8(o)||a8(o))||(o=null),new l8(t,o,r)})));for(const t of r){if(t.error)throw t.error;if(t.tokens)return t}return r.length>0?r[0]:null}class f8{constructor(t,i){this.provider=t,this.tokens=i}}function p8(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}async function g8(t,i,e,s){const n=p8(t,i),o=await Promise.all(n.map((async t=>{let n;try{n=await t.provideDocumentRangeSemanticTokens(i,e,s)}catch(t){Pi(t),n=null}return n&&c8(n)||(n=null),new f8(t,n)})));for(const t of o)if(t.tokens)return t;return o.length>0?o[0]:null}Dr.registerCommand("_provideDocumentSemanticTokensLegend",(async(t,...i)=>{const[e]=i;q(e instanceof ms);const s=t.get(pr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(xg),o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:null}(n,s);return o?o[0].getLegend():t.get(Sr).executeCommand("_provideDocumentRangeSemanticTokensLegend",e)})),Dr.registerCommand("_provideDocumentSemanticTokens",(async(t,...i)=>{const[e]=i;q(e instanceof ms);const s=t.get(pr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(xg);if(!u8(n,s))return t.get(Sr).executeCommand("_provideDocumentRangeSemanticTokens",e,s.getFullModelRange());const o=await d8(n,s,null,null,ke.None);if(!o)return;const{provider:r,tokens:h}=o;if(!h||!c8(h))return;const c=h8({id:0,type:"full",data:h.data});return h.resultId&&r.releaseDocumentSemanticTokens(h.resultId),c})),Dr.registerCommand("_provideDocumentRangeSemanticTokensLegend",(async(t,...i)=>{const[e,s]=i;q(e instanceof ms);const n=t.get(pr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(xg),r=p8(o,n);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!s||!Ms.isIRange(s))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const h=await g8(o,n,Ms.lift(s),ke.None);return h?h.provider.getLegend():void 0})),Dr.registerCommand("_provideDocumentRangeSemanticTokens",(async(t,...i)=>{const[e,s]=i;q(e instanceof ms),q(Ms.isIRange(s));const n=t.get(pr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(xg),r=await g8(o,n,Ms.lift(s),ke.None);return r&&r.tokens?h8({id:0,type:"full",data:r.tokens.data}):void 0}));const m8="editor.semanticHighlighting";function w8(t,i,e){var s;const n=null===(s=e.getValue(m8,{overrideIdentifier:t.getLanguageId(),resource:t.uri}))||void 0===s?void 0:s.enabled;return"boolean"==typeof n?n:i.getColorTheme().semanticHighlighting}var v8,b8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},y8=function(t,i){return function(e,s){i(e,s,t)}};let k8=class extends te{constructor(t,i,e,s,n,o){super(),this._watchers=Object.create(null);const r=i=>{this._watchers[i.uri.toString()]=new x8(i,t,e,n,o)},h=(t,i)=>{i.dispose(),delete this._watchers[t.uri.toString()]},c=()=>{for(const t of i.getModels()){const i=this._watchers[t.uri.toString()];w8(t,e,s)?i||r(t):i&&h(t,i)}};this._register(i.onModelAdded((t=>{w8(t,e,s)&&r(t)}))),this._register(i.onModelRemoved((t=>{const i=this._watchers[t.uri.toString()];i&&h(t,i)}))),this._register(s.onDidChangeConfiguration((t=>{t.affectsConfiguration(m8)&&c()}))),this._register(e.onDidColorThemeChange(c))}dispose(){for(const t of Object.values(this._watchers))t.dispose();super.dispose()}};k8=b8([y8(0,MR),y8(1,pr),y8(2,Xk),y8(3,pd),y8(4,gR),y8(5,xg)],k8);let x8=v8=class extends te{constructor(t,i,e,s,n){super(),this._semanticTokensStylingService=i,this._isDisposed=!1,this._model=t,this._provider=n.documentSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentSemanticTokens",{min:v8.REQUEST_MIN_DELAY,max:v8.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new pc((()=>this._fetchDocumentSemanticTokensNow()),v8.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeAttached((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeLanguage((()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)})));const o=()=>{Qi(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const i of this._provider.all(t))"function"==typeof i.onDidChange&&this._documentProvidersChangeListeners.push(i.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};o(),this._register(this._provider.onDidChange((()=>{o(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(e.onDidColorThemeChange((()=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),Qi(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!u8(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const t=new Ce,i=d8(this._provider,this._model,this._currentDocumentResponse?this._currentDocumentResponse.provider:null,this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,t.token);this._currentDocumentRequestCancellationTokenSource=t,this._providersChangedDuringRequest=!1;const e=[],s=this._model.onDidChangeContent((t=>{e.push(t)})),n=new re(!1);i.then((t=>{if(this._debounceInformation.update(this._model,n.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),t){const{provider:i,tokens:s}=t,n=this._semanticTokensStylingService.getStyling(i);this._setDocumentSemanticTokens(i,s||null,n,e)}else this._setDocumentSemanticTokens(null,null,null,e)}),(t=>{t&&(ji(t)||"string"==typeof t.message&&-1!==t.message.indexOf("busy"))||Bi(t),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(e.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(t,i,e,s,n){n=Math.min(n,e.length-s,t.length-i);for(let o=0;o{(s.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed)t&&i&&t.releaseDocumentSemanticTokens(i.resultId);else if(t&&e){if(!i)return this._model.tokenization.setSemanticTokens(null,!0),void o();if(a8(i)){if(!n)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===i.edits.length)i={resultId:i.resultId,data:n.data};else{let t=0;for(const e of i.edits)t+=(e.data?e.data.length:0)-e.deleteCount;const s=n.data,o=new Uint32Array(s.length+t);let r=s.length,h=o.length;for(let t=i.edits.length-1;t>=0;t--){const c=i.edits[t];if(c.start>s.length)return e.warnInvalidEditStart(n.resultId,i.resultId,t,c.start,s.length),void this._model.tokenization.setSemanticTokens(null,!0);const a=r-(c.start+c.deleteCount);a>0&&(v8._copy(s,r-a,o,h-a,a),h-=a),c.data&&(v8._copy(c.data,0,o,h-c.data.length,c.data.length),h-=c.data.length),r=c.start}r>0&&v8._copy(s,0,o,0,r),i={resultId:i.resultId,data:o}}}if(c8(i)){this._currentDocumentResponse=new C8(t,i.resultId,i.data);const n=DR(i,e,this._model.getLanguageId());if(s.length>0)for(const t of s)for(const i of n)for(const e of t.changes)i.applyEdit(e.range,e.text);this._model.tokenization.setSemanticTokens(n,!0)}else this._model.tokenization.setSemanticTokens(null,!0);o()}else this._model.tokenization.setSemanticTokens(null,!1)}};x8.REQUEST_MIN_DELAY=300,x8.REQUEST_MAX_DELAY=2e3,x8=v8=b8([y8(1,MR),y8(2,Xk),y8(3,gR),y8(4,xg)],x8);class C8{constructor(t,i,e){this.provider=t,this.resultId=i,this.data=e}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}GH(k8);var S8=function(t,i){return function(e,s){i(e,s,t)}};let D8=class extends te{constructor(t,i,e,s,n,o){super(),this._semanticTokensStylingService=i,this._themeService=e,this._configurationService=s,this._editor=t,this._provider=o.documentRangeSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new pc((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(m8)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const t of this._outstandingRequests)t.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(t){for(let i=0,e=this._outstandingRequests.length;ithis._requestRange(t,i))))}_requestRange(t,i){const e=t.getVersionId(),s=nc((e=>Promise.resolve(g8(this._provider,t,i,e)))),n=new re(!1);return s.then((s=>{if(this._debounceInformation.update(t,n.elapsed()),!s||!s.tokens||t.isDisposed()||t.getVersionId()!==e)return;const{provider:o,tokens:r}=s,h=this._semanticTokensStylingService.getStyling(o);t.tokenization.setPartialSemanticTokens(i,DR(r,h,t.getLanguageId()))})).then((()=>this._removeOutstandingRequest(s)),(()=>this._removeOutstandingRequest(s))),s}};D8.ID="editor.contrib.viewportSemanticTokens",D8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([S8(1,MR),S8(2,Xk),S8(3,pd),S8(4,gR),S8(5,xg)],D8),lu(D8.ID,D8,1);class E8{constructor(t=!0){this.selectSubwords=t}provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i),this.selectSubwords&&this._addInWordRanges(i,t,s),this._addWordRanges(i,t,s),this._addWhitespaceLine(i,t,s),i.push({range:t.getFullModelRange()})}return e}_addInWordRanges(t,i,e){const s=i.getWordAtPosition(e);if(!s)return;const{word:n,startColumn:o}=s,r=e.column-o;let h=r,c=r,a=0;for(;h>=0;h--){const t=n.charCodeAt(h);if(h!==r&&(95===t||45===t))break;if(co(t)&&ao(a))break;a=t}for(h+=1;c0&&0===i.getLineFirstNonWhitespaceColumn(e.lineNumber)&&0===i.getLineLastNonWhitespaceColumn(e.lineNumber)&&t.push({range:new Ms(e.lineNumber,1,e.lineNumber,i.getLineMaxColumn(e.lineNumber))})}}var A8;class M8{constructor(t,i){this.index=t,this.ranges=i}mov(t){const i=this.index+(t?1:-1);if(i<0||i>=this.ranges.length)return this;const e=new M8(i,this.ranges);return e.ranges[i].equalsRange(this.ranges[this.index])?e.mov(t):e}}let L8=A8=class{static get(t){return t.getContribution(A8.ID)}constructor(t,i){this._editor=t,this._languageFeaturesService=i,this._ignoreSelection=!1}dispose(){var t;null===(t=this._selectionListener)||void 0===t||t.dispose()}async run(t){if(!this._editor.hasModel())return;const i=this._editor.getSelections(),e=this._editor.getModel();if(this._state||await T8(this._languageFeaturesService.selectionRangeProvider,e,i.map((t=>t.getPosition())),this._editor.getOption(112),ke.None).then((t=>{var e;if(b(t)&&t.length===i.length&&this._editor.hasModel()&&l(this._editor.getSelections(),i,((t,i)=>t.equalsSelection(i)))){for(let e=0;et.containsPosition(i[e].getStartPosition())&&t.containsPosition(i[e].getEndPosition()))),t[e].unshift(i[e]);this._state=t.map((t=>new M8(0,t))),null===(e=this._selectionListener)||void 0===e||e.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{var t;this._ignoreSelection||(null===(t=this._selectionListener)||void 0===t||t.dispose(),this._state=void 0)}))}})),!this._state)return;this._state=this._state.map((i=>i.mov(t)));const s=this._state.map((t=>Ls.fromPositions(t.ranges[t.index].getStartPosition(),t.ranges[t.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(s)}finally{this._ignoreSelection=!1}}};L8.ID="editor.contrib.smartSelectController",L8=A8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,xg)],L8);class F8 extends su{constructor(t,i){super(i),this._forward=t}async run(t,i){const e=L8.get(i);e&&await e.run(this._forward)}}async function T8(t,i,e,s,n){const o=t.all(i).concat(new E8(s.selectSubwords));1===o.length&&o.unshift(new c6);const r=[],h=[];for(const t of o)r.push(Promise.resolve(t.provideSelectionRanges(i,e,n)).then((t=>{if(b(t)&&t.length===e.length)for(let i=0;i{if(0===t.length)return[];t.sort(((t,i)=>As.isBefore(t.getStartPosition(),i.getStartPosition())?1:As.isBefore(i.getStartPosition(),t.getStartPosition())||As.isBefore(t.getEndPosition(),i.getEndPosition())?-1:As.isBefore(i.getEndPosition(),t.getEndPosition())?1:0));const e=[];let n;for(const i of t)(!n||Ms.containsRange(i,n)&&!Ms.equalsRange(i,n))&&(e.push(i),n=i);if(!s.selectLeadingAndTrailingWhitespace)return e;const o=[e[0]];for(let t=1;tt}),_8="data-sticky-line-index",N8="data-sticky-is-line",B8="data-sticky-is-folding-icon";class P8 extends te{constructor(t){super(),this._editor=t,this._foldingIconStore=new Xi,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(66),this._stickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",t instanceof UJ),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const i=()=>{this._linesDomNode.style.left=this._editor.getOption(114).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&i(),t.hasChanged(66)&&(this._lineHeight=this._editor.getOption(66))}))),this._register(this._editor.onDidScrollChange((t=>{t.scrollLeftChanged&&i(),t.scrollWidthChanged&&this._updateWidgetWidth()}))),this._register(this._editor.onDidChangeModel((()=>{i(),this._updateWidgetWidth()}))),this._register(this._foldingIconStore),i(),this._register(this._editor.onDidLayoutChange((()=>{this._updateWidgetWidth()}))),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getStickyLineForLine(t){return this._stickyLines.find((i=>i.lineNumber===t))}getCurrentLines(){return this._lineNumbers}setState(t,i,e=1/0){if((!this._previousState&&!t||this._previousState&&this._previousState.equals(t))&&e===1/0)return;this._previousState=t;const s=this._stickyLines;if(this._clearStickyWidget(),t&&this._editor._getViewModel()){if(t.startLineNumbers.length*this._lineHeight+t.lastLineRelativePosition>0){this._lastLineRelativePosition=t.lastLineRelativePosition;const i=[...t.startLineNumbers];null!==t.showEndForLine&&(i[t.showEndForLine]=t.endLineNumbers[t.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];this._renderRootNode(s,i,e)}}_updateWidgetWidth(){const t=this._editor.getLayoutInfo();this._lineNumbersDomNode.style.width=`${t.contentLeft}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",this._editor.getScrollWidth()-t.verticalScrollbarWidth+"px"),this._rootDomNode.style.width=t.width-t.verticalScrollbarWidth+"px"}_clearStickyWidget(){this._stickyLines=[],this._foldingIconStore.clear(),za(this._lineNumbersDomNode),za(this._linesDomNode),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(t){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${t?.5:0}s`)}_setFoldingIconsVisibility(t){for(const i of this._stickyLines){const e=i.foldingIcon;e&&e.setVisible(!!t||e.isCollapsed)}}async _renderRootNode(t,i,e=1/0){const s=this._editor.getLayoutInfo();for(const[n,o]of this._lineNumbers.entries()){const r=t[n],h=o>=e||(null==r?void 0:r.lineNumber)!==o?this._renderChildNode(n,o,i,s):this._updateTopAndZIndexOfStickyLine(r);h&&(this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),this._stickyLines.push(h))}i&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const n=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;0!==n?(this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${n}px`,this._linesDomNodeScrollable.style.height=`${n}px`,this._rootDomNode.style.height=`${n}px`,this._rootDomNode.style.marginLeft="0px",this._updateMinContentWidth(),this._editor.layoutOverlayWidget(this)):this._clearStickyWidget()}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(109)&&(this._foldingIconStore.add(Va(this._lineNumbersDomNode,Ll.MOUSE_ENTER,(()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)}))),this._foldingIconStore.add(Va(this._lineNumbersDomNode,Ll.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))))}_renderChildNode(t,i,e,s){const n=this._editor._getViewModel();if(!n)return;const o=n.coordinatesConverter.convertModelPositionToViewPosition(new As(i,1)).lineNumber,r=n.getViewLineRenderingData(o),h=this._editor.getOption(67);let c;try{c=Wg.filter(r.inlineDecorations,o,r.minColumn,r.maxColumn)}catch(t){c=[]}const a=new qg(!0,!0,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,0,r.tokens,c,r.tabSize,r.startVisibleColumn,1,1,1,500,"none",!0,!0,null),l=new td(2e3),u=Qg(a,l);let d;d=I8?I8.createHTML(l.build()):l.build();const f=document.createElement("span");f.setAttribute(_8,String(t)),f.setAttribute(N8,""),f.setAttribute("role","listitem"),f.tabIndex=0,f.className="sticky-line-content",f.classList.add(`stickyLine${i}`),f.style.lineHeight=`${this._lineHeight}px`,f.innerHTML=d;const p=document.createElement("span");p.setAttribute(_8,String(t)),p.setAttribute("data-sticky-is-line-number",""),p.className="sticky-line-number",p.style.lineHeight=`${this._lineHeight}px`,p.style.width=`${s.contentLeft}px`;const g=document.createElement("span");1===h.renderType||3===h.renderType&&i%10==0?g.innerText=i.toString():2===h.renderType&&(g.innerText=Math.abs(i-this._editor.getPosition().lineNumber).toString()),g.className="sticky-line-number-inner",g.style.lineHeight=`${this._lineHeight}px`,g.style.width=`${s.lineNumbersWidth}px`,g.style.paddingLeft=`${s.lineNumbersLeft}px`,p.appendChild(g);const m=this._renderFoldingIconForLine(e,i);m&&p.appendChild(m.domNode),this._editor.applyFontInfo(f),this._editor.applyFontInfo(g),p.style.lineHeight=`${this._lineHeight}px`,f.style.lineHeight=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`,f.style.height=`${this._lineHeight}px`;const w=new $8(t,i,f,p,m,u.characterMapping);return this._updateTopAndZIndexOfStickyLine(w)}_updateTopAndZIndexOfStickyLine(t){var i;const e=t.index,s=t.lineDomNode,n=t.lineNumberDomNode,o=e===this._lineNumbers.length-1;s.style.zIndex=o?"0":"1",n.style.zIndex=o?"0":"1";const r=`${e*this._lineHeight+this._lastLineRelativePosition+((null===(i=t.foldingIcon)||void 0===i?void 0:i.isCollapsed)?1:0)}px`,h=e*this._lineHeight+"px";return s.style.top=o?r:h,n.style.top=o?r:h,t}_renderFoldingIconForLine(t,i){const e=this._editor.getOption(109);if(!t||"never"===e)return;const s=t.regions,n=s.findRange(i),o=s.getStartLineNumber(n);if(i!==o)return;const r=s.isCollapsed(n),h=new W8(r,o,s.getEndLineNumber(n),this._lineHeight);return h.setVisible(!!this._isOnGlyphMargin||r||"always"===e),h.domNode.setAttribute(B8,""),h}_updateMinContentWidth(){this._minContentWidthInPx=0;for(const t of this._stickyLines)t.lineDomNode.scrollWidth>this._minContentWidthInPx&&(this._minContentWidthInPx=t.lineDomNode.scrollWidth);this._minContentWidthInPx+=this._editor.getLayoutInfo().verticalScrollbarWidth}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(t){0<=t&&t0)return null;const i=this._getRenderedStickyLineFromChildDomNode(t);if(!i)return null;const e=Yy(i.characterMapping,t,0);return new As(i.lineNumber,e)}getLineNumberFromChildDomNode(t){var i,e;return null!==(e=null===(i=this._getRenderedStickyLineFromChildDomNode(t))||void 0===i?void 0:i.lineNumber)&&void 0!==e?e:null}_getRenderedStickyLineFromChildDomNode(t){const i=this.getLineIndexFromChildDomNode(t);return null===i||i<0||i>=this._stickyLines.length?null:this._stickyLines[i]}getLineIndexFromChildDomNode(t){const i=this._getAttributeValue(t,_8);return i?parseInt(i,10):null}isInStickyLine(t){return void 0!==this._getAttributeValue(t,N8)}isInFoldingIconDomNode(t){return void 0!==this._getAttributeValue(t,B8)}_getAttributeValue(t,i){for(;t&&t!==this._rootDomNode;){const e=t.getAttribute(i);if(null!==e)return e;t=t.parentElement}}}class $8{constructor(t,i,e,s,n,o){this.index=t,this.lineNumber=i,this.lineDomNode=e,this.lineNumberDomNode=s,this.foldingIcon=n,this.characterMapping=o}}class W8{constructor(t,i,e,s){this.isCollapsed=t,this.foldingStartLine=i,this.foldingEndLine=e,this.dimension=s,this.domNode=document.createElement("div"),this.domNode.style.width=`${s}px`,this.domNode.style.height=`${s}px`,this.domNode.className=Cr.asClassName(t?n5:s5)}setVisible(t){this.domNode.style.cursor=t?"pointer":"default",this.domNode.style.opacity=t?"1":"0"}}class j8{constructor(t,i){this.startLineNumber=t,this.endLineNumber=i}}class z8{constructor(t,i,e){this.range=t,this.children=i,this.parent=e}}class H8{constructor(t,i,e,s){this.uri=t,this.version=i,this.element=e,this.outlineProviderId=s}}var V8,U8,q8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},K8=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.OUTLINE_MODEL="outlineModel",t.FOLDING_PROVIDER_MODEL="foldingProviderModel",t.INDENTATION_MODEL="indentationModel"}(V8||(V8={})),function(t){t[t.VALID=0]="VALID",t[t.INVALID=1]="INVALID",t[t.CANCELED=2]="CANCELED"}(U8||(U8={}));let G8=class extends te{constructor(t,i,e,s){super(),this._editor=t,this._languageConfigurationService=i,this._languageFeaturesService=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new hc(300)),this._updateOperation=this._register(new Xi);const n=new Q8(e),o=new X8(this._editor,e),r=new Y8(this._editor,i);switch(s){case V8.OUTLINE_MODEL:this._modelProviders.push(n),this._modelProviders.push(o),this._modelProviders.push(r);break;case V8.FOLDING_PROVIDER_MODEL:this._modelProviders.push(o),this._modelProviders.push(r);break;case V8.INDENTATION_MODEL:this._modelProviders.push(r)}}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(t,i,e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger((async()=>{for(const s of this._modelProviders){const{statusPromise:n,modelPromise:o}=s.computeStickyModel(t,i,e);this._modelPromise=o;const r=await n;if(this._modelPromise!==o)return null;switch(r){case U8.CANCELED:return this._updateOperation.clear(),null;case U8.VALID:return s.stickyModel}}return null})).catch((t=>(Bi(t),null)))}};G8=q8([K8(1,Xd),K8(2,xg)],G8);class Z8{constructor(){this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,U8.INVALID}computeStickyModel(t,i,e){if(e.isCancellationRequested||!this.isProviderValid(t))return{statusPromise:this._invalid(),modelPromise:null};const s=nc((e=>this.createModelFromProvider(t,i,e)));return{statusPromise:s.then((s=>this.isModelValid(s)?e.isCancellationRequested?U8.CANCELED:(this._stickyModel=this.createStickyModel(t,i,e,s),U8.VALID):this._invalid())).then(void 0,(t=>(Bi(t),U8.CANCELED))),modelPromise:s}}isModelValid(t){return!0}isProviderValid(t){return!0}}let Q8=class extends Z8{constructor(t){super(),this._languageFeaturesService=t}createModelFromProvider(t,i,e){return L5.create(this._languageFeaturesService.documentSymbolProvider,t,e)}createStickyModel(t,i,e,s){var n;const{stickyOutlineElement:o,providerID:r}=this._stickyModelFromOutlineModel(s,null===(n=this._stickyModel)||void 0===n?void 0:n.outlineProviderId);return new H8(t.uri,i,o,r)}isModelValid(t){return t&&t.children.size>0}_stickyModelFromOutlineModel(t,i){let e;if(Ht.first(t.children.values())instanceof M5){const s=Ht.find(t.children.values(),(t=>t.id===i));if(s)e=s.children;else{let s,n="",o=-1;for(const[i,e]of t.children.entries()){const t=this._findSumOfRangesOfGroup(e);t>o&&(s=e,o=t,n=e.id)}i=n,e=s.children}}else e=t.children;const s=[],n=Array.from(e.values()).sort(((t,i)=>{const e=new j8(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber),s=new j8(i.symbol.range.startLineNumber,i.symbol.range.endLineNumber);return this._comparator(e,s)}));for(const t of n)s.push(this._stickyModelFromOutlineElement(t,t.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new z8(void 0,s,void 0),providerID:i}}_stickyModelFromOutlineElement(t,i){const e=[];for(const s of t.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==i)e.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const t of s.children.values())e.push(this._stickyModelFromOutlineElement(t,s.symbol.selectionRange.startLineNumber));e.sort(((t,i)=>this._comparator(t.range,i.range)));const s=new j8(t.symbol.selectionRange.startLineNumber,t.symbol.range.endLineNumber);return new z8(s,e,void 0)}_comparator(t,i){return t.startLineNumber!==i.startLineNumber?t.startLineNumber-i.startLineNumber:i.endLineNumber-t.endLineNumber}_findSumOfRangesOfGroup(t){let i=0;for(const e of t.children.values())i+=this._findSumOfRangesOfGroup(e);return t instanceof A5?i+t.symbol.range.endLineNumber-t.symbol.selectionRange.startLineNumber:i}};Q8=q8([K8(0,xg)],Q8);class J8 extends Z8{constructor(t){super(),this._foldingLimitReporter=new m5(t)}createStickyModel(t,i,e,s){const n=this._fromFoldingRegions(s);return new H8(t.uri,i,n,void 0)}isModelValid(t){return null!==t}_fromFoldingRegions(t){const i=t.length,e=[],s=new z8(void 0,[],void 0);for(let n=0;n0}createModelFromProvider(t,i,e){const s=g5.getFoldingRangeProviders(this._languageFeaturesService,t);return new l5(t,s,(()=>this.createModelFromProvider(t,i,e)),this._foldingLimitReporter,void 0).compute(e)}};X8=q8([K8(1,xg)],X8);var ttt=function(t,i){return function(e,s){i(e,s,t)}};class itt{constructor(t,i,e){this.startLineNumber=t,this.endLineNumber=i,this.nestingDepth=e}}let ett=class extends te{constructor(t,i,e){super(),this._languageFeaturesService=i,this._languageConfigurationService=e,this._onDidChangeStickyScroll=this._register(new de),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._options=null,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=t,this._sessionStore=this._register(new Xi),this._updateSoon=this._register(new pc((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&this.readConfiguration()}))),this.readConfiguration()}readConfiguration(){this._stickyModelProvider=null,this._sessionStore.clear(),this._options=this._editor.getOption(114),this._options.enabled&&(this._stickyModelProvider=this._sessionStore.add(new G8(this._editor,this._languageConfigurationService,this._languageFeaturesService,this._options.defaultModel)),this._sessionStore.add(this._editor.onDidChangeModel((()=>{this._model=null,this._onDidChangeStickyScroll.fire(),this.update()}))),this._sessionStore.add(this._editor.onDidChangeHiddenAreas((()=>this.update()))),this._sessionStore.add(this._editor.onDidChangeModelContent((()=>this._updateSoon.schedule()))),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>this.update()))),this.update())}getVersionId(){var t;return null===(t=this._model)||void 0===t?void 0:t.version}async update(){var t;null===(t=this._cts)||void 0===t||t.dispose(!0),this._cts=new Ce,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(t){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const i=this._editor.getModel(),e=i.getVersionId(),s=await this._stickyModelProvider.update(i,e,t);t.isCancellationRequested||(this._model=s)}updateIndex(t){return-1===t?t=0:t<0&&(t=-t-2),t}getCandidateStickyLinesIntersectingFromStickyModel(t,i,e,s,n){if(0===i.children.length)return;let o=n;const r=[];for(let t=0;tt-i))),c=this.updateIndex(u(r,t.startLineNumber+s,((t,i)=>t-i)));for(let r=h;r<=c;r++){const h=i.children[r];if(!h)return;if(h.range){const i=h.range.startLineNumber,n=h.range.endLineNumber;t.startLineNumber<=n+1&&i-1<=t.endLineNumber&&i!==o&&(o=i,e.push(new itt(i,n-1,s+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s+1,i))}else this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s,n)}}getCandidateStickyLinesIntersecting(t){var i,e;if(!(null===(i=this._model)||void 0===i?void 0:i.element))return[];let s=[];this.getCandidateStickyLinesIntersectingFromStickyModel(t,this._model.element,s,0,-1);const n=null===(e=this._editor._getViewModel())||void 0===e?void 0:e.getHiddenAreas();if(n)for(const t of n)s=s.filter((i=>!(i.startLineNumber>=t.startLineNumber&&i.endLineNumber<=t.endLineNumber+1)));return s}};ett=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([ttt(1,xg),ttt(2,Xd)],ett);var stt,ntt=function(t,i){return function(e,s){i(e,s,t)}};let ott=stt=class extends te{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._contextMenuService=i,this._languageFeaturesService=e,this._instaService=s,this._contextKeyService=r,this._sessionStore=new Xi,this._foldingModel=null,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._showEndForLine=null,this._stickyScrollWidget=new P8(this._editor),this._stickyLineCandidateProvider=new ett(this._editor,e,n),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new O8([],[],0),this._readConfiguration();const h=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(114)||t.hasChanged(72)||t.hasChanged(66)||t.hasChanged(109))&&this._readConfiguration()}))),this._register(Va(h,Ll.CONTEXT_MENU,(async t=>{this._onContextMenu(Na(h),t)}))),this._stickyScrollFocusedContextKey=YC.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=YC.stickyScrollVisible.bindTo(this._contextKeyService);const c=this._register(Rl(h));this._register(c.onDidBlur((()=>{!1===this._positionRevealed&&0===h.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(c.onDidFocus((()=>{this.focus()}))),this._registerMouseListeners(),this._register(Va(h,Ll.MOUSE_DOWN,(()=>{this._onMouseDown=!0})))}static get(t){return t.getContribution(stt.ID)}_disposeFocusStickyScrollStore(){var t;this._stickyScrollFocusedContextKey.set(!1),null===(t=this._focusDisposableStore)||void 0===t||t.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new Xi,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(t){this._focusedStickyElementIndex=t?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const t=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t[this._focusedStickyElementIndex],column:1})}_revealPosition(t){this._reveaInEditor(t,(()=>this._editor.revealPosition(t)))}_revealLineInCenterIfOutsideViewport(t){this._reveaInEditor(t,(()=>this._editor.revealLineInCenterIfOutsideViewport(t.lineNumber,0)))}_reveaInEditor(t,i){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,i(),this._editor.setSelection(Ms.fromPositions(t)),this._editor.focus()}_registerMouseListeners(){const t=this._register(new Xi),i=this._register(new HJ(this._editor,{extractLineNumberFromMouseEvent:t=>{const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);return i?i.lineNumber:0}})),e=t=>{if(!this._editor.hasModel())return null;if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return null;const i=t.target.element;if(!i||i.innerText!==i.innerHTML)return null;const e=this._stickyScrollWidget.getEditorPositionFromNode(i);return e?{range:new Ms(e.lineNumber,e.column,e.lineNumber,e.column+i.innerText.length),textElement:i}:null},s=this._stickyScrollWidget.getDomNode();this._register(qa(s,Ll.CLICK,(t=>{if(t.ctrlKey||t.altKey||t.metaKey)return;if(!t.leftButton)return;if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i)return;const e=new As(this._endLineNumbers[i],1);return void this._revealLineInCenterIfOutsideViewport(e)}if(this._stickyScrollWidget.isInFoldingIconDomNode(t.target)){const i=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);return void this._toggleFoldingRegionForLine(i)}if(!this._stickyScrollWidget.isInStickyLine(t.target))return;let i=this._stickyScrollWidget.getEditorPositionFromNode(t.target);if(!i){const e=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);if(null===e)return;i=new As(e,1)}this._revealPosition(i)}))),this._register(qa(s,Ll.MOUSE_MOVE,(t=>{if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i||null!==this._showEndForLine&&this._showEndForLine===i)return;return this._showEndForLine=i,void this._renderStickyScroll()}null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(Va(s,Ll.MOUSE_LEAVE,(()=>{null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(i.onMouseMoveOrRelevantKeyDown((([i,s])=>{const n=e(i);if(!n||!i.hasTriggerModifier||!this._editor.hasModel())return void t.clear();const{range:o,textElement:r}=n;if(o.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===r.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=o,t.clear();const h=new Ce;let c;t.add(Yi((()=>h.dispose(!0)))),VY(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new As(o.startLineNumber,o.startColumn+1),h.token).then((i=>{if(!h.token.isCancellationRequested)if(0!==i.length){this._candidateDefinitionsLength=i.length;const e=r;c!==e?(t.clear(),c=e,c.style.textDecoration="underline",t.add(Yi((()=>{c.style.textDecoration="none"})))):c||(c=e,c.style.textDecoration="underline",t.add(Yi((()=>{c.style.textDecoration="none"}))))}else t.clear()}))}))),this._register(i.onCancel((()=>{t.clear()}))),this._register(i.onExecute((async t=>{if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return;const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);i&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:i.lineNumber,column:1})),this._instaService.invokeFunction(E9,t,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))})))}_onContextMenu(t,i){const e=new tc(t,i);this._contextMenuService.showContextMenu({menuId:Rh.StickyScrollContext,getAnchor:()=>e})}_toggleFoldingRegionForLine(t){if(!this._foldingModel||null===t)return;const i=this._stickyScrollWidget.getStickyLineForLine(t),e=null==i?void 0:i.foldingIcon;if(!e)return;U4(this._foldingModel,Number.MAX_VALUE,[t]),e.isCollapsed=!e.isCollapsed;const s=this._editor.getTopForLineNumber(e.isCollapsed?e.foldingEndLine:e.foldingStartLine)-this._editor.getOption(66)*i.index+1;this._editor.setScrollTop(s),this._renderStickyScroll(t)}_readConfiguration(){const t=this._editor.getOption(114);if(!1===t.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);t.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((t=>this._onTokensChange(t)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=null,this._renderStickyScroll()}))),this._enabled=!0),2===this._editor.getOption(67).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=null,this._renderStickyScroll(-1)})))}_needsUpdate(t){const i=this._stickyScrollWidget.getCurrentLines();for(const e of i)for(const i of t.ranges)if(e>=i.fromLineNumber&&e<=i.toLineNumber)return!0;return!1}_onTokensChange(t){this._needsUpdate(t)&&this._renderStickyScroll(-1)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(66);this._maxStickyLines=Math.round(.25*t)}async _renderStickyScroll(t=1/0){var i,e;const s=this._editor.getModel();if(!s||s.isTooLargeForTokenization())return this._foldingModel=null,void this._stickyScrollWidget.setState(void 0,null,t);const n=this._stickyLineCandidateProvider.getVersionId();if(void 0===n||n===s.getVersionId())if(this._foldingModel=null!==(e=await(null===(i=g5.get(this._editor))||void 0===i?void 0:i.getFoldingModel()))&&void 0!==e?e:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(!(0===this._widgetState.startLineNumbers.length)),this._focused)if(-1===this._focusedStickyElementIndex)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const i=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),0===this._stickyScrollWidget.lineNumberCount?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(i)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}else this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t)}findScrollWidgetState(){const t=this._editor.getOption(66),i=Math.min(this._maxStickyLines,this._editor.getOption(114).maxLineCount),e=this._editor.getScrollTop();let s=0;const n=[],o=[],r=this._editor.getVisibleRanges();if(0!==r.length){const h=new j8(r[0].startLineNumber,r[r.length-1].endLineNumber),c=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(h);for(const r of c){const h=r.startLineNumber,c=r.endLineNumber,a=r.nestingDepth;if(c-h>0){const r=(a-1)*t,l=a*t,u=this._editor.getBottomForLineNumber(h)-e,d=this._editor.getTopForLineNumber(c)-e,f=this._editor.getBottomForLineNumber(c)-e;if(r>d&&r<=f){n.push(h),o.push(c+1),s=f-l;break}if(l>u&&l<=f&&(n.push(h),o.push(c+1)),n.length===i)break}}}return this._endLineNumbers=o,new O8(n,o,s,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};ott.ID="store.contrib.stickyScrollController",ott=stt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([ntt(1,lI),ntt(2,xg),ntt(3,ur),ntt(4,Xd),ntt(5,gR),ntt(6,ah)],ott);const rtt=100;lu(ott.ID,ott,1),$h(class extends Ph{constructor(){super({id:"editor.action.toggleStickyScroll",title:{value:ot(0,"Toggle Sticky Scroll"),mnemonicTitle:ot(0,"&&Toggle Sticky Scroll"),original:"Toggle Sticky Scroll"},category:R8.View,toggled:{condition:zr.equals("config.editor.stickyScroll.enabled",!0),title:ot(0,"Sticky Scroll"),mnemonicTitle:ot(0,"&&Sticky Scroll")},menu:[{id:Rh.CommandPalette},{id:Rh.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Rh.StickyScrollContext}]})}async run(t){const i=t.get(pd),e=!i.getValue("editor.stickyScroll.enabled");return i.updateValue("editor.stickyScroll.enabled",e)}}),$h(class extends ou{constructor(){super({id:"editor.action.focusStickyScroll",title:{value:ot(0,"Focus Sticky Scroll"),mnemonicTitle:ot(0,"&&Focus Sticky Scroll"),original:"Focus Sticky Scroll"},precondition:zr.and(zr.has("config.editor.stickyScroll.enabled"),YC.stickyScrollVisible),menu:[{id:Rh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=ott.get(i))||void 0===e||e.focus()}}),$h(class extends ou{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:{value:ot(0,"Select previous sticky scroll line"),original:"Select previous sticky scroll line"},precondition:YC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:rtt,primary:16}})}runEditorCommand(t,i){var e;null===(e=ott.get(i))||void 0===e||e.focusPrevious()}}),$h(class extends ou{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:{value:ot(0,"Select next sticky scroll line"),original:"Select next sticky scroll line"},precondition:YC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:rtt,primary:18}})}runEditorCommand(t,i){var e;null===(e=ott.get(i))||void 0===e||e.focusNext()}}),$h(class extends ou{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:{value:ot(0,"Go to focused sticky scroll line"),original:"Go to focused sticky scroll line"},precondition:YC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:rtt,primary:3}})}runEditorCommand(t,i){var e;null===(e=ott.get(i))||void 0===e||e.goToFocused()}}),$h(class extends ou{constructor(){super({id:"editor.action.selectEditor",title:{value:ot(0,"Select Editor"),original:"Select Editor"},precondition:YC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:rtt,primary:9}})}runEditorCommand(t,i){var e;null===(e=ott.get(i))||void 0===e||e.selectEditor()}});var htt,ctt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},att=function(t,i){return function(e,s){i(e,s,t)}};class ltt{constructor(t,i,e,s,n,o){this.range=t,this.insertText=i,this.filterText=e,this.additionalTextEdits=s,this.command=n,this.completion=o}}let utt=class extends ee{constructor(t,i,e,s,n,o){super(n.disposable),this.model=t,this.line=i,this.word=e,this.completionModel=s,this._suggestMemoryService=o}canBeReused(t,i,e){return this.model===t&&this.line===i&&this.word.word.length>0&&this.word.startColumn===e.startColumn&&this.word.endColumn=0&&e.resolve(ke.None)}return i}};utt=ctt([att(5,e6)],utt);let dtt=class{constructor(t,i,e,s){this._getEditorOption=t,this._languageFeatureService=i,this._clipboardService=e,this._suggestMemoryService=s}async provideInlineCompletions(t,i,e,s){var n;if(e.selectedSuggestionInfo)return;const o=this._getEditorOption(88,t);if(L3.isAllOff(o))return;t.tokenization.tokenizeIfCheap(i.lineNumber);const r=t.tokenization.getLineTokens(i.lineNumber),h=r.getStandardTokenType(r.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("inline"!==L3.valueFor(o,h))return;let c,a,l=t.getWordAtPosition(i);if((null==l?void 0:l.word)||(c=this._getTriggerCharacterInfo(t,i)),!(null==l?void 0:l.word)&&!c)return;if(l||(l=t.getWordUntilPosition(i)),l.endColumn!==i.column)return;const u=t.getValueInRange(new Ms(i.lineNumber,1,i.lineNumber,i.column));if(!c&&(null===(n=this._lastResult)||void 0===n?void 0:n.canBeReused(t,i.lineNumber,l))){const t=new l6(u,i.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=t,this._lastResult.acquire(),a=this._lastResult}else{const e=await E3(this._languageFeatureService.completionProvider,t,i,new S3(void 0,void 0,null==c?void 0:c.providers),c&&{triggerKind:1,triggerCharacter:c.ch},s);let n;e.needsClipboard&&(n=await this._clipboardService.readText());const o=new u6(e.items,i.column,new l6(u,0),a6.None,this._getEditorOption(117,t),this._getEditorOption(111,t),{boostFullMatch:!1,firstMatchCanBeWeak:!1},n);a=new utt(t,i.lineNumber,l,o,e,this._suggestMemoryService)}return this._lastResult=a,a}handleItemDidShow(t,i){i.completion.resolve(ke.None)}freeInlineCompletions(t){t.release()}_getTriggerCharacterInfo(t,i){var e;const s=t.getValueInRange(Ms.fromPositions({lineNumber:i.lineNumber,column:i.column-1},i)),n=new Set;for(const i of this._languageFeatureService.completionProvider.all(t))(null===(e=i.triggerCharacters)||void 0===e?void 0:e.includes(s))&&n.add(i);if(0!==n.size)return{providers:n,ch:s}}};dtt=ctt([att(1,xg),att(2,yH),att(3,e6)],dtt);let ftt=htt=class{constructor(t,i,e,s){if(1==++htt._counter){const n=s.createInstance(dtt,((i,s)=>{var n;return(null!==(n=e.listCodeEditors().find((t=>t.getModel()===s)))&&void 0!==n?n:t).getOption(i)}));htt._disposable=i.inlineCompletionsProvider.register("*",n)}}dispose(){var t;0==--htt._counter&&(null===(t=htt._disposable)||void 0===t||t.dispose(),htt._disposable=void 0)}};ftt._counter=0,ftt=htt=ctt([att(1,xg),att(2,fr),att(3,ur)],ftt),lu("suggest.inlineCompletionsProvider",ftt,0),cu(class extends su{constructor(){super({id:"editor.action.forceRetokenize",label:ot(0,"Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getModel();e.tokenization.resetTokenization();const s=new re;e.tokenization.forceTokenization(e.getLineCount()),s.stop(),console.log(`tokenization took ${s.elapsed()}`)}});class ptt extends Ph{constructor(){super({id:ptt.ID,title:{value:ot(0,"Toggle Tab Key Moves Focus"),original:"Toggle Tab Key Moves Focus"},precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const t=!Gm.getTabFocusMode();Gm.setTabFocusMode(t),Pm(ot(0,t?"Pressing Tab will now move focus to the next focusable element":"Pressing Tab will now insert the tab character"))}}ptt.ID="editor.action.toggleTabFocusMode",$h(ptt);let gtt=class extends te{get enabled(){return this._enabled}set enabled(t){t?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=t}constructor(t,i,e={},s){var n;super(),this._link=i,this._enabled=!0,this.el=Ol(t,$l("a.monaco-link",{tabIndex:null!==(n=i.tabIndex)&&void 0!==n?n:0,href:i.href,title:i.title},i.label)),this.el.setAttribute("role","button");const o=this._register(new Bk(this.el,"click")),r=this._register(new Bk(this.el,"keypress")),h=he.chain(r.event,(t=>t.map((t=>new Qh(t))).filter((t=>3===t.keyCode)))),c=this._register(new Bk(this.el,ow.Tap)).event;this._register(rw.addTarget(this.el));const a=he.any(o.event,h,c);this._register(a((t=>{this.enabled&&(Fl(t,!0),(null==e?void 0:e.opener)?e.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))}))),this.enabled=!0}};gtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,dP)],gtt);var mtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},wtt=function(t,i){return function(e,s){i(e,s,t)}};let vtt=class extends te{constructor(t,i){super(),this._editor=t,this.instantiationService=i,this.banner=this._register(this.instantiationService.createInstance(btt))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(t){this.banner.show({...t,onClose:()=>{var i;this.hide(),null===(i=t.onClose)||void 0===i||i.call(t)}}),this._editor.setBanner(this.banner.element,26)}};vtt=mtt([wtt(1,ur)],vtt);let btt=class extends te{constructor(t){super(),this.instantiationService=t,this.markdownRenderer=this.instantiationService.createInstance(lQ,{}),this.element=$l("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(t){return t.ariaLabel?t.ariaLabel:"string"==typeof t.message?t.message:void 0}getBannerMessage(t){if("string"==typeof t){const i=$l("span");return i.innerText=t,i}return this.markdownRenderer.render(t).element}clear(){za(this.element)}show(t){za(this.element);const i=this.getAriaLabel(t);i&&this.element.setAttribute("aria-label",i);const e=Ol(this.element,$l("div.icon-container"));e.setAttribute("aria-hidden","true"),t.icon&&e.appendChild($l(`div${Cr.asCSSSelector(t.icon)}`));const s=Ol(this.element,$l("div.message-container"));if(s.setAttribute("aria-hidden","true"),s.appendChild(this.getBannerMessage(t.message)),this.messageActionsContainer=Ol(this.element,$l("div.message-actions-container")),t.actions)for(const i of t.actions)this._register(this.instantiationService.createInstance(gtt,this.messageActionsContainer,{...i,tabIndex:-1},{}));const n=Ol(this.element,$l("div.action-container"));this.actionBar=this._register(new YB(n)),this.actionBar.push(this._register(new mr("banner.close","Close Banner",Cr.asClassName(Gz),!0,(()=>{"function"==typeof t.onClose&&t.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};btt=mtt([wtt(0,ur)],btt);var ytt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},ktt=function(t,i){return function(e,s){i(e,s,t)}};const xtt=Hz("extensions-warning-message",Os.warning,ot(0,"Icon shown with a warning message in the extensions editor."));let Ctt=class extends te{constructor(t,i,e,s){super(),this._editor=t,this._editorWorkerService=i,this._workspaceTrustService=e,this._highlighter=null,this._bannerClosed=!1,this._updateState=t=>{if(t&&t.hasMore){if(this._bannerClosed)return;const i=Math.max(t.ambiguousCharacterCount,t.nonBasicAsciiCharacterCount,t.invisibleCharacterCount);let e;if(t.nonBasicAsciiCharacterCount>=i)e={message:ot(0,"This document contains many non-basic ASCII unicode characters"),command:new _tt};else if(t.ambiguousCharacterCount>=i)e={message:ot(0,"This document contains many ambiguous unicode characters"),command:new Ott};else{if(!(t.invisibleCharacterCount>=i))throw new Error("Unreachable");e={message:ot(0,"This document contains many invisible unicode characters"),command:new Itt}}this._bannerController.show({id:"unicodeHighlightBanner",message:e.message,icon:xtt,actions:[{label:e.command.shortLabel,href:`command:${e.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(s.createInstance(vtt,t)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=t.getOption(124),this._register(e.onDidChangeTrust((()=>{this._updateHighlighter()}))),this._register(t.onDidChangeConfiguration((i=>{i.hasChanged(124)&&(this._options=t.getOption(124),this._updateHighlighter())}))),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const t=function(t,i){return{nonBasicASCII:i.nonBasicASCII===Ci?!t:i.nonBasicASCII,ambiguousCharacters:i.ambiguousCharacters,invisibleCharacters:i.invisibleCharacters,includeComments:i.includeComments===Ci?!t:i.includeComments,includeStrings:i.includeStrings===Ci?!t:i.includeStrings,allowedCharacters:i.allowedCharacters,allowedLocales:i.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([t.nonBasicASCII,t.ambiguousCharacters,t.invisibleCharacters].every((t=>!1===t)))return;const i={nonBasicASCII:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments,includeStrings:t.includeStrings,allowedCodePoints:Object.keys(t.allowedCharacters).map((t=>t.codePointAt(0))),allowedLocales:Object.keys(t.allowedLocales).map((t=>"_os"===t?(new Intl.NumberFormat).resolvedOptions().locale:"_vscode"===t?Tt:t))};this._highlighter=this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?new Stt(this._editor,i,this._updateState,this._editorWorkerService):new Dtt(this._editor,i,this._updateState)}getDecorationInfo(t){return this._highlighter?this._highlighter.getDecorationInfo(t):null}};Ctt.ID="editor.contrib.unicodeHighlighter",Ctt=ytt([ktt(1,vP),ktt(2,cI),ktt(3,ur)],Ctt);let Stt=class extends te{constructor(t,i,e,s){super(),this._editor=t,this._options=i,this._updateState=e,this._editorWorkerService=s,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new pc((()=>this._update()),250)),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const t=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((i=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==t)return;this._updateState(i);const e=[];if(!i.hasMore)for(const t of i.ranges)e.push({range:t,options:Ftt.instance.getDecorationFromOptions(this._options)});this._decorations.set(e)}))}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel();return RF(i,t)?{reason:Ltt(i.getValueInRange(t.range),this._options),inComment:OF(i,t),inString:IF(i,t)}:null}};Stt=ytt([ktt(3,vP)],Stt);class Dtt extends te{constructor(t,i,e){super(),this._editor=t,this._options=i,this._updateState=e,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new pc((()=>this._update()),250)),this._register(this._editor.onDidLayoutChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidScrollChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeHiddenAreas((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const t=this._editor.getVisibleRanges(),i=[],e={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const i of t){const t=Xf.computeUnicodeHighlights(this._model,this._options,i);for(const i of t.ranges)e.ranges.push(i);e.ambiguousCharacterCount+=e.ambiguousCharacterCount,e.invisibleCharacterCount+=e.invisibleCharacterCount,e.nonBasicAsciiCharacterCount+=e.nonBasicAsciiCharacterCount,e.hasMore=e.hasMore||t.hasMore}if(!e.hasMore)for(const t of e.ranges)i.push({range:t,options:Ftt.instance.getDecorationFromOptions(this._options)});this._updateState(e),this._decorations.set(i)}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel(),e=i.getValueInRange(t.range);return RF(i,t)?{reason:Ltt(e,this._options),inComment:OF(i,t),inString:IF(i,t)}:null}}let Ett=class{constructor(t,i,e){this._editor=t,this._languageService=i,this._openerService=e,this.hoverOrdinal=5}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=this._editor.getContribution(Ctt.ID);if(!s)return[];const n=[],o=new Set;let r=300;for(const t of i){const i=s.getDecorationInfo(t);if(!i)continue;const h=e.getValueInRange(t.range).codePointAt(0),c=Mtt(h);let a;switch(i.reason.kind){case 0:a=Eo(i.reason.confusableWith)?ot(0,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",c,Mtt(i.reason.confusableWith.codePointAt(0))):ot(0,"The character {0} could be confused with the character {1}, which is more common in source code.",c,Mtt(i.reason.confusableWith.codePointAt(0)));break;case 1:a=ot(0,"The character {0} is invisible.",c);break;case 2:a=ot(0,"The character {0} is not a basic ASCII character.",c)}if(o.has(a))continue;o.add(a);const l={codePoint:h,reason:i.reason,inComment:i.inComment,inString:i.inString},u=ot(0,"Adjust settings"),d=`command:${Ntt.ID}?${encodeURIComponent(JSON.stringify(l))}`,f=new N_("",!0).appendMarkdown(a).appendText(" ").appendLink(d,u);n.push(new UX(this,t.range,[f],!1,r++))}return n}renderHoverParts(t,i){return KX(t,i,this._editor,this._languageService,this._openerService)}};function Att(t){return`U+${t.toString(16).padStart(4,"0")}`}function Mtt(t){let i=`\`${Att(t)}\``;return Po.isInvisibleCharacter(t)||(i+=` "${function(t){return 96===t?"`` ` ``":"`"+String.fromCodePoint(t)+"`"}(t)}"`),i}function Ltt(t,i){return Xf.computeUnicodeHighlightReason(t,i)}Ett=ytt([ktt(1,yd),ktt(2,dP)],Ett);class Ftt{constructor(){this.map=new Map}getDecorationFromOptions(t){return this.getDecoration(!t.includeComments,!t.includeStrings)}getDecoration(t,i){const e=`${t}${i}`;let s=this.map.get(e);return s||(s=AL.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:t,hideInStringTokens:i}),this.map.set(e,s)),s}}Ftt.instance=new Ftt;class Ttt extends su{constructor(){super({id:Ott.ID,label:ot(0,"Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=ot(0,"Disable Highlight In Comments")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Mi,!1,2)}}class Rtt extends su{constructor(){super({id:Ott.ID,label:ot(0,"Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=ot(0,"Disable Highlight In Strings")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Li,!1,2)}}class Ott extends su{constructor(){super({id:Ott.ID,label:ot(0,"Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=ot(0,"Disable Ambiguous Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ai,!1,2)}}Ott.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class Itt extends su{constructor(){super({id:Itt.ID,label:ot(0,"Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=ot(0,"Disable Invisible Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Di,!1,2)}}Itt.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class _tt extends su{constructor(){super({id:_tt.ID,label:ot(0,"Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=ot(0,"Disable Non ASCII Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ei,!1,2)}}_tt.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Ntt extends su{constructor(){super({id:Ntt.ID,label:ot(0,"Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(t,i,e){const{codePoint:s,reason:n,inString:o,inComment:r}=e,h=String.fromCodePoint(s),c=t.get(Oj),a=t.get(pd),l=[];if(0===n.kind)for(const t of n.notAmbiguousInLocales)l.push({label:ot(0,'Allow unicode characters that are more common in the language "{0}".',t),run:async()=>{Btt(a,[t])}});if(l.push({label:function(t){return Po.isInvisibleCharacter(t)?ot(0,"Exclude {0} (invisible character) from being highlighted",Att(t)):ot(0,"Exclude {0} from being highlighted",`${Att(t)} "${h}"`)}(s),run:()=>async function(t,i){const e=t.getValue(Si);let s;s="object"==typeof e&&e?e:{};for(const t of i)s[String.fromCodePoint(t)]=!0;await t.updateValue(Si,s,2)}(a,[s])}),r){const t=new Ttt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(o){const t=new Rtt;l.push({label:t.label,run:async()=>t.runAction(a)})}if(0===n.kind){const t=new Ott;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(1===n.kind){const t=new Itt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(2===n.kind){const t=new _tt;l.push({label:t.label,run:async()=>t.runAction(a)})}else!function(t){throw new Error(`Unexpected value: ${t}`)}(n);const u=await c.pick(l,{title:ot(0,"Configure Unicode Highlight Options")});u&&await u.run()}}async function Btt(t,i){var e;const s=null===(e=t.inspect(Fi).user)||void 0===e?void 0:e.value;let n;n="object"==typeof s&&s?Object.assign({},s):{};for(const t of i)n[t]=!0;await t.updateValue(Fi,n,2)}Ntt.ID="editor.action.unicodeHighlight.showExcludeOptions",cu(Ott),cu(Itt),cu(_tt),cu(Ntt),lu(Ctt.ID,Ctt,1),xX.register(Ett);var Ptt=function(t,i){return function(e,s){i(e,s,t)}};const $tt="ignoreUnusualLineTerminators";let Wtt=class extends te{constructor(t,i,e){super(),this._editor=t,this._dialogService=i,this._codeEditorService=e,this._isPresentingDialog=!1,this._config=this._editor.getOption(125),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(125)&&(this._config=this._editor.getOption(125),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((t=>{t.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const t=this._editor.getModel();if(!t.mightContainUnusualLineTerminators())return;const i=function(t,i){return t.getModelProperty(i.uri,$tt)}(this._codeEditorService,t);if(!0===i)return;if(this._editor.getOption(90))return;if("auto"===this._config)return void t.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let e;try{this._isPresentingDialog=!0,e=await this._dialogService.confirm({title:ot(0,"Unusual Line Terminators"),message:ot(0,"Detected unusual line terminators"),detail:ot(0,"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",bA(t.uri)),primaryButton:ot(0,"&&Remove Unusual Line Terminators"),cancelButton:ot(0,"Ignore")})}finally{this._isPresentingDialog=!1}e.confirmed?t.removeUnusualLineTerminators(this._editor.getSelections()):function(t,i){t.setModelProperty(i.uri,$tt,!0)}(this._codeEditorService,t)}};Wtt.ID="editor.contrib.unusualLineTerminatorsDetector",Wtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Ptt(1,JT),Ptt(2,fr)],Wtt),lu(Wtt.ID,Wtt,1);var jtt,ztt,Htt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Vtt=function(t,i){return function(e,s){i(e,s,t)}};const Utt=new ch("hasWordHighlights",!1);function qtt(t,i,e,s){return uc(t.ordered(i).map((t=>()=>Promise.resolve(t.provideDocumentHighlights(i,e,s)).then(void 0,Pi))),b).then((t=>{if(t){const e=new zp;return e.set(i.uri,t),e}return new zp}))}class Ktt{constructor(t,i,e){this._model=t,this._selection=i,this._wordSeparators=e,this._wordRange=this._getCurrentWordRange(t,i),this._result=null}get result(){return this._result||(this._result=nc((t=>this._compute(this._model,this._selection,this._wordSeparators,t)))),this._result}_getCurrentWordRange(t,i){const e=t.getWordAtPosition(i.getPosition());return e?new Ms(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):null}isValid(t,i,e){const s=i.startLineNumber,n=i.startColumn,o=i.endColumn,r=this._getCurrentWordRange(t,i);let h=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let t=0,i=e.length;!h&&t=o&&(h=!0)}return h}cancel(){this.result.cancel()}}class Gtt extends Ktt{constructor(t,i,e,s){super(t,i,e),this._providers=s}_compute(t,i,e,s){return qtt(this._providers,t,i.getPosition(),s).then((t=>t||new zp))}}class Ztt extends Ktt{constructor(t,i,e,s,n){super(t,i,e),this._providers=s,this._otherModels=n}_compute(t,i,e,s){return function(t,i,e,s,n,o){return uc(t.ordered(i).map((t=>()=>{const s=o.filter((i=>XR(t.selector,i.uri,i.getLanguageId(),!0,void 0,void 0)>0));return Promise.resolve(t.provideMultiDocumentHighlights(i,e,s,n)).then(void 0,Pi)})),(t=>t instanceof zp&&t.size>0))}(this._providers,t,i.getPosition(),0,s,this._otherModels).then((t=>t||new zp))}}class Qtt extends Ktt{constructor(t,i,e,s,n){super(t,i,s),this._otherModels=n,this._selectionIsEmpty=i.isEmpty(),this._word=e}_compute(t,i,e,s){return ac(250,s).then((()=>{const s=new zp;let n;if(n=this._word?this._word:t.getWordAtPosition(i.getPosition()),!n)return new zp;const o=[t,...this._otherModels];for(const t of o){if(t.isDisposed())continue;const i=t.findMatches(n.word,!0,!1,!0,e,!1).map((t=>({range:t.range,kind:js.Text})));i&&s.set(t.uri,i)}return s}))}isValid(t,i,e){const s=i.isEmpty();return this._selectionIsEmpty===s&&super.isValid(t,i,e)}}ru("_executeDocumentHighlights",(async(t,i,e)=>{const s=t.get(xg),n=await qtt(s.documentHighlightProvider,i,e,ke.None);return null==n?void 0:n.get(i.uri)}));let Jtt=jtt=class{constructor(t,i,e,s,n){this.toUnhook=new Xi,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new zp,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=t,this.providers=i,this.multiDocumentProviders=e,this.codeEditorService=n,this._hasWordHighlights=Utt.bindTo(s),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(80),this.model=this.editor.getModel(),this.toUnhook.add(t.onDidChangeCursorPosition((t=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this._onPositionChanged(t)}))),this.toUnhook.add(t.onDidChangeModelContent((()=>{this._stopAll()}))),this.toUnhook.add(t.onDidChangeModel((t=>{!t.newModelUrl&&t.oldModelUrl?this._stopSingular():jtt.query&&this._run()}))),this.toUnhook.add(t.onDidChangeConfiguration((()=>{const t=this.editor.getOption(80);this.occurrencesHighlight!==t&&(this.occurrencesHighlight=t,this._stopAll())}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,jtt.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(Ms.compareRangesUsingStarts)}moveNext(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i+1)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&Pm(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i-1+t.length)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&Pm(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const t=jtt.storedDecorations.get(this.editor.getModel().uri);t&&(this.editor.removeDecorations(t),jtt.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const t=this.codeEditorService.listCodeEditors();for(const i of t){if(!i.hasModel())continue;const t=jtt.storedDecorations.get(i.getModel().uri);if(!t)continue;i.removeDecorations(t),jtt.storedDecorations.delete(i.getModel().uri);const e=Ytt.get(i);(null==e?void 0:e.wordHighlighter)&&e.wordHighlighter.decorations.length>0&&(e.wordHighlighter.decorations.clear(),e.wordHighlighter._hasWordHighlights.set(!1))}}_stopSingular(){var t,i,e,s;this._removeSingleDecorations(),this.editor.hasWidgetFocus()&&((null===(t=this.editor.getModel())||void 0===t?void 0:t.uri.scheme)!==ka.vscodeNotebookCell&&(null===(e=null===(i=jtt.query)||void 0===i?void 0:i.modelInfo)||void 0===e?void 0:e.model.uri.scheme)!==ka.vscodeNotebookCell?(jtt.query=null,this._run()):(null===(s=jtt.query)||void 0===s?void 0:s.modelInfo)&&(jtt.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(t){var i;"off"===this.occurrencesHighlight||3!==t.reason&&(null===(i=this.editor.getModel())||void 0===i?void 0:i.uri.scheme)!==ka.vscodeNotebookCell?this._stopAll():this._run()}_getWord(){const t=this.editor.getSelection(),i=t.startLineNumber,e=t.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:i,column:e})}getOtherModelsToHighlight(t){if(!t)return[];if(t.uri.scheme===ka.vscodeNotebookCell){const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){const e=s.getModel();e&&e!==t&&e.uri.scheme===ka.vscodeNotebookCell&&i.push(e)}return i}const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){if(!EK(s))continue;const e=s.getModel();e&&t===e.modified&&i.push(e.modified)}if(i.length)return i;if("singleFile"===this.occurrencesHighlight)return[];for(const s of e){const e=s.getModel();e&&e!==t&&i.push(e)}return i}_run(){var t,i;let e;if(this.editor.hasWidgetFocus()){const t=this.editor.getSelection();if(!t||t.startLineNumber!==t.endLineNumber)return void this._stopAll();const i=t.startColumn,s=t.endColumn,n=this._getWord();if(!n||n.startColumn>i||n.endColumn{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=t||[],this._beginRenderDecorations())}),Bi)}}computeWithModel(t,i,e,s){return s.length?function(t,i,e,s,n,o){return t.has(i)?new Ztt(i,e,n,t,o):new Qtt(i,e,s,n,o)}(this.multiDocumentProviders,t,i,e,this.editor.getOption(129),s):function(t,i,e,s,n){return t.has(i)?new Gtt(i,e,n,t):new Qtt(i,e,s,n,[])}(this.providers,t,i,e,this.editor.getOption(129))}_beginRenderDecorations(){const t=(new Date).getTime(),i=this.lastCursorPositionChangeTime+250;t>=i?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((()=>{this.renderDecorations()}),i-t)}renderDecorations(){var t,i,e;this.renderDecorationsTimer=-1;const s=this.codeEditorService.listCodeEditors();for(const o of s){const s=Ytt.get(o);if(!s)continue;const r=[],h=null===(t=o.getModel())||void 0===t?void 0:t.uri;if(h&&this.workerRequestValue.has(h)){const t=jtt.storedDecorations.get(h),c=this.workerRequestValue.get(h);if(c)for(const t of c)r.push({range:t.range,options:(n=t.kind,n===js.Write?x7:n===js.Text?C7:E7)});let a=[];o.changeDecorations((i=>{a=i.deltaDecorations(null!=t?t:[],r)})),jtt.storedDecorations=jtt.storedDecorations.set(h,a),r.length>0&&(null===(i=s.wordHighlighter)||void 0===i||i.decorations.set(r),null===(e=s.wordHighlighter)||void 0===e||e._hasWordHighlights.set(!0))}}var n}dispose(){this._stopSingular(),this.toUnhook.dispose()}};Jtt.storedDecorations=new zp,Jtt.query=null,Jtt=jtt=Htt([Vtt(4,fr)],Jtt);let Ytt=ztt=class extends te{static get(t){return t.getContribution(ztt.ID)}constructor(t,i,e,s){super(),this._wordHighlighter=null;const n=()=>{t.hasModel()&&!t.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new Jtt(t,e.documentHighlightProvider,e.multiDocumentHighlightProvider,i,s))};this._register(t.onDidChangeModel((()=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),n()}))),n()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveNext()}moveBack(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveBack()}restoreViewState(t){this._wordHighlighter&&t&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};Ytt.ID="editor.contrib.wordHighlighter",Ytt=ztt=Htt([Vtt(1,ah),Vtt(2,xg),Vtt(3,fr)],Ytt);class Xtt extends su{constructor(t,i){super(i),this._isNext=t}run(t,i){const e=Ytt.get(i);e&&(this._isNext?e.moveNext():e.moveBack())}}lu(Ytt.ID,Ytt,0),cu(class extends Xtt{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:ot(0,"Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:Utt,kbOpts:{kbExpr:YC.editorTextFocus,primary:65,weight:100}})}}),cu(class extends Xtt{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:ot(0,"Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:Utt,kbOpts:{kbExpr:YC.editorTextFocus,primary:1089,weight:100}})}}),cu(class extends su{constructor(){super({id:"editor.action.wordHighlight.trigger",label:ot(0,"Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:Utt.toNegated(),kbOpts:{kbExpr:YC.editorTextFocus,primary:0,weight:100}})}run(t,i,e){const s=Ytt.get(i);s&&s.restoreViewState(!0)}});class tit extends eu{constructor(t){super(t),this._inSelectionMode=t.inSelectionMode,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){if(!i.hasModel())return;const s=If(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=new As(t.positionLineNumber,t.positionColumn),e=this._move(s,n,i,this._wordNavigationType);return this._moveTo(t,e,this._inSelectionMode)}));if(n.pushStackElement(),i._getViewModel().setCursorStates("moveWordCommand",3,o.map((t=>gC.fromModelSelection(t)))),1===o.length){const t=new As(o[0].positionLineNumber,o[0].positionColumn);i.revealPosition(t,0)}}_moveTo(t,i,e){return e?new Ls(t.selectionStartLineNumber,t.selectionStartColumn,i.lineNumber,i.column):new Ls(i.lineNumber,i.column,i.lineNumber,i.column)}}class iit extends tit{_move(t,i,e,s){return FC.moveWordLeft(t,i,e,s)}}class eit extends tit{_move(t,i,e,s){return FC.moveWordRight(t,i,e,s)}}class sit extends eu{constructor(t){super(t),this._whitespaceHeuristics=t.whitespaceHeuristics,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){const s=t.get(Xd);if(!i.hasModel())return;const n=If(i.getOption(129)),o=i.getModel(),r=i.getSelections(),h=i.getOption(6),c=i.getOption(11),a=s.getLanguageConfiguration(o.getLanguageId()).getAutoClosingPairs(),l=i._getViewModel(),u=r.map((t=>{const e=this._delete({wordSeparators:n,model:o,selection:t,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:i.getOption(9),autoClosingBrackets:h,autoClosingQuotes:c,autoClosingPairs:a,autoClosedCharacters:l.getCursorAutoClosedCharacters()},this._wordNavigationType);return new xC(e,"")}));i.pushUndoStop(),i.executeCommands(this.id,u),i.pushUndoStop()}}class nit extends sit{_delete(t,i){return FC.deleteWordLeft(t,i)||new Ms(1,1,1,1)}}class oit extends sit{_delete(t,i){const e=FC.deleteWordRight(t,i);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ms(s,n,s,n)}}hu(new class extends iit{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),hu(new class extends iit{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),hu(new class extends iit{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:zr.and(YC.textInputFocus,null===(t=zr.and(Qm,bW))||void 0===t?void 0:t.negate()),primary:2063,mac:{primary:527},weight:100}})}}),hu(new class extends iit{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),hu(new class extends iit{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),hu(new class extends iit{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:zr.and(YC.textInputFocus,null===(t=zr.and(Qm,bW))||void 0===t?void 0:t.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),hu(new class extends eit{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),hu(new class extends eit{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:zr.and(YC.textInputFocus,null===(t=zr.and(Qm,bW))||void 0===t?void 0:t.negate()),primary:2065,mac:{primary:529},weight:100}})}}),hu(new class extends eit{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),hu(new class extends eit{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),hu(new class extends eit{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:zr.and(YC.textInputFocus,null===(t=zr.and(Qm,bW))||void 0===t?void 0:t.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),hu(new class extends eit{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),hu(new class extends iit{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(t,i,e,s){return super._move(If(_i.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends iit{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(t,i,e,s){return super._move(If(_i.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends eit{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(t,i,e,s){return super._move(If(_i.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends eit{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(t,i,e,s){return super._move(If(_i.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends nit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:YC.writable})}}),hu(new class extends nit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:YC.writable})}}),hu(new class extends nit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:YC.writable,kbOpts:{kbExpr:YC.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),hu(new class extends oit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:YC.writable})}}),hu(new class extends oit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:YC.writable})}}),hu(new class extends oit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:YC.writable,kbOpts:{kbExpr:YC.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),cu(class extends su{constructor(){super({id:"deleteInsideWord",precondition:YC.writable,label:ot(0,"Delete Word"),alias:"Delete Word"})}run(t,i,e){if(!i.hasModel())return;const s=If(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=FC.deleteInsideWord(s,n,t);return new xC(i,"")}));i.pushUndoStop(),i.executeCommands(this.id,o),i.pushUndoStop()}});class rit extends tit{_move(t,i,e,s){return TC.moveWordPartLeft(t,i,e)}}Dr.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft"),Dr.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class hit extends tit{_move(t,i,e,s){return TC.moveWordPartRight(t,i,e)}}hu(new class extends sit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:YC.writable,kbOpts:{kbExpr:YC.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(t,i){return TC.deleteWordPartLeft(t)||new Ms(1,1,1,1)}}),hu(new class extends sit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:YC.writable,kbOpts:{kbExpr:YC.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(t,i){const e=TC.deleteWordPartRight(t);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ms(s,n,s,n)}}),hu(new class extends rit{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:YC.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),hu(new class extends rit{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:YC.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),hu(new class extends hit{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:YC.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),hu(new class extends hit{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:YC.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});class cit extends te{constructor(t){super(),this.editor=t,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const t=gQ.get(this.editor);if(t&&this.editor.hasModel()){let i=this.editor.getOptions().get(91);i||(i=new N_(ot(0,this.editor.isSimpleWidget?"Cannot edit in read-only input":"Cannot edit in read-only editor"))),t.showMessage(i,this.editor.getPosition())}}}cit.ID="editor.contrib.readOnlyMessageController",lu(cit.ID,cit,2);class ait extends te{constructor(t){super(),this.editor=t,this.widget=null,Mt&&(this._register(t.onDidChangeConfiguration((()=>this.update()))),this.update())}update(){const t=!this.editor.getOption(90);!this.widget&&t?this.widget=new lit(this.editor):this.widget&&!t&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}ait.ID="editor.contrib.iPadShowKeyboard";class lit extends te{constructor(t){super(),this.editor=t,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Va(this._domNode,"touchstart",(()=>{this.editor.focus()}))),this._register(Va(this._domNode,"focus",(()=>{this.editor.focus()}))),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return lit.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}lit.ID="editor.contrib.ShowKeyboardWidget",lu(ait.ID,ait,3);var uit,dit=function(t,i){return function(e,s){i(e,s,t)}};let fit=uit=class extends te{static get(t){return t.getContribution(uit.ID)}constructor(t,i,e){super(),this._editor=t,this._languageService=e,this._widget=null,this._register(this._editor.onDidChangeModel((()=>this.stop()))),this._register(this._editor.onDidChangeModelLanguage((()=>this.stop()))),this._register(Zs.onDidChange((()=>this.stop()))),this._register(this._editor.onKeyUp((t=>9===t.keyCode&&this.stop())))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new pit(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};fit.ID="editor.contrib.inspectTokens",fit=uit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([dit(1,rH),dit(2,yd)],fit);class pit extends te{constructor(t,i){super(),this.allowEditorOverflow=!0,this._editor=t,this._languageService=i,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=function(t,i){const e=Zs.get(i);if(e)return e;const s=t.encodeLanguageId(i);return{getInitialState:()=>Ig,tokenize:(t,e,s)=>_g(i,s),tokenizeEncoded:(t,i,e)=>Ng(s,e)}}(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((()=>this._compute(this._editor.getPosition())))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return pit._ID}_compute(t){const i=this._getTokensAtLine(t.lineNumber);let e=0;for(let s=i.tokens1.length-1;s>=0;s--)if(t.column-1>=i.tokens1[s].offset){e=s;break}let s=0;for(let e=i.tokens2.length>>>1;e>=0;e--)if(t.column-1>=i.tokens2[e<<1]){s=e;break}const n=this._model.getLineContent(t.lineNumber);let o="";e{const[i]=t.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),i.add(t.onDidChangeValue((t=>{const i=this.registry.getQuickAccessProvider(t.substr(git.PREFIX.length));i&&i.prefix&&i.prefix!==git.PREFIX&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),t.items=this.getQuickAccessProviders().filter((t=>t.prefix!==git.PREFIX)),i}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort(((t,i)=>t.prefix.localeCompare(i.prefix))).flatMap((t=>this.createPicks(t)))}createPicks(t){return t.helpEntries.map((i=>{const e=i.prefix||t.prefix,s=e||"…";return{prefix:e,label:s,keybinding:i.commandId?this.keybindingService.lookupKeybinding(i.commandId):void 0,ariaLabel:ot(0,"{0}, {1}",s,i.description),description:i.description}}))}};wit.PREFIX="?",wit=git=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([mit(0,Oj),mit(1,oC)],wit),Dh.as(Lj).registerQuickAccessProvider({ctor:wit,prefix:"",helpEntries:[{description:eI.helpQuickAccessActionLabel}]});class vit{constructor(t){this.options=t,this.rangeHighlightDecorationId=void 0}provide(t,i){var e;const s=new Xi;t.canAcceptInBackground=!!(null===(e=this.options)||void 0===e?void 0:e.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const n=s.add(new ie);return n.value=this.doProvide(t,i),s.add(this.onDidActiveTextEditorControlChange((()=>{n.value=void 0,n.value=this.doProvide(t,i)}))),s}doProvide(t,i){var e;const s=new Xi,n=this.activeTextEditorControl;if(n&&this.canProvideWithTextEditor(n)){const o={editor:n},r=AK(n);if(r){let t=null!==(e=n.saveViewState())&&void 0!==e?e:void 0;s.add(r.onDidChangeCursorPosition((()=>{var i;t=null!==(i=n.saveViewState())&&void 0!==i?i:void 0}))),o.restoreViewState=()=>{t&&n===this.activeTextEditorControl&&n.restoreViewState(t)},s.add(Gi(i.onCancellationRequested)((()=>{var t;return null===(t=o.restoreViewState)||void 0===t?void 0:t.call(o)})))}s.add(Yi((()=>this.clearDecorations(n)))),s.add(this.provideWithTextEditor(o,t,i))}else s.add(this.provideWithoutTextEditor(t,i));return s}canProvideWithTextEditor(t){return!0}gotoLocation({editor:t},i){t.setSelection(i.range),t.revealRangeInCenter(i.range,0),i.preserveFocus||t.focus();const e=t.getModel();e&&"getLineContent"in e&&$m(`${e.getLineContent(i.range.startLineNumber)}`)}getModel(t){var i;return EK(t)?null===(i=t.getModel())||void 0===i?void 0:i.modified:t.getModel()}addDecorations(t,i){t.changeDecorations((t=>{const e=[];this.rangeHighlightDecorationId&&(e.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),e.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:i,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:tx(Rx),position:_f.Full}}}],[n,o]=t.deltaDecorations(e,s);this.rangeHighlightDecorationId={rangeHighlightId:n,overviewRulerDecorationId:o}}))}clearDecorations(t){const i=this.rangeHighlightDecorationId;i&&(t.changeDecorations((t=>{t.deltaDecorations([i.overviewRulerDecorationId,i.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}class bit extends vit{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(t){const i=ot(0,"Open a text editor first to go to a line.");return t.items=[{label:i}],t.ariaLabel=i,te.None}provideWithTextEditor(t,i,e){const s=t.editor,n=new Xi;n.add(i.onDidAccept((e=>{const[n]=i.selectedItems;if(n){if(!this.isValidLineNumber(s,n.lineNumber))return;this.gotoLocation(t,{range:this.toRange(n.lineNumber,n.column),keyMods:i.keyMods,preserveFocus:e.inBackground}),e.inBackground||i.hide()}})));const o=()=>{const t=this.parsePosition(s,i.value.trim().substr(bit.PREFIX.length)),e=this.getPickLabel(s,t.lineNumber,t.column);if(i.items=[{lineNumber:t.lineNumber,column:t.column,label:e}],i.ariaLabel=e,!this.isValidLineNumber(s,t.lineNumber))return void this.clearDecorations(s);const n=this.toRange(t.lineNumber,t.column);s.revealRangeInCenter(n,0),this.addDecorations(s,n)};o(),n.add(i.onDidChangeValue((()=>o())));const r=AK(s);return r&&2===r.getOptions().get(67).renderType&&(r.updateOptions({lineNumbers:"on"}),n.add(Yi((()=>r.updateOptions({lineNumbers:"relative"}))))),n}toRange(t=1,i=1){return{startLineNumber:t,startColumn:i,endLineNumber:t,endColumn:i}}parsePosition(t,i){const e=i.split(/,|:|#/).map((t=>parseInt(t,10))).filter((t=>!isNaN(t))),s=this.lineCount(t)+1;return{lineNumber:e[0]>0?e[0]:s+e[0],column:e[1]}}getPickLabel(t,i,e){if(this.isValidLineNumber(t,i))return this.isValidColumn(t,i,e)?ot(0,"Go to line {0} and character {1}.",i,e):ot(0,"Go to line {0}.",i);const s=t.getPosition()||{lineNumber:1,column:1},n=this.lineCount(t);return n>1?ot(0,"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",s.lineNumber,s.column,n):ot(0,"Current Line: {0}, Character: {1}. Type a line number to navigate to.",s.lineNumber,s.column)}isValidLineNumber(t,i){return!(!i||"number"!=typeof i)&&i>0&&i<=this.lineCount(t)}isValidColumn(t,i,e){if(!e||"number"!=typeof e)return!1;const s=this.getModel(t);if(!s)return!1;const n={lineNumber:i,column:e};return s.validatePosition(n).equals(n)}lineCount(t){var i,e;return null!==(e=null===(i=this.getModel(t))||void 0===i?void 0:i.getLineCount())&&void 0!==e?e:0}}bit.PREFIX=":";let yit=class extends bit{constructor(t){super(),this.editorService=t,this.onDidActiveTextEditorControlChange=he.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};yit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,fr)],yit);class kit extends su{constructor(){super({id:kit.ID,label:iI.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:2085,mac:{primary:293},weight:100}})}run(t){t.get(Oj).quickAccess.show(yit.PREFIX)}}kit.ID="editor.action.gotoLine",cu(kit),Dh.as(Lj).registerQuickAccessProvider({ctor:yit,prefix:yit.PREFIX,helpEntries:[{description:iI.gotoLineActionLabel,commandId:kit.ID}]});const xit=[void 0,[]];function Cit(t,i,e=0,s=0){return i.values&&i.values.length>1?function(t,i,e,s){let n=0;const o=[];for(const r of i){const[i,h]=Sit(t,r,e,s);if("number"!=typeof i)return xit;n+=i,o.push(...h)}return[n,Dit(o)]}(t,i.values,e,s):Sit(t,i,e,s)}function Sit(t,i,e,s){const n=S_(i.original,i.originalLowercase,e,t,t.toLowerCase(),s,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],l_(n)]:xit}function Dit(t){const i=t.sort(((t,i)=>t.start-i.start)),e=[];let s;for(const t of i)!s||((n=s).end<(o=t).start||o.end=0,r=Eit(t);let h;const c=t.split(Ait);if(c.length>1)for(const t of c){const i=Eit(t),{pathNormalized:e,normalized:s,normalizedLowercase:n}=Lit(t);s&&(h||(h=[]),h.push({original:t,originalLowercase:t.toLowerCase(),pathNormalized:e,normalized:s,normalizedLowercase:n,expectContiguousMatch:i}))}return{original:t,originalLowercase:i,pathNormalized:e,normalized:s,normalizedLowercase:n,values:h,containsPathSeparator:o,expectContiguousMatch:r}}function Lit(t){let i;i=t.replace(xt?/\//g:/\\/g,as);const e=(s=i,s.replace(/\*/g,"")).replace(/\s|"/g,"");var s;return{pathNormalized:i,normalized:e,normalizedLowercase:e.toLowerCase()}}function Fit(t){return Array.isArray(t)?Mit(t.map((t=>t.original)).join(Ait)):Mit(t.original)}var Tit,Rit=function(t,i){return function(e,s){i(e,s,t)}};let Oit=Tit=class extends vit{constructor(t,i,e=Object.create(null)){super(e),this._languageFeaturesService=t,this._outlineModelService=i,this.options=e,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(t){return this.provideLabelPick(t,ot(0,"To go to a symbol, first open a text editor with symbol information.")),te.None}provideWithTextEditor(t,i,e){const s=this.getModel(t.editor);return s?this._languageFeaturesService.documentSymbolProvider.has(s)?this.doProvideWithEditorSymbols(t,s,i,e):this.doProvideWithoutEditorSymbols(t,s,i,e):te.None}doProvideWithoutEditorSymbols(t,i,e,s){const n=new Xi;return this.provideLabelPick(e,ot(0,"The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(i,n)&&!s.isCancellationRequested&&n.add(this.doProvideWithEditorSymbols(t,i,e,s))})(),n}provideLabelPick(t,i){t.items=[{label:i,index:0,kind:14}],t.ariaLabel=i}async waitForLanguageSymbolRegistry(t,i){if(this._languageFeaturesService.documentSymbolProvider.has(t))return!0;const e=new bc,s=i.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(t)&&(s.dispose(),e.complete(!0))})));return i.add(Yi((()=>e.complete(!1)))),e.p}doProvideWithEditorSymbols(t,i,e,s){var n;const o=t.editor,r=new Xi;r.add(e.onDidAccept((i=>{const[s]=e.selectedItems;s&&s.range&&(this.gotoLocation(t,{range:s.range.selection,keyMods:e.keyMods,preserveFocus:i.inBackground}),i.inBackground||e.hide())}))),r.add(e.onDidTriggerItemButton((({item:i})=>{i&&i.range&&(this.gotoLocation(t,{range:i.range.selection,keyMods:e.keyMods,forceSideBySide:!0}),e.hide())})));const h=this.getDocumentSymbols(i,s);let c;const a=async t=>{null==c||c.dispose(!0),e.busy=!1,c=new Ce(s),e.busy=!0;try{const i=Mit(e.value.substr(Tit.PREFIX.length).trim()),n=await this.doGetSymbolPicks(h,i,void 0,c.token);if(s.isCancellationRequested)return;if(n.length>0){if(e.items=n,t&&0===i.original.length){const i=rp(n,(i=>Boolean("separator"!==i.type&&i.range&&Ms.containsPosition(i.range.decoration,t))));i&&(e.activeItems=[i])}}else this.provideLabelPick(e,ot(0,i.original.length>0?"No matching editor symbols":"No editor symbols"))}finally{s.isCancellationRequested||(e.busy=!1)}};return r.add(e.onDidChangeValue((()=>a(void 0)))),a(null===(n=o.getSelection())||void 0===n?void 0:n.getPosition()),r.add(e.onDidChangeActive((()=>{const[t]=e.activeItems;t&&t.range&&(o.revealRangeInCenter(t.range.selection,0),this.addDecorations(o,t.range.decoration))}))),r}async doGetSymbolPicks(t,i,e,s){var n,o;const r=await t;if(s.isCancellationRequested)return[];const h=0===i.original.indexOf(Tit.SCOPE_PREFIX),c=h?1:0;let a,l,u;i.values&&i.values.length>1?(a=Fit(i.values[0]),l=Fit(i.values.slice(1))):a=i;const d=null===(o=null===(n=this.options)||void 0===n?void 0:n.openSideBySideDirection)||void 0===o?void 0:o.call(n);d&&(u=[{iconClass:Cr.asClassName("right"===d?Os.splitHorizontal:Os.splitVertical),tooltip:ot(0,"right"===d?"Open to the Side":"Open to the Bottom")}]);const f=[];for(let v=0;vc){let L=!1;if(a!==i&&([C,S]=Cit(k,{...i,values:void 0},c,x),"number"==typeof C&&(L=!0)),"number"!=typeof C&&([C,S]=Cit(k,a,c,x),"number"!=typeof C))continue;if(!L&&l){if(A&&l.original.length>0&&([D,E]=Cit(A,l)),"number"!=typeof D)continue;"number"==typeof C&&(C+=D)}}const M=b.tags&&b.tags.indexOf(1)>=0;f.push({index:v,kind:b.kind,score:C,label:k,ariaLabel:(p=b.name,g=b.kind,ot(0,"{0} ({1})",p,Hs[g])),description:A,highlights:M?void 0:{label:S,description:E},range:{selection:Ms.collapseToStart(b.selectionRange),decoration:b.range},strikethrough:M,buttons:u})}var p,g;const m=f.sort(((t,i)=>h?this.compareByKindAndScore(t,i):this.compareByScore(t,i)));let w=[];if(h){let F,T,R=0;function O(){T&&"number"==typeof F&&R>0&&(T.label=qn(_it[F]||Iit,R))}for(const I of m)F!==I.kind?(O(),F=I.kind,R=1,T={type:"separator"},w.push(T)):R++,w.push(I);O()}else m.length>0&&(w=[{label:ot(0,"symbols ({0})",f.length),type:"separator"},...m]);return w}compareByScore(t,i){if("number"!=typeof t.score&&"number"==typeof i.score)return 1;if("number"==typeof t.score&&"number"!=typeof i.score)return-1;if("number"==typeof t.score&&"number"==typeof i.score){if(t.score>i.score)return-1;if(t.scorei.index?1:0}compareByKindAndScore(t,i){const e=(_it[t.kind]||Iit).localeCompare(_it[i.kind]||Iit);return 0===e?this.compareByScore(t,i):e}async getDocumentSymbols(t,i){const e=await this._outlineModelService.getOrCreate(t,i);return i.isCancellationRequested?[]:e.asListOfDocumentSymbols()}};Oit.PREFIX="@",Oit.SCOPE_PREFIX=":",Oit.PREFIX_BY_CATEGORY=`${Tit.PREFIX}${Tit.SCOPE_PREFIX}`,Oit=Tit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Rit(0,xg),Rit(1,F5)],Oit);const Iit=ot(0,"properties ({0})"),_it={5:ot(0,"methods ({0})"),11:ot(0,"functions ({0})"),8:ot(0,"constructors ({0})"),12:ot(0,"variables ({0})"),4:ot(0,"classes ({0})"),22:ot(0,"structs ({0})"),23:ot(0,"events ({0})"),24:ot(0,"operators ({0})"),10:ot(0,"interfaces ({0})"),2:ot(0,"namespaces ({0})"),3:ot(0,"packages ({0})"),25:ot(0,"type parameters ({0})"),1:ot(0,"modules ({0})"),6:ot(0,"properties ({0})"),9:ot(0,"enumerations ({0})"),21:ot(0,"enumeration members ({0})"),14:ot(0,"strings ({0})"),0:ot(0,"files ({0})"),17:ot(0,"arrays ({0})"),15:ot(0,"numbers ({0})"),16:ot(0,"booleans ({0})"),18:ot(0,"objects ({0})"),19:ot(0,"keys ({0})"),7:ot(0,"fields ({0})"),13:ot(0,"constants ({0})")};var Nit=function(t,i){return function(e,s){i(e,s,t)}};let Bit=class extends Oit{constructor(t,i,e){super(i,e),this.editorService=t,this.onDidActiveTextEditorControlChange=he.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};Bit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Nit(0,fr),Nit(1,xg),Nit(2,F5)],Bit);class Pit extends su{constructor(){super({id:Pit.ID,label:nI.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:YC.hasDocumentSymbolProvider,kbOpts:{kbExpr:YC.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(t){t.get(Oj).quickAccess.show(Oit.PREFIX,{itemActivation:Rj.NONE})}}function $it(t,i){return i&&(t.stack||t.stacktrace)?ot(0,"{0}: {1}",jit(t),Wit(t.stack)||Wit(t.stacktrace)):jit(t)}function Wit(t){return Array.isArray(t)?t.join("\n"):t}function jit(t){return"ERR_UNC_HOST_NOT_ALLOWED"===t.code?`${t.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof t.code&&"number"==typeof t.errno&&"string"==typeof t.syscall?ot(0,"A system error occurred ({0})",t.message):t.message||ot(0,"An unknown error occurred. Please consult the log for more details.")}function zit(t=null,i=!1){if(!t)return ot(0,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(t)){const e=m(t),s=zit(e[0],i);return e.length>1?ot(0,"{0} ({1} errors in total)",s,e.length):s}if(B(t))return t;if(t.detail){const e=t.detail;if(e.error)return $it(e.error,i);if(e.exception)return $it(e.exception,i)}return t.stack?$it(t,i):t.message?t.message:ot(0,"An unknown error occurred. Please consult the log for more details.")}Pit.ID="editor.action.quickOutline",cu(Pit),Dh.as(Lj).registerQuickAccessProvider({ctor:Bit,prefix:Oit.PREFIX,helpEntries:[{description:nI.quickOutlineActionLabel,prefix:Oit.PREFIX,commandId:Pit.ID},{description:nI.quickOutlineByCategoryActionLabel,prefix:Oit.PREFIX_BY_CATEGORY}]});class Hit{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(t,i){const e=this.computeEmbedding(t),s=new Map,n=[];for(const[t,o]of this.documents){if(i.isCancellationRequested)return[];for(const i of o.chunks){const o=this.computeSimilarityScore(i,e,s);o>0&&n.push({key:t,score:o})}}return n}static termFrequencies(t){return function(t){var i;const e=new Map;for(const s of t)e.set(s,(null!==(i=e.get(s))&&void 0!==i?i:0)+1);return e}(Hit.splitTerms(t))}static*splitTerms(t){const i=t=>t.toLowerCase();for(const[e]of t.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield i(e);const t=e.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(t.length>1)for(const e of t)e.length>2&&/\p{Letter}{3,}/gu.test(e)&&(yield i(e))}}updateDocuments(t){var i;for(const{key:i}of t)this.deleteDocument(i);for(const e of t){const t=[];for(const s of e.textChunks){const e=Hit.termFrequencies(s);for(const t of e.keys())this.chunkOccurrences.set(t,(null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0)+1);t.push({text:s,tf:e})}this.chunkCount+=t.length,this.documents.set(e.key,{chunks:t})}return this}deleteDocument(t){const i=this.documents.get(t);if(i){this.documents.delete(t),this.chunkCount-=i.chunks.length;for(const t of i.chunks)for(const i of t.tf.keys()){const t=this.chunkOccurrences.get(i);if("number"==typeof t){const e=t-1;e<=0?this.chunkOccurrences.delete(i):this.chunkOccurrences.set(i,e)}}}}computeSimilarityScore(t,i,e){let s=0;for(const[n,o]of Object.entries(i)){const i=t.tf.get(n);if(!i)continue;let r=e.get(n);"number"!=typeof r&&(r=this.computeIdf(n),e.set(n,r)),s+=i*r*o}return s}computeEmbedding(t){const i=Hit.termFrequencies(t);return this.computeTfidf(i)}computeIdf(t){var i;const e=null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0;return e>0?Math.log((this.chunkCount+1)/e):0}computeTfidf(t){const i=Object.create(null);for(const[e,s]of t){const t=this.computeIdf(e);t>0&&(i[e]=s*t)}return i}}var Vit;function Uit(t){return Array.isArray(t.items)}function qit(t){return!!t.picks&&t.additionalPicks instanceof Promise}!function(t){t[t.NO_ACTION=0]="NO_ACTION",t[t.CLOSE_PICKER=1]="CLOSE_PICKER",t[t.REFRESH_PICKER=2]="REFRESH_PICKER",t[t.REMOVE_ITEM=3]="REMOVE_ITEM"}(Vit||(Vit={}));class Kit extends te{constructor(t,i){super(),this.prefix=t,this.options=i}provide(t,i,e){var s;const n=new Xi;let o;t.canAcceptInBackground=!!(null===(s=this.options)||void 0===s?void 0:s.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const r=n.add(new ie),h=async()=>{const s=r.value=new Xi;null==o||o.dispose(!0),t.busy=!1,o=new Ce(i);const n=o.token,h=t.value.substr(this.prefix.length).trim(),c=this._getPicks(h,s,n,e),a=(i,e)=>{var s;let n,o;if(Uit(i)?(n=i.items,o=i.active):n=i,0===n.length){if(e)return!1;(h.length>0||t.hideInput)&&(null===(s=this.options)||void 0===s?void 0:s.noResultsPick)&&(n=G(this.options.noResultsPick)?[this.options.noResultsPick(h)]:[this.options.noResultsPick])}return t.items=n,o&&(t.activeItems=[o]),!0},l=async i=>{let e=!1,s=!1;await Promise.all([(async()=>{"number"==typeof i.mergeDelay&&(await ac(i.mergeDelay),n.isCancellationRequested)||s||(e=a(i.picks,!0))})(),(async()=>{t.busy=!0;try{const s=await i.additionalPicks;if(n.isCancellationRequested)return;let o,r,h,c;if(Uit(i.picks)?(o=i.picks.items,r=i.picks.active):o=i.picks,Uit(s)?(h=s.items,c=s.active):h=s,h.length>0||!e){let i;if(!r&&!c){const e=t.activeItems[0];e&&-1!==o.indexOf(e)&&(i=e)}a({items:[...o,...h],active:r||c||i})}}finally{n.isCancellationRequested||(t.busy=!1),s=!0}})()])};if(null===c);else if(qit(c))await l(c);else if(c instanceof Promise){t.busy=!0;try{const t=await c;if(n.isCancellationRequested)return;qit(t)?await l(t):a(t)}finally{n.isCancellationRequested||(t.busy=!1)}}else a(c)};return n.add(t.onDidChangeValue((()=>h()))),h(),n.add(t.onDidAccept((i=>{const[e]=t.selectedItems;"function"==typeof(null==e?void 0:e.accept)&&(i.inBackground||t.hide(),e.accept(t.keyMods,i))}))),n.add(t.onDidTriggerItemButton((async({button:e,item:s})=>{var n,o;if("function"==typeof s.trigger){const r=null!==(o=null===(n=s.buttons)||void 0===n?void 0:n.indexOf(e))&&void 0!==o?o:-1;if(r>=0){const e=s.trigger(r,t.keyMods),n="number"==typeof e?e:await e;if(i.isCancellationRequested)return;switch(n){case Vit.NO_ACTION:break;case Vit.CLOSE_PICKER:t.hide();break;case Vit.REFRESH_PICKER:h();break;case Vit.REMOVE_ITEM:{const i=t.items.indexOf(s);if(-1!==i){const e=t.items.slice(),s=e.splice(i,1),n=t.activeItems.filter((t=>t!==s[0])),o=t.keepScrollPosition;t.keepScrollPosition=!0,t.items=e,n&&(t.activeItems=n),t.keepScrollPosition=o}break}}}}}))),n}}var Git,Zit,Qit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Jit=function(t,i){return function(e,s){i(e,s,t)}};let Yit=Git=class extends Kit{constructor(t,i,e,s,n,o){super(Git.PREFIX,t),this.instantiationService=i,this.keybindingService=e,this.commandService=s,this.telemetryService=n,this.dialogService=o,this.commandsHistory=this._register(this.instantiationService.createInstance(Xit)),this.options=t}async _getPicks(t,i,e,s){var n,o,r,h;const c=await this.getCommandPicks(e);if(e.isCancellationRequested)return[];const a=Gi((()=>{const i=new Hit;return i.updateDocuments(c.map((t=>({key:t.commandId,textChunks:[this.getTfIdfChunk(t)]})))),function(t){var i,e;const s=t.slice(0);s.sort(((t,i)=>i.score-t.score));const n=null!==(e=null===(i=s[0])||void 0===i?void 0:i.score)&&void 0!==e?e:0;if(n>0)for(const t of s)t.score/=n;return s}(i.calculateScores(t,e)).filter((t=>t.score>Git.TFIDF_THRESHOLD)).slice(0,Git.TFIDF_MAX_RESULTS)})),l=[];for(const i of c){const s=null!==(n=Git.WORD_FILTER(t,i.label))&&void 0!==n?n:void 0,r=i.commandAlias&&null!==(o=Git.WORD_FILTER(t,i.commandAlias))&&void 0!==o?o:void 0;if(s||r)i.highlights={label:s,detail:this.options.showAlias?r:void 0},l.push(i);else if(t===i.commandId)l.push(i);else if(t.length>=3){const t=a();if(e.isCancellationRequested)return[];const s=t.find((t=>t.key===i.commandId));s&&(i.tfIdfScore=s.score,l.push(i))}}const u=new Map;for(const t of l){const i=u.get(t.label);i?(t.description=t.commandId,i.description=i.commandId):u.set(t.label,t)}l.sort(((t,i)=>{if(t.tfIdfScore&&i.tfIdfScore)return t.tfIdfScore===i.tfIdfScore?t.label.localeCompare(i.label):i.tfIdfScore-t.tfIdfScore;if(t.tfIdfScore)return 1;if(i.tfIdfScore)return-1;const e=this.commandsHistory.peek(t.commandId),s=this.commandsHistory.peek(i.commandId);if(e&&s)return e>s?-1:1;if(e)return-1;if(s)return 1;if(this.options.suggestedCommandIds){const e=this.options.suggestedCommandIds.has(t.commandId),s=this.options.suggestedCommandIds.has(i.commandId);if(e&&s)return 0;if(e)return-1;if(s)return 1}return t.label.localeCompare(i.label)}));const d=[];let f=!1,p=!0,g=!!this.options.suggestedCommandIds;for(let t=0;t{var i;const n=await this.getAdditionalCommandPicks(c,l,t,e);if(e.isCancellationRequested)return[];const o=n.map((t=>this.toCommandPick(t,s)));return p&&"separator"!==(null===(i=o[0])||void 0===i?void 0:i.type)&&o.unshift({type:"separator",label:ot(0,"similar commands")}),o})()}:d}toCommandPick(t,i){if("separator"===t.type)return t;const e=this.keybindingService.lookupKeybinding(t.commandId),s=e?ot(0,"{0}, {1}",t.label,e.getAriaLabel()):t.label;return{...t,ariaLabel:s,detail:this.options.showAlias&&t.commandAlias!==t.label?t.commandAlias:void 0,keybinding:e,accept:async()=>{var e,s;this.commandsHistory.push(t.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.commandId,from:null!==(e=null==i?void 0:i.from)&&void 0!==e?e:"quick open"});try{(null===(s=t.args)||void 0===s?void 0:s.length)?await this.commandService.executeCommand(t.commandId,...t.args):await this.commandService.executeCommand(t.commandId)}catch(i){ji(i)||this.dialogService.error(ot(0,"Command '{0}' resulted in an error",t.label),zit(i))}}}}getTfIdfChunk({label:t,commandAlias:i,commandDescription:e}){let s=t;return i&&i!==t&&(s+=` - ${i}`),e&&e.value!==t&&(s+=` - ${e.value===e.original?e.value:`${e.value} (${e.original})`}`),s}};Yit.PREFIX=">",Yit.TFIDF_THRESHOLD=.5,Yit.TFIDF_MAX_RESULTS=5,Yit.WORD_FILTER=NI(BI,(function(t,i,e=!1){if(!i||0===i.length)return null;let s=null,n=0;for(t=t.toLowerCase(),i=i.toLowerCase();nthis.updateConfiguration(t)))),this._register(this.storageService.onWillSaveState((t=>{t.reason===MB.SHUTDOWN&&this.saveState()})))}updateConfiguration(t){t&&!t.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Zit.getConfiguredCommandHistoryLength(this.configurationService),Zit.cache&&Zit.cache.limit!==this.configuredCommandsHistoryLength&&(Zit.cache.limit=this.configuredCommandsHistoryLength,Zit.hasChanges=!0))}load(){const t=this.storageService.get(Zit.PREF_KEY_CACHE,0);let i;if(t)try{i=JSON.parse(t)}catch(t){}const e=Zit.cache=new Vp(this.configuredCommandsHistoryLength,1);if(i){let t;t=i.usesLRU?i.entries:i.entries.sort(((t,i)=>t.value-i.value)),t.forEach((t=>e.set(t.key,t.value)))}Zit.counter=this.storageService.getNumber(Zit.PREF_KEY_COUNTER,0,Zit.counter)}push(t){Zit.cache&&(Zit.cache.set(t,Zit.counter++),Zit.hasChanges=!0)}peek(t){var i;return null===(i=Zit.cache)||void 0===i?void 0:i.peek(t)}saveState(){if(!Zit.cache)return;if(!Zit.hasChanges)return;const t={usesLRU:!0,entries:[]};Zit.cache.forEach(((i,e)=>t.entries.push({key:e,value:i}))),this.storageService.store(Zit.PREF_KEY_CACHE,JSON.stringify(t),0,0),this.storageService.store(Zit.PREF_KEY_COUNTER,Zit.counter,0,0),Zit.hasChanges=!1}static getConfiguredCommandHistoryLength(t){var i,e;const s=null===(e=null===(i=t.getValue().workbench)||void 0===i?void 0:i.commandPalette)||void 0===e?void 0:e.history;return"number"==typeof s?s:Zit.DEFAULT_COMMANDS_HISTORY_LENGTH}};Xit.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Xit.PREF_KEY_CACHE="commandPalette.mru.cache",Xit.PREF_KEY_COUNTER="commandPalette.mru.counter",Xit.counter=1,Xit.hasChanges=!1,Xit=Zit=Qit([Jit(0,AB),Jit(1,pd)],Xit);class tet extends Yit{constructor(t,i,e,s,n,o){super(t,i,e,s,n,o)}getCodeEditorCommandPicks(){const t=this.activeTextEditorControl;if(!t)return[];const i=[];for(const e of t.getSupportedActions())i.push({commandId:e.id,commandAlias:e.alias,label:R_(e.label)||e.id});return i}}var iet=function(t,i){return function(e,s){i(e,s,t)}};let eet=class extends tet{get activeTextEditorControl(){var t;return null!==(t=this.codeEditorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}constructor(t,i,e,s,n,o){super({showAlias:!1},t,e,s,n,o),this.codeEditorService=i}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};eet=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([iet(0,ur),iet(1,fr),iet(2,oC),iet(3,Sr),iet(4,Wh),iet(5,JT)],eet);class set extends su{constructor(){super({id:set.ID,label:sI.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:YC.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(t){t.get(Oj).quickAccess.show(eet.PREFIX)}}set.ID="editor.action.quickCommand",cu(set),Dh.as(Lj).registerQuickAccessProvider({ctor:eet,prefix:eet.PREFIX,helpEntries:[{description:sI.quickCommandHelp,commandId:set.ID}]});var net=function(t,i){return function(e,s){i(e,s,t)}};let oet=class extends _Y{constructor(t,i,e,s,n,o,r){super(!0,t,i,e,s,n,o,r)}};oet=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([net(1,ah),net(2,fr),net(3,oT),net(4,ur),net(5,AB),net(6,pd)],oet),lu(_Y.ID,oet,4),cu(class extends su{constructor(){super({id:"editor.action.toggleHighContrast",label:rI.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(t,i){const e=t.get(rH),s=e.getColorTheme();zy(s.type)?(e.setTheme(this._originalThemeName||(Hy(s.type)?Jz:Qz)),this._originalThemeName=null):(e.setTheme(Hy(s.type)?Yz:Xz),this._originalThemeName=s.themeName)}});const ret=performance.getEntriesByType("resource").slice(-1)[0].name;self.MonacoEnvironment={getWorkerUrl:(t,i)=>`${ret.replace(/(.*\/).*?$/,"$1")}${"html"===i?"html":"editor"}.worker.js?t=${Date.now()}`};const het=class{constructor(i){t(this,i),this.monacoEditorDidLoad=o(this,"monacoEditorDidLoad",7),this.defaultOptions={language:"html",readOnly:!1,theme:"vs-light",scrollBeyondLastLine:!1,minimap:{enabled:!1},automaticLayout:!0,wordWrap:"on"},this.rendered=!1,this.options=void 0,this.initialValue="",this.tiptapEditor=void 0,this.updateInputValue=void 0}init(){const t=this.element.querySelector(":scope > *:first-of-type");this.monaco=JK.create(this.container,Object.assign({value:this.initialValue||(null==t?void 0:t.innerHTML.trim())||""},this.mergeOptions())),this.monaco.onDidChangeModelContent((()=>{var t,i,e;null===(t=this.tiptapEditor)||void 0===t||t.chain().setContent(null===(i=this.monaco)||void 0===i?void 0:i.getValue()).run(),null===(e=this.updateInputValue)||void 0===e||e.call(this)})),this.monacoEditorDidLoad.emit();let i=0;const e=setInterval((()=>{const t=this.monaco.getAction("editor.action.formatDocument");(t||++i>50)&&(null==t||t.run(),clearInterval(e))}),100)}connectedCallback(){this.rendered&&this.init()}componentDidLoad(){this.init(),this.rendered=!0}async disconnectedCallback(){return Boolean(this.monaco)?new Promise((t=>{var i;this.monaco.onDidDispose((()=>t())),null===(i=this.monaco.getModel())||void 0===i||i.dispose(),this.monaco.dispose()})):Promise.resolve()}onOptionsChange(){var t;null===(t=this.monaco)||void 0===t||t.updateOptions(this.mergeOptions())}async setFocus(){var t;null===(t=this.monaco)||void 0===t||t.focus()}async getValue(){var t;return null===(t=this.monaco)||void 0===t?void 0:t.getValue()}mergeOptions(){return Object.assign(Object.assign({},this.defaultOptions),this.options||{})}render(){return e(r,{key:"cd80178b2bf7795caaec0c96aa895419b675cb3f"},e("article",{key:"8406db710730148496161e93d66ff1a845beac99",ref:t=>this.container=t}))}get element(){return n(this)}static get watchers(){return{options:["onOptionsChange"]}}};het.style='/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{position:absolute;left:-999em}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border,transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border,transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{margin:0 .2em;color:inherit!important}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-family:codicon;font-display:block;src:url(../base/browser/ui/codicons/codicon/codicon.ttf) format("truetype")}.codicon[class*=codicon-]{font:normal normal normal 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;margin:4px -8px -4px;height:1px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4900%) scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size)*2);width:calc(var(--vscode-sash-size)*2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-0.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size)*-0.5);bottom:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size)*-0.5);left:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size)*-0.5);right:calc(var(--vscode-sash-size)*-1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - var(--vscode-sash-hover-size)/2)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:transparent;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:normal;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size)/2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translateX(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));color:var(--vscode-button-foreground,var(--vscode-editor-foreground));border:1px solid var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:3px solid var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:hsla(0,0%,100%,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:hsla(0,0%,67.1%,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,transparent 0,transparent 50%,var(--vscode-diffEditor-diagonalFill) 0,var(--vscode-diffEditor-diagonalFill) 62.5%,transparent 0,transparent);background-size:8px 8px}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground)}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component .multiDiffEntry{display:flex;flex-direction:column}.monaco-component .multiDiffEntry .editorParent{border-left:2px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry.focused .editorParent{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .editorParent .editorContainer{border-left:17px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component .multiDiffEntry .collapse-button a{display:block}.monaco-component .multiDiffEntry .header{display:flex;align-items:center;padding:8px 5px;color:var(--vscode-foreground);background:var(--vscode-editor-background);z-index:1000;border-bottom:1px solid var(--vscode-sideBarSectionHeader-border);border-top:1px solid var(--vscode-sideBarSectionHeader-border);border-left:2px solid var(--vscode-editor-background)}.monaco-component .multiDiffEntry.focused .header{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .header.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component .multiDiffEntry .header .title{flex:1;font-size:14px;line-height:22px}.monaco-component .multiDiffEntry .header .actions{padding:0 8px}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*0.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border,transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:grey;margin:.1em .2em 0;content:"\\22EF";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground);color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:"\\ea76"}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-radius:3px;border:1px solid var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;z-index:1000;border:8px solid transparent;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent)}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor.hc-black .sticky-widget,.monaco-editor.hc-light .sticky-widget{border-bottom:1px solid var(--vscode-contrastBorder)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{flex:0 1 auto;width:100%;border:1px solid var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:normal;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:50%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:normal;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:50%;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iIzQyNDI0MiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iI0M1QzVDNSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,86.7%,.4);border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73.3%,.4);box-shadow:inset 0 -1px 0 hsla(0,0%,73.3%,.4);color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #0f4a85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50.2%,.17);border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6);color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.action-widget{font-size:13px;border-radius:0;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{position:fixed;cursor:auto;left:0;top:0;width:100%;height:100%}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-weight:600;font-size:12px}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}article{width:var(--monaco-editor-width, 100%);height:var(--monaco-editor-height, 100%)}::slotted(*){display:none}';export{het as M,c as Z,tG as m,cZ as t} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-cbd8e844.js b/www/js/zui3/zen-editor/p-cbd8e844.js deleted file mode 100644 index b905b35119..0000000000 --- a/www/js/zui3/zen-editor/p-cbd8e844.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,o=(e,o,s,a)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let d of r(o))n.call(e,d)||d===s||t(e,d,{get:()=>o[d],enumerable:!(a=i(o,d))||a.enumerable});return e},s={};o(s,e,"default");var a=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],d={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${a.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${a.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:s.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}},m={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"module"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/'module'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}};export{d as conf,m as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-e014e297.js b/www/js/zui3/zen-editor/p-e014e297.js deleted file mode 100644 index c5fdec6841..0000000000 --- a/www/js/zui3/zen-editor/p-e014e297.js +++ /dev/null @@ -1,7 +0,0 @@ -import{conf as e,language as t}from"./p-831ce65f.js";import"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var s=e,i={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","static","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:t.operators,symbols:t.symbols,escapes:t.escapes,digits:t.digits,octaldigits:t.octaldigits,binarydigits:t.binarydigits,hexdigits:t.hexdigits,regexpctl:t.regexpctl,regexpesc:t.regexpesc,tokenizer:t.tokenizer};export{s as conf,i as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-ec872555.js b/www/js/zui3/zen-editor/p-ec872555.js deleted file mode 100644 index 6a230022d2..0000000000 --- a/www/js/zui3/zen-editor/p-ec872555.js +++ /dev/null @@ -1,7 +0,0 @@ -import{t,m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,a=(t,e,a,o)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let c of i(e))s.call(t,c)||c===a||n(t,c,{get:()=>e[c],enumerable:!(o=r(e,c))||o.enumerable});return t},o=(t,e,r)=>(((t,e,r)=>{e in t?n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r})(t,"symbol"!=typeof e?e+"":e,r),r),c={};a(c,e,"default");var u=class{constructor(t,e){this._modeId=t,this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker())),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange((()=>this._updateExtraLibs()))}_configChangeListener;_updateExtraLibsToken;_extraLibsChangeListener;_worker;_client;dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;const t=++this._updateExtraLibsToken,e=await this._worker.getProxy();this._updateExtraLibsToken===t&&e.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=c.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(c.editor.getModels().filter((t=>t.getLanguageId()===this._modeId)).map((t=>t.uri))):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...t){const e=await this._getClient();return this._worker&&await this._worker.withSyncedResources(t),e}},l={};function h(t,e,n=0){if("string"==typeof t)return t;if(void 0===t)return"";let r="";if(n){r+=e;for(let t=0;tt.text)).join(""):""}l["lib.d.ts"]=!0,l["lib.decorators.d.ts"]=!0,l["lib.decorators.legacy.d.ts"]=!0,l["lib.dom.d.ts"]=!0,l["lib.dom.iterable.d.ts"]=!0,l["lib.es2015.collection.d.ts"]=!0,l["lib.es2015.core.d.ts"]=!0,l["lib.es2015.d.ts"]=!0,l["lib.es2015.generator.d.ts"]=!0,l["lib.es2015.iterable.d.ts"]=!0,l["lib.es2015.promise.d.ts"]=!0,l["lib.es2015.proxy.d.ts"]=!0,l["lib.es2015.reflect.d.ts"]=!0,l["lib.es2015.symbol.d.ts"]=!0,l["lib.es2015.symbol.wellknown.d.ts"]=!0,l["lib.es2016.array.include.d.ts"]=!0,l["lib.es2016.d.ts"]=!0,l["lib.es2016.full.d.ts"]=!0,l["lib.es2017.d.ts"]=!0,l["lib.es2017.full.d.ts"]=!0,l["lib.es2017.intl.d.ts"]=!0,l["lib.es2017.object.d.ts"]=!0,l["lib.es2017.sharedmemory.d.ts"]=!0,l["lib.es2017.string.d.ts"]=!0,l["lib.es2017.typedarrays.d.ts"]=!0,l["lib.es2018.asyncgenerator.d.ts"]=!0,l["lib.es2018.asynciterable.d.ts"]=!0,l["lib.es2018.d.ts"]=!0,l["lib.es2018.full.d.ts"]=!0,l["lib.es2018.intl.d.ts"]=!0,l["lib.es2018.promise.d.ts"]=!0,l["lib.es2018.regexp.d.ts"]=!0,l["lib.es2019.array.d.ts"]=!0,l["lib.es2019.d.ts"]=!0,l["lib.es2019.full.d.ts"]=!0,l["lib.es2019.intl.d.ts"]=!0,l["lib.es2019.object.d.ts"]=!0,l["lib.es2019.string.d.ts"]=!0,l["lib.es2019.symbol.d.ts"]=!0,l["lib.es2020.bigint.d.ts"]=!0,l["lib.es2020.d.ts"]=!0,l["lib.es2020.date.d.ts"]=!0,l["lib.es2020.full.d.ts"]=!0,l["lib.es2020.intl.d.ts"]=!0,l["lib.es2020.number.d.ts"]=!0,l["lib.es2020.promise.d.ts"]=!0,l["lib.es2020.sharedmemory.d.ts"]=!0,l["lib.es2020.string.d.ts"]=!0,l["lib.es2020.symbol.wellknown.d.ts"]=!0,l["lib.es2021.d.ts"]=!0,l["lib.es2021.full.d.ts"]=!0,l["lib.es2021.intl.d.ts"]=!0,l["lib.es2021.promise.d.ts"]=!0,l["lib.es2021.string.d.ts"]=!0,l["lib.es2021.weakref.d.ts"]=!0,l["lib.es2022.array.d.ts"]=!0,l["lib.es2022.d.ts"]=!0,l["lib.es2022.error.d.ts"]=!0,l["lib.es2022.full.d.ts"]=!0,l["lib.es2022.intl.d.ts"]=!0,l["lib.es2022.object.d.ts"]=!0,l["lib.es2022.regexp.d.ts"]=!0,l["lib.es2022.sharedmemory.d.ts"]=!0,l["lib.es2022.string.d.ts"]=!0,l["lib.es2023.array.d.ts"]=!0,l["lib.es2023.d.ts"]=!0,l["lib.es2023.full.d.ts"]=!0,l["lib.es5.d.ts"]=!0,l["lib.es6.d.ts"]=!0,l["lib.esnext.d.ts"]=!0,l["lib.esnext.full.d.ts"]=!0,l["lib.esnext.intl.d.ts"]=!0,l["lib.scripthost.d.ts"]=!0,l["lib.webworker.d.ts"]=!0,l["lib.webworker.importscripts.d.ts"]=!0,l["lib.webworker.iterable.d.ts"]=!0;var f=class{constructor(t){this._worker=t}_textSpanToRange(t,e){let n=t.getPositionAt(e.start),r=t.getPositionAt(e.start+e.length),{lineNumber:i,column:s}=n,{lineNumber:a,column:o}=r;return{startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o}}},m=class{constructor(t){this._worker=t,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}_libFiles;_hasFetchedLibFiles;_fetchLibFilesPromise;isLibFile(t){return!!t&&0===t.path.indexOf("/lib.")&&!!l[t.path.slice(1)]}getOrCreateModel(e){const n=c.Uri.parse(e),r=c.editor.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return c.editor.createModel(this._libFiles[n.path.slice(1)],"typescript",n);const i=t.getExtraLibs()[e];return i?c.editor.createModel(i.content,"typescript",n):null}_containsLibFile(t){for(let e of t)if(this.isLibFile(e))return!0;return!1}async fetchLibFilesIfNecessary(t){this._containsLibFile(t)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then((t=>t.getLibFiles())).then((t=>{this._hasFetchedLibFiles=!0,this._libFiles=t}))),this._fetchLibFilesPromise}},p=class extends f{constructor(t,e,n,r){super(r),this._libFiles=t,this._defaults=e,this._selector=n;const i=t=>{if(t.getLanguageId()!==n)return;const e=()=>{const{onlyVisible:e}=this._defaults.getDiagnosticsOptions();e?t.isAttachedToEditor()&&this._doValidate(t):this._doValidate(t)};let r;const i=t.onDidChangeContent((()=>{clearTimeout(r),r=window.setTimeout(e,500)})),s=t.onDidChangeAttached((()=>{const{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(t.isAttachedToEditor()?e():c.editor.setModelMarkers(t,this._selector,[]))}));this._listener[t.uri.toString()]={dispose(){i.dispose(),s.dispose(),clearTimeout(r)}},e()},s=t=>{c.editor.setModelMarkers(t,this._selector,[]);const e=t.uri.toString();this._listener[e]&&(this._listener[e].dispose(),delete this._listener[e])};this._disposables.push(c.editor.onDidCreateModel((t=>i(t)))),this._disposables.push(c.editor.onWillDisposeModel(s)),this._disposables.push(c.editor.onDidChangeModelLanguage((t=>{s(t.model),i(t.model)}))),this._disposables.push({dispose(){for(const t of c.editor.getModels())s(t)}});const a=()=>{for(const t of c.editor.getModels())s(t),i(t)};this._disposables.push(this._defaults.onDidChange(a)),this._disposables.push(this._defaults.onDidExtraLibsChange(a)),c.editor.getModels().forEach((t=>i(t)))}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables=[]}async _doValidate(t){const e=await this._worker(t.uri);if(t.isDisposed())return;const n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();r||n.push(e.getSyntacticDiagnostics(t.uri.toString())),i||n.push(e.getSemanticDiagnostics(t.uri.toString())),s||n.push(e.getSuggestionDiagnostics(t.uri.toString()));const a=await Promise.all(n);if(!a||t.isDisposed())return;const o=a.reduce(((t,e)=>e.concat(t)),[]).filter((t=>-1===(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(t.code))),u=o.map((t=>t.relatedInformation||[])).reduce(((t,e)=>e.concat(t)),[]).map((t=>t.file?c.Uri.parse(t.file.fileName):null));await this._libFiles.fetchLibFilesIfNecessary(u),t.isDisposed()||c.editor.setModelMarkers(t,this._selector,o.map((e=>this._convertDiagnostics(t,e))))}_convertDiagnostics(t,e){const n=e.start||0,r=e.length||1,{lineNumber:i,column:s}=t.getPositionAt(n),{lineNumber:a,column:o}=t.getPositionAt(n+r),u=[];return e.reportsUnnecessary&&u.push(c.MarkerTag.Unnecessary),e.reportsDeprecated&&u.push(c.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(e.category),startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o,message:h(e.messageText,"\n"),code:e.code.toString(),tags:u,relatedInformation:this._convertRelatedInformation(t,e.relatedInformation)}}_convertRelatedInformation(t,e){if(!e)return[];const n=[];return e.forEach((e=>{let r=t;if(e.file&&(r=this._libFiles.getOrCreateModel(e.file.fileName)),!r)return;const i=e.start||0,s=e.length||1,{lineNumber:a,column:o}=r.getPositionAt(i),{lineNumber:c,column:u}=r.getPositionAt(i+s);n.push({resource:r.uri,startLineNumber:a,startColumn:o,endLineNumber:c,endColumn:u,message:h(e.messageText,"\n")})})),n}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return c.MarkerSeverity.Error;case 3:return c.MarkerSeverity.Info;case 0:return c.MarkerSeverity.Warning;case 2:return c.MarkerSeverity.Hint}return c.MarkerSeverity.Info}},g=class extends f{get triggerCharacters(){return["."]}async provideCompletionItems(t,e,n,r){const i=t.getWordUntilPosition(e),s=new c.Range(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),a=t.uri,o=t.getOffsetAt(e),u=await this._worker(a);if(t.isDisposed())return;const l=await u.getCompletionsAtPosition(a.toString(),o);return l&&!t.isDisposed()?{suggestions:l.entries.map((n=>{let r=s;if(n.replacementSpan){const e=t.getPositionAt(n.replacementSpan.start),i=t.getPositionAt(n.replacementSpan.start+n.replacementSpan.length);r=new c.Range(e.lineNumber,e.column,i.lineNumber,i.column)}const i=[];return void 0!==n.kindModifiers&&-1!==n.kindModifiers.indexOf("deprecated")&&i.push(c.languages.CompletionItemTag.Deprecated),{uri:a,position:e,offset:o,range:r,label:n.name,insertText:n.name,sortText:n.sortText,kind:g.convertKind(n.kind),tags:i}}))}:void 0}async resolveCompletionItem(t,e){const n=t,r=n.uri,i=n.position,s=n.offset,a=await this._worker(r),o=await a.getCompletionEntryDetails(r.toString(),s,n.label);return o?{uri:r,position:i,label:o.name,kind:g.convertKind(o.kind),detail:d(o.displayParts),documentation:{value:g.createDocumentationString(o)}}:n}static convertKind(t){switch(t){case k.primitiveType:case k.keyword:return c.languages.CompletionItemKind.Keyword;case k.variable:case k.localVariable:return c.languages.CompletionItemKind.Variable;case k.memberVariable:case k.memberGetAccessor:case k.memberSetAccessor:return c.languages.CompletionItemKind.Field;case k.function:case k.memberFunction:case k.constructSignature:case k.callSignature:case k.indexSignature:return c.languages.CompletionItemKind.Function;case k.enum:return c.languages.CompletionItemKind.Enum;case k.module:return c.languages.CompletionItemKind.Module;case k.class:return c.languages.CompletionItemKind.Class;case k.interface:return c.languages.CompletionItemKind.Interface;case k.warning:return c.languages.CompletionItemKind.File}return c.languages.CompletionItemKind.Property}static createDocumentationString(t){let e=d(t.documentation);if(t.tags)for(const n of t.tags)e+=`\n\n${w(n)}`;return e}};function w(t){let e=`*@${t.name}*`;if("param"===t.name&&t.text){const[n,...r]=t.text;e+=`\`${n.text}\``,r.length>0&&(e+=` — ${r.map((t=>t.text)).join(" ")}`)}else Array.isArray(t.text)?e+=` — ${t.text.map((t=>t.text)).join(" ")}`:t.text&&(e+=` — ${t.text}`);return e}var b=class extends f{signatureHelpTriggerCharacters=["(",","];static _toSignatureHelpTriggerReason(t){switch(t.triggerKind){case c.languages.SignatureHelpTriggerKind.TriggerCharacter:return t.triggerCharacter?t.isRetrigger?{kind:"retrigger",triggerCharacter:t.triggerCharacter}:{kind:"characterTyped",triggerCharacter:t.triggerCharacter}:{kind:"invoked"};case c.languages.SignatureHelpTriggerKind.ContentChange:return t.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};default:return{kind:"invoked"}}}async provideSignatureHelp(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getSignatureHelpItems(i.toString(),s,{triggerReason:b._toSignatureHelpTriggerReason(r)});if(!o||t.isDisposed())return;const c={activeSignature:o.selectedItemIndex,activeParameter:o.argumentIndex,signatures:[]};return o.items.forEach((t=>{const e={label:"",parameters:[]};e.documentation={value:d(t.documentation)},e.label+=d(t.prefixDisplayParts),t.parameters.forEach(((n,r,i)=>{const s=d(n.displayParts),a={label:s,documentation:{value:d(n.documentation)}};e.label+=s,e.parameters.push(a),rw(t))).join(" \n\n"):"",u=d(a.displayParts);return{range:this._textSpanToRange(t,a.textSpan),contents:[{value:"```typescript\n"+u+"\n```\n"},{value:o+(c?"\n\n"+c:"")}]}}},y=class extends f{async provideDocumentHighlights(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDocumentHighlights(r.toString(),i,[r.toString()]);return a&&!t.isDisposed()?a.flatMap((e=>e.highlightSpans.map((e=>({range:this._textSpanToRange(t,e.textSpan),kind:"writtenReference"===e.kind?c.languages.DocumentHighlightKind.Write:c.languages.DocumentHighlightKind.Text}))))):void 0}},x=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideDefinition(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDefinitionAtPosition(r.toString(),i);if(!a||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(a.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const o=[];for(let t of a){const e=this._libFiles.getOrCreateModel(t.fileName);e&&o.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return o}},S=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideReferences(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getReferencesAtPosition(i.toString(),s);if(!o||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(o.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const u=[];for(let t of o){const e=this._libFiles.getOrCreateModel(t.fileName);e&&u.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return u}},C=class extends f{async provideDocumentSymbols(t,e){const n=t.uri,r=await this._worker(n);if(t.isDisposed())return;const i=await r.getNavigationTree(n.toString());if(!i||t.isDisposed())return;const s=(e,n)=>({name:e.text,detail:"",kind:N[e.kind]||c.languages.SymbolKind.Variable,range:this._textSpanToRange(t,e.spans[0]),selectionRange:this._textSpanToRange(t,e.spans[0]),tags:[],children:e.childItems?.map((t=>s(t,e.text))),containerName:n});return i.childItems?i.childItems.map((t=>s(t))):[]}},k=class{};o(k,"unknown",""),o(k,"keyword","keyword"),o(k,"script","script"),o(k,"module","module"),o(k,"class","class"),o(k,"interface","interface"),o(k,"type","type"),o(k,"enum","enum"),o(k,"variable","var"),o(k,"localVariable","local var"),o(k,"function","function"),o(k,"localFunction","local function"),o(k,"memberFunction","method"),o(k,"memberGetAccessor","getter"),o(k,"memberSetAccessor","setter"),o(k,"memberVariable","property"),o(k,"constructorImplementation","constructor"),o(k,"callSignature","call"),o(k,"indexSignature","index"),o(k,"constructSignature","construct"),o(k,"parameter","parameter"),o(k,"typeParameter","type parameter"),o(k,"primitiveType","primitive type"),o(k,"label","label"),o(k,"alias","alias"),o(k,"const","const"),o(k,"let","let"),o(k,"warning","warning");var N=Object.create(null);N[k.module]=c.languages.SymbolKind.Module,N[k.class]=c.languages.SymbolKind.Class,N[k.enum]=c.languages.SymbolKind.Enum,N[k.interface]=c.languages.SymbolKind.Interface,N[k.memberFunction]=c.languages.SymbolKind.Method,N[k.memberVariable]=c.languages.SymbolKind.Property,N[k.memberGetAccessor]=c.languages.SymbolKind.Property,N[k.memberSetAccessor]=c.languages.SymbolKind.Property,N[k.variable]=c.languages.SymbolKind.Variable,N[k.const]=c.languages.SymbolKind.Variable,N[k.localVariable]=c.languages.SymbolKind.Variable,N[k.variable]=c.languages.SymbolKind.Variable,N[k.function]=c.languages.SymbolKind.Function,N[k.localFunction]=c.languages.SymbolKind.Function;var _,I,F=class extends f{static _convertOptions(t){return{ConvertTabsToSpaces:t.insertSpaces,TabSize:t.tabSize,IndentSize:t.tabSize,IndentStyle:2,NewLineCharacter:"\n",InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(t,e){return{text:e.newText,range:this._textSpanToRange(t,e.span)}}},L=class extends F{canFormatMultipleRanges=!1;async provideDocumentRangeFormattingEdits(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getFormattingEditsForRange(i.toString(),s,a,F._convertOptions(n));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},O=class extends F{get autoFormatTriggerCharacters(){return[";","}","\n"]}async provideOnTypeFormattingEdits(t,e,n,r,i){const s=t.uri,a=t.getOffsetAt(e),o=await this._worker(s);if(t.isDisposed())return;const c=await o.getFormattingEditsAfterKeystroke(s.toString(),a,n,F._convertOptions(r));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},T=class extends F{async provideCodeActions(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=F._convertOptions(t.getOptions()),c=n.markers.filter((t=>t.code)).map((t=>t.code)).map(Number),u=await this._worker(i);if(t.isDisposed())return;const l=await u.getCodeFixesAtPosition(i.toString(),s,a,c,o);return!l||t.isDisposed()?{actions:[],dispose:()=>{}}:{actions:l.filter((t=>0===t.changes.filter((t=>t.isNewFile)).length)).map((e=>this._tsCodeFixActionToMonacoCodeAction(t,n,e))),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(t,e,n){const r=[];for(const e of n.changes)for(const n of e.textChanges)r.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,n.span),text:n.newText}});return{title:n.description,edit:{edits:r},diagnostics:e.markers,kind:"quickfix"}}},A=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideRenameEdits(t,e,n,r){const i=t.uri,s=i.toString(),a=t.getOffsetAt(e),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getRenameInfo(s,a,{allowRenameOfImportPath:!1});if(!1===c.canRename)return{edits:[],rejectReason:c.localizedErrorMessage};if(void 0!==c.fileToRename)throw new Error("Renaming files is not supported.");const u=await o.findRenameLocations(s,a,!1,!1,!1);if(!u||t.isDisposed())return;const l=[];for(const t of u){const e=this._libFiles.getOrCreateModel(t.fileName);if(!e)throw new Error(`Unknown file ${t.fileName}.`);l.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,t.textSpan),text:n}})}return{edits:l}}},R=class extends f{async provideInlayHints(t,e,n){const r=t.uri,i=r.toString(),s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(r);return t.isDisposed()?null:{hints:(await o.provideInlayHints(i,s,a)).map((e=>({...e,label:e.text,position:t.getPositionAt(e.position),kind:this._convertHintKind(e.kind)}))),dispose:()=>{}}}_convertHintKind(t){return"Parameter"===t?c.languages.InlayHintKind.Parameter:c.languages.InlayHintKind.Type}};function j(t){I=E(t,"typescript")}function P(t){_=E(t,"javascript")}function B(){return new Promise(((t,e)=>{if(!_)return e("JavaScript not registered!");t(_)}))}function D(){return new Promise(((t,e)=>{if(!I)return e("TypeScript not registered!");t(I)}))}function E(t,e){const n=[],r=new u(e,t),i=(...t)=>r.getLanguageServiceWorker(...t),s=new m(i);return function(){const{modeConfiguration:r}=t;!function(t){for(;t.length;)t.pop().dispose()}(n),r.completionItems&&n.push(c.languages.registerCompletionItemProvider(e,new g(i))),r.signatureHelp&&n.push(c.languages.registerSignatureHelpProvider(e,new b(i))),r.hovers&&n.push(c.languages.registerHoverProvider(e,new v(i))),r.documentHighlights&&n.push(c.languages.registerDocumentHighlightProvider(e,new y(i))),r.definitions&&n.push(c.languages.registerDefinitionProvider(e,new x(s,i))),r.references&&n.push(c.languages.registerReferenceProvider(e,new S(s,i))),r.documentSymbols&&n.push(c.languages.registerDocumentSymbolProvider(e,new C(i))),r.rename&&n.push(c.languages.registerRenameProvider(e,new A(s,i))),r.documentRangeFormattingEdits&&n.push(c.languages.registerDocumentRangeFormattingEditProvider(e,new L(i))),r.onTypeFormattingEdits&&n.push(c.languages.registerOnTypeFormattingEditProvider(e,new O(i))),r.codeActions&&n.push(c.languages.registerCodeActionProvider(e,new T(i))),r.inlayHints&&n.push(c.languages.registerInlayHintsProvider(e,new R(i))),r.diagnostics&&n.push(new p(s,t,e,i))}(),i}export{f as Adapter,T as CodeActionAdaptor,x as DefinitionAdapter,p as DiagnosticsAdapter,y as DocumentHighlightAdapter,L as FormatAdapter,F as FormatHelper,O as FormatOnTypeAdapter,R as InlayHintsAdapter,k as Kind,m as LibFiles,C as OutlineAdapter,v as QuickInfoAdapter,S as ReferenceAdapter,A as RenameAdapter,b as SignatureHelpAdapter,g as SuggestAdapter,u as WorkerManager,h as flattenDiagnosticMessageText,B as getJavaScriptWorker,D as getTypeScriptWorker,P as setupJavaScript,j as setupTypeScript} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-edc039c0.js b/www/js/zui3/zen-editor/p-edc039c0.js deleted file mode 100644 index 7c5e6a6352..0000000000 --- a/www/js/zui3/zen-editor/p-edc039c0.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i=(e,i,r,a)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let s of _(i))o.call(e,s)||s===r||t(e,s,{get:()=>i[s],enumerable:!(a=n(i,s))||a.enumerable});return e},r={};i(r,e,"default");var a=["assign","flush","ftl","return","global","import","include","break","continue","local","nested","nt","setting","stop","t","lt","rt","fallback"],s=["attempt","autoesc","autoEsc","compress","comment","escape","noescape","function","if","list","items","sep","macro","noparse","noParse","noautoesc","noAutoEsc","outputformat","switch","visit","recurse"],u={close:">",id:"angle",open:"<"},c={close:"\\]",id:"bracket",open:"\\["},d={close:"[>\\]]",id:"auto",open:"[<\\[]"},l={close:"\\}",id:"dollar",open1:"\\$",open2:"\\{"},k={close:"\\]",id:"bracket",open1:"\\[",open2:"="};function p(e){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],comments:{blockComment:[`${e.open}--`,`--${e.close}`]},autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`${e.open}#(?:${s.join("|")})([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),end:new RegExp(`${e.open}/#(?:${s.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`${e.open}#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),afterText:new RegExp(`^${e.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${e.close}$`),action:{indentAction:r.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`${e.open}#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),action:{indentAction:r.languages.IndentAction.Indent}}]}}function g(){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`[<\\[]#(?:${s.join("|")})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:new RegExp(`[<\\[]/#(?:${s.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`[<\\[]#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:new RegExp("^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$"),action:{indentAction:r.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`[<\\[]#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:r.languages.IndentAction.Indent}}]}}function A(e,t){const n=`_${e.id}_${t.id}`,_=e=>e.replace(/__id__/g,n),o=e=>{const t=e.source.replace(/__id__/g,n);return new RegExp(t,e.flags)};return{unicode:!0,includeLF:!1,start:_("default__id__"),ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],[_("open__id__")]:new RegExp(e.open),[_("close__id__")]:new RegExp(e.close),[_("iOpen1__id__")]:new RegExp(t.open1),[_("iOpen2__id__")]:new RegExp(t.open2),[_("iClose__id__")]:new RegExp(t.close),[_("startTag__id__")]:o(/(@open__id__)(#)/),[_("endTag__id__")]:o(/(@open__id__)(\/#)/),[_("startOrEndTag__id__")]:o(/(@open__id__)(\/?#)/),[_("closeTag1__id__")]:o(/((?:@blank)*)(@close__id__)/),[_("closeTag2__id__")]:o(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:["false","true","in","as","using"],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:["->","->"],delimiters:[";",":",",","."],stringOperators:["lte","lt","gte","gt"],noParseTags:["noparse","noParse","comment"],tokenizer:{[_("default__id__")]:[{include:_("@directive_token__id__")},{include:_("@interpolation_and_text_token__id__")}],[_("fmExpression__id__.directive")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("fmExpression__id__.interpolation")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@expression_token__id__")},{include:_("@greater_operators_token__id__")}],[_("inParen__id__.plain")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("inParen__id__.gt")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@expression_token__id__")},{include:_("@greater_operators_token__id__")}],[_("noSpaceExpression__id__")]:[{include:_("@no_space_expression_end_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("unifiedCall__id__")]:[{include:_("@unified_call_token__id__")}],[_("singleString__id__")]:[{include:_("@string_single_token__id__")}],[_("doubleString__id__")]:[{include:_("@string_double_token__id__")}],[_("rawSingleString__id__")]:[{include:_("@string_single_raw_token__id__")}],[_("rawDoubleString__id__")]:[{include:_("@string_double_raw_token__id__")}],[_("expressionComment__id__")]:[{include:_("@expression_comment_token__id__")}],[_("noParse__id__")]:[{include:_("@no_parse_token__id__")}],[_("terseComment__id__")]:[{include:_("@terse_comment_token__id__")}],[_("directive_token__id__")]:[[o(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{cases:{"@noParseTags":{token:"tag",next:_("@noParse__id__.$3")},"@default":{token:"tag"}}},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"",next:_("@fmExpression__id__.directive")}]],[o(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(@open__id__)(@)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive",next:_("@unifiedCall__id__")}]],[o(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(@open__id__)#--/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:{token:"comment",next:_("@terseComment__id__")}],[o(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag.invalid",next:_("@fmExpression__id__.directive")}]]],[_("interpolation_and_text_token__id__")]:[[o(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:"bracket"===t.id?"@brackets.interpolation":"delimiter.interpolation"},{token:"bracket"===t.id?"delimiter.interpolation":"@brackets.interpolation",next:_("@fmExpression__id__.interpolation")}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:"source"}]],[_("string_single_token__id__")]:[[/[^'\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/'/,{token:"string",next:"@pop"}]],[_("string_double_token__id__")]:[[/[^"\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/"/,{token:"string",next:"@pop"}]],[_("string_single_raw_token__id__")]:[[/[^']+/,{token:"string.raw"}],[/'/,{token:"string.raw",next:"@pop"}]],[_("string_double_raw_token__id__")]:[[/[^"]+/,{token:"string.raw"}],[/"/,{token:"string.raw",next:"@pop"}]],[_("expression_token__id__")]:[[/(r?)(['"])/,{cases:{"r'":[{token:"keyword"},{token:"string.raw",next:_("@rawSingleString__id__")}],'r"':[{token:"keyword"},{token:"string.raw",next:_("@rawDoubleString__id__")}],"'":[{token:"source"},{token:"string",next:_("@singleString__id__")}],'"':[{token:"source"},{token:"string",next:_("@doubleString__id__")}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:"number"},"@default":{token:"number.float"}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:"delimiter"},{token:""},{token:"identifier"}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:"meta.arrow"},"@delimiters":{token:"delimiter"},"@default":{token:"operators"}}}],[/@id/,{cases:{"@keywords":{token:"keyword.$0"},"@stringOperators":{token:"operators"},"@default":{token:"identifier"}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:"@brackets",next:_("@inParen__id__.gt")},"@default":{token:"@brackets",next:_("@inParen__id__.plain")}}},"\\]":{cases:{..."bracket"===t.id?{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}}:{},..."bracket"===e.id?{"$S2==directive":{token:"@brackets.directive",next:"@popall"}}:{},[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\(":{token:"@brackets",next:_("@inParen__id__.gt")},"\\)":{cases:{[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\{":{cases:{"$S2==gt":{token:"@brackets",next:_("@inParen__id__.gt")},"@default":{token:"@brackets",next:_("@inParen__id__.plain")}}},"\\}":{cases:{..."bracket"===t.id?{}:{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}},[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}}}}],[/\$\{/,{token:"delimiter.invalid"}]],[_("blank_and_expression_comment_token__id__")]:[[/(?:@blank)+/,{token:""}],[/[<\[][#!]--/,{token:"comment",next:_("@expressionComment__id__")}]],[_("directive_end_token__id__")]:[[/>/,"bracket"===e.id?{token:"operators"}:{token:"@brackets.directive",next:"@popall"}],[o(/(\/)(@close__id__)/),[{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]]],[_("greater_operators_token__id__")]:[[/>/,{token:"operators"}],[/>=/,{token:"operators"}]],[_("no_space_expression_end_token__id__")]:[[/(?:@blank)+/,{token:"",switchTo:_("@fmExpression__id__.directive")}]],[_("unified_call_token__id__")]:[[/(@id)((?:@blank)+)/,[{token:"tag"},{token:"",next:_("@fmExpression__id__.directive")}]],[o(/(@id)(\/?)(@close__id__)/),[{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]],[/./,{token:"@rematch",next:_("@noSpaceExpression__id__")}]],[_("no_parse_token__id__")]:[[o(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:""},{token:"@brackets.directive",next:"@popall"}],"$S2==comment":[{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"}],"@default":[{token:"source"},{token:"source"},{token:"source"},{token:"source"},{token:"source"}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:"comment"},"@default":{token:"source"}}}]],[_("expression_comment_token__id__")]:[[/--[>\]]/,{token:"comment",next:"@pop"}],[/[^\->\]]+|[>\]\-]/,{token:"comment"}]],[_("terse_comment_token__id__")]:[[o(/--(?:@close__id__)/),{token:"comment",next:"@popall"}],[/[^<\[\-]+|[<\[\-]/,{token:"comment"}]]}}}function m(e){const t=A(u,e),n=A(c,e),_=A(d,e);return{...t,...n,..._,unicode:!0,includeLF:!1,start:`default_auto_${e.id}`,ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{...t.tokenizer,...n.tokenizer,..._.tokenizer}}}var f={conf:p(u),language:A(u,l)},F={conf:p(c),language:A(c,l)},b={conf:p(u),language:A(u,k)},x={conf:p(c),language:A(c,k)},$={conf:g(),language:m(l)},E={conf:g(),language:m(k)};export{b as TagAngleInterpolationBracket,f as TagAngleInterpolationDollar,E as TagAutoInterpolationBracket,$ as TagAutoInterpolationDollar,x as TagBracketInterpolationBracket,F as TagBracketInterpolationDollar} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-ee0b042f.js b/www/js/zui3/zen-editor/p-ee0b042f.js deleted file mode 100644 index 47866dd0ab..0000000000 --- a/www/js/zui3/zen-editor/p-ee0b042f.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var n=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,l=(e,l,i,a)=>{if(l&&"object"==typeof l||"function"==typeof l)for(let c of r(l))o.call(e,c)||c===i||n(e,c,{get:()=>l[c],enumerable:!(a=t(l,c))||a.enumerable});return e},i={};l(i,e,"default");var a={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:i.languages.IndentAction.Indent}}]},c={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}};export{a as conf,c as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-f15c2f73.js b/www/js/zui3/zen-editor/p-f15c2f73.js deleted file mode 100644 index 9bd394ffd6..0000000000 --- a/www/js/zui3/zen-editor/p-f15c2f73.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as t}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,e=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o=(t,o,u,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of e(o))i.call(t,c)||c===u||n(t,c,{get:()=>o[c],enumerable:!(s=r(o,c))||s.enumerable});return t},u={};o(u,t,"default");var s,c,a,f,h,v,d,l,g,m,w,b,p,j,x,k,I,y,O,E,_,T,R,S,C,D,N,W,L,A,M,F,z,U,H,$,q,P,V,B,G,J,K,Q,X,Y,Z,tt,nt,rt=class{_defaults;_idleCheckInterval;_lastUsedTime;_configChangeListener;_worker;_client;constructor(t){this._defaults=t,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval((()=>this._checkIfIdle()),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()))}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=u.editor.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...t){let n;return this._getClient().then((t=>{n=t})).then((()=>{if(this._worker)return this._worker.withSyncedResources(t)})).then((()=>n))}};(c=s||(s={})).MIN_VALUE=-2147483648,c.MAX_VALUE=2147483647,(f=a||(a={})).MIN_VALUE=0,f.MAX_VALUE=2147483647,(v=h||(h={})).create=function(t,n){return t===Number.MAX_VALUE&&(t=a.MAX_VALUE),n===Number.MAX_VALUE&&(n=a.MAX_VALUE),{line:t,character:n}},v.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.uinteger(n.line)&&rn.uinteger(n.character)},(l=d||(d={})).create=function(t,n,r,e){if(rn.uinteger(t)&&rn.uinteger(n)&&rn.uinteger(r)&&rn.uinteger(e))return{start:h.create(t,n),end:h.create(r,e)};if(h.is(t)&&h.is(n))return{start:t,end:n};throw new Error("Range#create called with invalid arguments["+t+", "+n+", "+r+", "+e+"]")},l.is=function(t){var n=t;return rn.objectLiteral(n)&&h.is(n.start)&&h.is(n.end)},(m=g||(g={})).create=function(t,n){return{uri:t,range:n}},m.is=function(t){var n=t;return rn.defined(n)&&d.is(n.range)&&(rn.string(n.uri)||rn.undefined(n.uri))},(b=w||(w={})).create=function(t,n,r,e){return{targetUri:t,targetRange:n,targetSelectionRange:r,originSelectionRange:e}},b.is=function(t){var n=t;return rn.defined(n)&&d.is(n.targetRange)&&rn.string(n.targetUri)&&(d.is(n.targetSelectionRange)||rn.undefined(n.targetSelectionRange))&&(d.is(n.originSelectionRange)||rn.undefined(n.originSelectionRange))},(j=p||(p={})).create=function(t,n,r,e){return{red:t,green:n,blue:r,alpha:e}},j.is=function(t){var n=t;return rn.numberRange(n.red,0,1)&&rn.numberRange(n.green,0,1)&&rn.numberRange(n.blue,0,1)&&rn.numberRange(n.alpha,0,1)},(k=x||(x={})).create=function(t,n){return{range:t,color:n}},k.is=function(t){var n=t;return d.is(n.range)&&p.is(n.color)},(y=I||(I={})).create=function(t,n,r){return{label:t,textEdit:n,additionalTextEdits:r}},y.is=function(t){var n=t;return rn.string(n.label)&&(rn.undefined(n.textEdit)||U.is(n))&&(rn.undefined(n.additionalTextEdits)||rn.typedArray(n.additionalTextEdits,U.is))},(E=O||(O={})).Comment="comment",E.Imports="imports",E.Region="region",(T=_||(_={})).create=function(t,n,r,e,i){var o={startLine:t,endLine:n};return rn.defined(r)&&(o.startCharacter=r),rn.defined(e)&&(o.endCharacter=e),rn.defined(i)&&(o.kind=i),o},T.is=function(t){var n=t;return rn.uinteger(n.startLine)&&rn.uinteger(n.startLine)&&(rn.undefined(n.startCharacter)||rn.uinteger(n.startCharacter))&&(rn.undefined(n.endCharacter)||rn.uinteger(n.endCharacter))&&(rn.undefined(n.kind)||rn.string(n.kind))},(S=R||(R={})).create=function(t,n){return{location:t,message:n}},S.is=function(t){var n=t;return rn.defined(n)&&g.is(n.location)&&rn.string(n.message)},(D=C||(C={})).Error=1,D.Warning=2,D.Information=3,D.Hint=4,(W=N||(N={})).Unnecessary=1,W.Deprecated=2,(L||(L={})).is=function(t){return null!=t&&rn.string(t.href)},(M=A||(A={})).create=function(t,n,r,e,i,o){var u={range:t,message:n};return rn.defined(r)&&(u.severity=r),rn.defined(e)&&(u.code=e),rn.defined(i)&&(u.source=i),rn.defined(o)&&(u.relatedInformation=o),u},M.is=function(t){var n,r=t;return rn.defined(r)&&d.is(r.range)&&rn.string(r.message)&&(rn.number(r.severity)||rn.undefined(r.severity))&&(rn.integer(r.code)||rn.string(r.code)||rn.undefined(r.code))&&(rn.undefined(r.codeDescription)||rn.string(null===(n=r.codeDescription)||void 0===n?void 0:n.href))&&(rn.string(r.source)||rn.undefined(r.source))&&(rn.undefined(r.relatedInformation)||rn.typedArray(r.relatedInformation,R.is))},(z=F||(F={})).create=function(t,n){for(var r=[],e=2;e0&&(i.arguments=r),i},z.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.title)&&rn.string(n.command)},(H=U||(U={})).replace=function(t,n){return{range:t,newText:n}},H.insert=function(t,n){return{range:{start:t,end:t},newText:n}},H.del=function(t){return{range:t,newText:""}},H.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.string(n.newText)&&d.is(n.range)},(q=$||($={})).create=function(t,n,r){var e={label:t};return void 0!==n&&(e.needsConfirmation=n),void 0!==r&&(e.description=r),e},q.is=function(t){var n=t;return void 0!==n&&rn.objectLiteral(n)&&rn.string(n.label)&&(rn.boolean(n.needsConfirmation)||void 0===n.needsConfirmation)&&(rn.string(n.description)||void 0===n.description)},(P||(P={})).is=function(t){return"string"==typeof t},(B=V||(V={})).replace=function(t,n,r){return{range:t,newText:n,annotationId:r}},B.insert=function(t,n,r){return{range:{start:t,end:t},newText:n,annotationId:r}},B.del=function(t,n){return{range:t,newText:"",annotationId:n}},B.is=function(t){var n=t;return U.is(n)&&($.is(n.annotationId)||P.is(n.annotationId))},(J=G||(G={})).create=function(t,n){return{textDocument:t,edits:n}},J.is=function(t){var n=t;return rn.defined(n)&&st.is(n.textDocument)&&Array.isArray(n.edits)},(Q=K||(K={})).create=function(t,n,r){var e={kind:"create",uri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},Q.is=function(t){var n=t;return n&&"create"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(Y=X||(X={})).create=function(t,n,r,e){var i={kind:"rename",oldUri:t,newUri:n};return void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(i.options=r),void 0!==e&&(i.annotationId=e),i},Y.is=function(t){var n=t;return n&&"rename"===n.kind&&rn.string(n.oldUri)&&rn.string(n.newUri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(tt=Z||(Z={})).create=function(t,n,r){var e={kind:"delete",uri:t};return void 0===n||void 0===n.recursive&&void 0===n.ignoreIfNotExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},tt.is=function(t){var n=t;return n&&"delete"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.recursive||rn.boolean(n.options.recursive))&&(void 0===n.options.ignoreIfNotExists||rn.boolean(n.options.ignoreIfNotExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(nt||(nt={})).is=function(t){return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(t){return rn.string(t.kind)?K.is(t)||X.is(t)||Z.is(t):G.is(t)})))};var et,it,ot,ut,st,ct,at,ft,ht,vt,dt,lt,gt,mt,wt,bt,pt,jt,xt,kt,It,yt,Ot,Et,_t,Tt,Rt,St,Ct,Dt,Nt,Wt,Lt,At,Mt,Ft,zt,Ut,Ht,$t,qt,Pt,Vt,Bt,Gt,Jt,Kt,Qt,Xt,Yt,Zt,tn=function(){function t(t,n){this.edits=t,this.changeAnnotations=n}return t.prototype.insert=function(t,n,r){var e,i;if(void 0===r?e=U.insert(t,n):P.is(r)?(i=r,e=V.insert(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=V.insert(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.replace=function(t,n,r){var e,i;if(void 0===r?e=U.replace(t,n):P.is(r)?(i=r,e=V.replace(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=V.replace(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.delete=function(t,n){var r,e;if(void 0===n?r=U.del(t):P.is(n)?(e=n,r=V.del(t,n)):(this.assertChangeAnnotations(this.changeAnnotations),e=this.changeAnnotations.manage(n),r=V.del(t,e)),this.edits.push(r),void 0!==e)return e},t.prototype.add=function(t){this.edits.push(t)},t.prototype.all=function(){return this.edits},t.prototype.clear=function(){this.edits.splice(0,this.edits.length)},t.prototype.assertChangeAnnotations=function(t){if(void 0===t)throw new Error("Text edit change is not configured to manage change annotations.")},t}(),nn=function(){function t(t){this._annotations=void 0===t?Object.create(null):t,this._counter=0,this._size=0}return t.prototype.all=function(){return this._annotations},Object.defineProperty(t.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),t.prototype.manage=function(t,n){var r;if(P.is(t)?r=t:(r=this.nextId(),n=t),void 0!==this._annotations[r])throw new Error("Id "+r+" is already in use.");if(void 0===n)throw new Error("No annotation provided for id "+r);return this._annotations[r]=n,this._size++,r},t.prototype.nextId=function(){return this._counter++,this._counter.toString()},t}();!function(){function t(t){var n=this;this._textEditChanges=Object.create(null),void 0!==t?(this._workspaceEdit=t,t.documentChanges?(this._changeAnnotations=new nn(t.changeAnnotations),t.changeAnnotations=this._changeAnnotations.all(),t.documentChanges.forEach((function(t){if(G.is(t)){var r=new tn(t.edits,n._changeAnnotations);n._textEditChanges[t.textDocument.uri]=r}}))):t.changes&&Object.keys(t.changes).forEach((function(r){var e=new tn(t.changes[r]);n._textEditChanges[r]=e}))):this._workspaceEdit={}}Object.defineProperty(t.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(this._workspaceEdit.changeAnnotations=0===this._changeAnnotations.size?void 0:this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),t.prototype.getTextEditChange=function(t){if(st.is(t)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var n={uri:t.uri,version:t.version};return(r=this._textEditChanges[n.uri])||(this._workspaceEdit.documentChanges.push({textDocument:n,edits:e=[]}),r=new tn(e,this._changeAnnotations),this._textEditChanges[n.uri]=r),r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r,e;return(r=this._textEditChanges[t])||(this._workspaceEdit.changes[t]=e=[],r=new tn(e),this._textEditChanges[t]=r),r},t.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new nn,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},t.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},t.prototype.createFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||P.is(n)?e=n:r=n,void 0===e?i=K.create(t,r):(o=P.is(e)?e:this._changeAnnotations.manage(e),i=K.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},t.prototype.renameFile=function(t,n,r,e){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,u;if($.is(r)||P.is(r)?i=r:e=r,void 0===i?o=X.create(t,n,e):(u=P.is(i)?i:this._changeAnnotations.manage(i),o=X.create(t,n,e,u)),this._workspaceEdit.documentChanges.push(o),void 0!==u)return u},t.prototype.deleteFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||P.is(n)?e=n:r=n,void 0===e?i=Z.create(t,r):(o=P.is(e)?e:this._changeAnnotations.manage(e),i=Z.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),(it=et||(et={})).create=function(t){return{uri:t}},it.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)},(ut=ot||(ot={})).create=function(t,n){return{uri:t,version:n}},ut.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.integer(n.version)},(ct=st||(st={})).create=function(t,n){return{uri:t,version:n}},ct.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&(null===n.version||rn.integer(n.version))},(ft=at||(at={})).create=function(t,n,r,e){return{uri:t,languageId:n,version:r,text:e}},ft.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.string(n.languageId)&&rn.integer(n.version)&&rn.string(n.text)},(vt=ht||(ht={})).PlainText="plaintext",vt.Markdown="markdown",function(t){t.is=function(n){return n===t.PlainText||n===t.Markdown}}(ht||(ht={})),(dt||(dt={})).is=function(t){var n=t;return rn.objectLiteral(t)&&ht.is(n.kind)&&rn.string(n.value)},(gt=lt||(lt={})).Text=1,gt.Method=2,gt.Function=3,gt.Constructor=4,gt.Field=5,gt.Variable=6,gt.Class=7,gt.Interface=8,gt.Module=9,gt.Property=10,gt.Unit=11,gt.Value=12,gt.Enum=13,gt.Keyword=14,gt.Snippet=15,gt.Color=16,gt.File=17,gt.Reference=18,gt.Folder=19,gt.EnumMember=20,gt.Constant=21,gt.Struct=22,gt.Event=23,gt.Operator=24,gt.TypeParameter=25,(wt=mt||(mt={})).PlainText=1,wt.Snippet=2,(bt||(bt={})).Deprecated=1,(jt=pt||(pt={})).create=function(t,n,r){return{newText:t,insert:n,replace:r}},jt.is=function(t){var n=t;return n&&rn.string(n.newText)&&d.is(n.insert)&&d.is(n.replace)},(kt=xt||(xt={})).asIs=1,kt.adjustIndentation=2,(It||(It={})).create=function(t){return{label:t}},(yt||(yt={})).create=function(t,n){return{items:t||[],isIncomplete:!!n}},(Et=Ot||(Ot={})).fromPlainText=function(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Et.is=function(t){var n=t;return rn.string(n)||rn.objectLiteral(n)&&rn.string(n.language)&&rn.string(n.value)},(_t||(_t={})).is=function(t){var n=t;return!!n&&rn.objectLiteral(n)&&(dt.is(n.contents)||Ot.is(n.contents)||rn.typedArray(n.contents,Ot.is))&&(void 0===t.range||d.is(t.range))},(Tt||(Tt={})).create=function(t,n){return n?{label:t,documentation:n}:{label:t}},(Rt||(Rt={})).create=function(t,n){for(var r=[],e=2;e=0;u--){var s=i[u],c=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);if(!(a<=o))throw new Error("Overlapping edit");e=e.substring(0,c)+s.newText+e.substring(a,e.length),o=c}return e}}(Zt||(Zt={}));var rn,en,on,un=function(){function t(t,n,r,e){this._uri=t,this._languageId=n,this._version=r,this._content=e,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(t){if(t){var n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content},t.prototype.update=function(t,n){this._content=t.text,this._version=n,this._lineOffsets=void 0},t.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var t=[],n=this._content,r=!0,e=0;e0&&t.push(n.length),this._lineOffsets=t}return this._lineOffsets},t.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var n=this.getLineOffsets(),r=0,e=n.length;if(0===e)return h.create(0,t);for(;rt?e=i:r=i+1}var o=r-1;return h.create(o,t-n[o])},t.prototype.offsetAt=function(t){var n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;var r=n[t.line];return Math.max(Math.min(r+t.character,t.line+1{let n,r=t.getLanguageId();r===this._languageId&&(this._listener[t.uri.toString()]=t.onDidChangeContent((()=>{window.clearTimeout(n),n=window.setTimeout((()=>this._doValidate(t.uri,r)),500)})),this._doValidate(t.uri,r))},i=t=>{u.editor.setModelMarkers(t,this._languageId,[]);let n=t.uri.toString(),r=this._listener[n];r&&(r.dispose(),delete this._listener[n])};this._disposables.push(u.editor.onDidCreateModel(e)),this._disposables.push(u.editor.onWillDisposeModel(i)),this._disposables.push(u.editor.onDidChangeModelLanguage((t=>{i(t.model),e(t.model)}))),this._disposables.push(r((()=>{u.editor.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&(i(t),e(t))}))}))),this._disposables.push({dispose:()=>{u.editor.getModels().forEach(i);for(let t in this._listener)this._listener[t].dispose()}}),u.editor.getModels().forEach(e)}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables.length=0}_doValidate(t,n){this._worker(t).then((n=>n.doValidation(t.toString()))).then((r=>{const e=r.map((t=>function(t,n){let r="number"==typeof n.code?String(n.code):n.code;return{severity:cn(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:r,source:n.source}}(0,t)));let i=u.editor.getModel(t);i&&i.getLanguageId()===n&&u.editor.setModelMarkers(i,n,e)})).then(void 0,(t=>{console.error(t)}))}};function cn(t){switch(t){case C.Error:return u.MarkerSeverity.Error;case C.Warning:return u.MarkerSeverity.Warning;case C.Information:return u.MarkerSeverity.Info;case C.Hint:return u.MarkerSeverity.Hint;default:return u.MarkerSeverity.Info}}var an=class{constructor(t,n){this._worker=t,this._triggerCharacters=n}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doComplete(i.toString(),fn(n)))).then((r=>{if(!r)return;const e=t.getWordUntilPosition(n),i=new u.Range(n.lineNumber,e.startColumn,n.lineNumber,e.endColumn),o=r.items.map((t=>{const n={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,documentation:t.documentation,detail:t.detail,command:(r=t.command,r&&"editor.action.triggerSuggest"===r.command?{id:r.command,title:r.title,arguments:r.arguments}:void 0),range:i,kind:dn(t.kind)};var r,e;return t.textEdit&&(n.range=void 0!==(e=t.textEdit).insert&&void 0!==e.replace?{insert:vn(t.textEdit.insert),replace:vn(t.textEdit.replace)}:vn(t.textEdit.range),n.insertText=t.textEdit.newText),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),t.insertTextFormat===mt.Snippet&&(n.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),n}));return{isIncomplete:r.isIncomplete,suggestions:o}}))}};function fn(t){if(t)return{character:t.column-1,line:t.lineNumber-1}}function hn(t){if(t)return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}function vn(t){if(t)return new u.Range(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}function dn(t){const n=u.languages.CompletionItemKind;switch(t){case lt.Text:return n.Text;case lt.Method:return n.Method;case lt.Function:return n.Function;case lt.Constructor:return n.Constructor;case lt.Field:return n.Field;case lt.Variable:return n.Variable;case lt.Class:return n.Class;case lt.Interface:return n.Interface;case lt.Module:return n.Module;case lt.Property:return n.Property;case lt.Unit:return n.Unit;case lt.Value:return n.Value;case lt.Enum:return n.Enum;case lt.Keyword:return n.Keyword;case lt.Snippet:return n.Snippet;case lt.Color:return n.Color;case lt.File:return n.File;case lt.Reference:return n.Reference}return n.Property}function ln(t){if(t)return{range:vn(t.range),text:t.newText}}var gn=class{constructor(t){this._worker=t}provideHover(t,n,r){let e=t.uri;return this._worker(e).then((t=>t.doHover(e.toString(),fn(n)))).then((t=>{if(t)return{range:vn(t.range),contents:wn(t.contents)}}))}};function mn(t){return"string"==typeof t?{value:t}:(n=t)&&"object"==typeof n&&"string"==typeof n.kind?"plaintext"===t.kind?{value:t.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:t.value}:{value:"```"+t.language+"\n"+t.value+"\n```\n"};var n}function wn(t){if(t)return Array.isArray(t)?t.map(mn):[mn(t)]}var bn=class{constructor(t){this._worker=t}provideDocumentHighlights(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDocumentHighlights(e.toString(),fn(n)))).then((t=>{if(t)return t.map((t=>({range:vn(t.range),kind:pn(t.kind)})))}))}};function pn(t){switch(t){case St.Read:return u.languages.DocumentHighlightKind.Read;case St.Write:return u.languages.DocumentHighlightKind.Write;case St.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}var jn=class{constructor(t){this._worker=t}provideDefinition(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDefinition(e.toString(),fn(n)))).then((t=>{if(t)return[xn(t)]}))}};function xn(t){return{uri:u.Uri.parse(t.uri),range:vn(t.range)}}var kn=class{constructor(t){this._worker=t}provideReferences(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.findReferences(i.toString(),fn(n)))).then((t=>{if(t)return t.map(xn)}))}},In=class{constructor(t){this._worker=t}provideRenameEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doRename(i.toString(),fn(n),r))).then((t=>function(t){if(!t||!t.changes)return;let n=[];for(let r in t.changes){const e=u.Uri.parse(r);for(let i of t.changes[r])n.push({resource:e,versionId:void 0,textEdit:{range:vn(i.range),text:i.newText}})}return{edits:n}}(t)))}},yn=class{constructor(t){this._worker=t}provideDocumentSymbols(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentSymbols(r.toString()))).then((t=>{if(t)return t.map((t=>({name:t.name,detail:"",containerName:t.containerName,kind:On(t.kind),range:vn(t.location.range),selectionRange:vn(t.location.range),tags:[]})))}))}};function On(t){let n=u.languages.SymbolKind;switch(t){case Nt.File:return n.Array;case Nt.Module:return n.Module;case Nt.Namespace:return n.Namespace;case Nt.Package:return n.Package;case Nt.Class:return n.Class;case Nt.Method:return n.Method;case Nt.Property:return n.Property;case Nt.Field:return n.Field;case Nt.Constructor:return n.Constructor;case Nt.Enum:return n.Enum;case Nt.Interface:return n.Interface;case Nt.Function:return n.Function;case Nt.Variable:return n.Variable;case Nt.Constant:return n.Constant;case Nt.String:return n.String;case Nt.Number:return n.Number;case Nt.Boolean:return n.Boolean;case Nt.Array:return n.Array}return n.Function}var En=class{constructor(t){this._worker=t}provideLinks(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentLinks(r.toString()))).then((t=>{if(t)return{links:t.map((t=>({range:vn(t.range),url:t.target})))}}))}},_n=class{constructor(t){this._worker=t}provideDocumentFormattingEdits(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.format(e.toString(),null,Rn(n)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}},Tn=class{constructor(t){this._worker=t}canFormatMultipleRanges=!1;provideDocumentRangeFormattingEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.format(i.toString(),hn(n),Rn(r)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}};function Rn(t){return{tabSize:t.tabSize,insertSpaces:t.insertSpaces}}var Sn=class{constructor(t){this._worker=t}provideDocumentColors(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentColors(r.toString()))).then((t=>{if(t)return t.map((t=>({color:t.color,range:vn(t.range)})))}))}provideColorPresentations(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getColorPresentations(e.toString(),n.color,hn(n.range)))).then((t=>{if(t)return t.map((t=>{let n={label:t.label};return t.textEdit&&(n.textEdit=ln(t.textEdit)),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),n}))}))}},Cn=class{constructor(t){this._worker=t}provideFoldingRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getFoldingRanges(e.toString(),n))).then((t=>{if(t)return t.map((t=>{const n={start:t.startLine+1,end:t.endLine+1};return void 0!==t.kind&&(n.kind=function(t){switch(t){case O.Comment:return u.languages.FoldingRangeKind.Comment;case O.Imports:return u.languages.FoldingRangeKind.Imports;case O.Region:return u.languages.FoldingRangeKind.Region}}(t.kind)),n}))}))}},Dn=class{constructor(t){this._worker=t}provideSelectionRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getSelectionRanges(e.toString(),n.map(fn)))).then((t=>{if(t)return t.map((t=>{const n=[];for(;t;)n.push({range:vn(t.range)}),t=t.parent;return n}))}))}};function Nn(t){const n=[],r=[],e=new rt(t);n.push(e);const i=(...t)=>e.getLanguageServiceWorker(...t);return function(){const{languageId:n,modeConfiguration:e}=t;Ln(r),e.completionItems&&r.push(u.languages.registerCompletionItemProvider(n,new an(i,["/","-",":"]))),e.hovers&&r.push(u.languages.registerHoverProvider(n,new gn(i))),e.documentHighlights&&r.push(u.languages.registerDocumentHighlightProvider(n,new bn(i))),e.definitions&&r.push(u.languages.registerDefinitionProvider(n,new jn(i))),e.references&&r.push(u.languages.registerReferenceProvider(n,new kn(i))),e.documentSymbols&&r.push(u.languages.registerDocumentSymbolProvider(n,new yn(i))),e.rename&&r.push(u.languages.registerRenameProvider(n,new In(i))),e.colors&&r.push(u.languages.registerColorProvider(n,new Sn(i))),e.foldingRanges&&r.push(u.languages.registerFoldingRangeProvider(n,new Cn(i))),e.diagnostics&&r.push(new sn(n,i,t.onDidChange)),e.selectionRanges&&r.push(u.languages.registerSelectionRangeProvider(n,new Dn(i))),e.documentFormattingEdits&&r.push(u.languages.registerDocumentFormattingEditProvider(n,new _n(i))),e.documentRangeFormattingEdits&&r.push(u.languages.registerDocumentRangeFormattingEditProvider(n,new Tn(i)))}(),n.push(Wn(r)),Wn(n)}function Wn(t){return{dispose:()=>Ln(t)}}function Ln(t){for(;t.length;)t.pop().dispose()}export{an as CompletionAdapter,jn as DefinitionAdapter,sn as DiagnosticsAdapter,Sn as DocumentColorAdapter,_n as DocumentFormattingEditProvider,bn as DocumentHighlightAdapter,En as DocumentLinkAdapter,Tn as DocumentRangeFormattingEditProvider,yn as DocumentSymbolAdapter,Cn as FoldingRangeAdapter,gn as HoverAdapter,kn as ReferenceAdapter,In as RenameAdapter,Dn as SelectionRangeAdapter,rt as WorkerManager,fn as fromPosition,hn as fromRange,Nn as setupMode,vn as toRange,ln as toTextEdit} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-f241ef99.js b/www/js/zui3/zen-editor/p-f241ef99.js deleted file mode 100644 index 764563a073..0000000000 --- a/www/js/zui3/zen-editor/p-f241ef99.js +++ /dev/null @@ -1,7 +0,0 @@ -import{m as e}from"./p-c01502dc.js";import"./p-7900c24a.js";import"./p-986e5fe7.js"; -/*!----------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) - * Released under the MIT license - * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,i=(e,i,s,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let a of o(i))r.call(e,a)||a===s||t(e,a,{get:()=>i[a],enumerable:!(c=n(i,a))||c.enumerable});return e},s={};i(s,e,"default");var c={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:s.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:s.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:s.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:s.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},a={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","out","package","private","protected","public","override","readonly","require","global","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([dgimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}};export{c as conf,a as language} \ No newline at end of file