@latticexyz/explorer 2.2.17-d5f4e1e44bbc260ff21dacdfab0e0f8389e9f304 → 2.2.17-dead80e682bfa1bd23f4d3b9bac338aee38c281e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/.next/standalone/packages/explorer/.next/BUILD_ID +1 -1
  2. package/.next/standalone/packages/explorer/.next/app-build-manifest.json +26 -26
  3. package/.next/standalone/packages/explorer/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/standalone/packages/explorer/.next/build-manifest.json +2 -2
  5. package/.next/standalone/packages/explorer/.next/prerender-manifest.json +1 -1
  6. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/page.js +7 -7
  8. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/observe/page.js +2 -2
  11. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/observe/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/sqlite-indexer/route.js +1 -1
  15. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/world-abi/route.js +1 -1
  16. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/packages/explorer/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/packages/explorer/.next/server/app/_not-found.html +1 -1
  19. package/.next/standalone/packages/explorer/.next/server/app/_not-found.rsc +1 -1
  20. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.html +1 -1
  22. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.rsc +1 -1
  23. package/.next/standalone/packages/explorer/.next/server/app-paths-manifest.json +2 -2
  24. package/.next/standalone/packages/explorer/.next/server/middleware-build-manifest.js +1 -1
  25. package/.next/standalone/packages/explorer/.next/server/pages/404.html +1 -1
  26. package/.next/standalone/packages/explorer/.next/server/pages/500.html +1 -1
  27. package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.js +1 -1
  28. package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.json +1 -1
  29. package/.next/standalone/packages/explorer/.next/static/chunks/{9154-0a5af17bac14be88.js → 9154-f4682040f04bc0eb.js} +2 -2
  30. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/page-b7494f5b36ab5348.js +1 -0
  31. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/observe/{page-48c19538e7b3b15f.js → page-35ac1690de80f649.js} +1 -1
  32. package/dist/bin/explorer.js +9 -2
  33. package/dist/bin/explorer.js.map +1 -1
  34. package/package.json +10 -10
  35. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/page-cff5a82b828a9e34.js +0 -1
  36. /package/.next/standalone/packages/explorer/.next/static/{3oTWCrWQPCJ9r6xk9rkEt → wT7udEKNbtFKbZtOdVmuX}/_buildManifest.js +0 -0
  37. /package/.next/standalone/packages/explorer/.next/static/{3oTWCrWQPCJ9r6xk9rkEt → wT7udEKNbtFKbZtOdVmuX}/_ssgManifest.js +0 -0
@@ -478,13 +478,13 @@
478
478
  */Object.defineProperty(t,"__esModule",{value:!0}),t.Chunk=void 0;class s{}t.Chunk=s},50425:function(e,t,s){"use strict";/*!
479
479
  * Copyright 2016 The ANTLR Project. All rights reserved.
480
480
  * Licensed under the BSD-3-Clause license. See LICENSE file in the project root for license information.
481
- */var x=this&&this.__decorate||function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},E=this&&this.__param||function(e,t){return function(s,x){t(s,x,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ParseTreeMatch=void 0;let a=s(54624),r=class{constructor(e,t,s,x){if(!e)throw Error("tree cannot be null");if(!t)throw Error("pattern cannot be null");if(!s)throw Error("labels cannot be null");this._tree=e,this._pattern=t,this._labels=s,this._mismatchedNode=x}get(e){let t=this._labels.get(e);if(t&&0!==t.length)return t[t.length-1]}getAll(e){return this._labels.get(e)||[]}get labels(){return this._labels}get mismatchedNode(){return this._mismatchedNode}get succeeded(){return!this._mismatchedNode}get pattern(){return this._pattern}get tree(){return this._tree}toString(){return`Match ${this.succeeded?"succeeded":"failed"}; found ${this.labels.size} labels`}};x([a.NotNull,E(0,a.NotNull)],r.prototype,"getAll",null),x([a.NotNull],r.prototype,"labels",null),x([a.NotNull],r.prototype,"pattern",null),x([a.NotNull],r.prototype,"tree",null),x([a.Override],r.prototype,"toString",null),r=x([E(0,a.NotNull),E(1,a.NotNull),E(2,a.NotNull)],r),t.ParseTreeMatch=r},82656:function(e,t,s){"use strict";/*!
481
+ */var x=this&&this.__decorate||function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},E=this&&this.__param||function(e,t){return function(s,x){t(s,x,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ParseTreeMatch=void 0;let a=s(54624),r=class{constructor(e,t,s,x){if(!e)throw Error("tree cannot be null");if(!t)throw Error("pattern cannot be null");if(!s)throw Error("labels cannot be null");this._tree=e,this._pattern=t,this._labels=s,this._mismatchedNode=x}get(e){let t=this._labels.get(e);if(t&&0!==t.length)return t[t.length-1]}getAll(e){return this._labels.get(e)||[]}get labels(){return this._labels}get mismatchedNode(){return this._mismatchedNode}get succeeded(){return!this._mismatchedNode}get pattern(){return this._pattern}get tree(){return this._tree}toString(){return`Match ${this.succeeded?"succeeded":"failed"}; found ${this.labels.size} labels`}};x([a.NotNull,E(0,a.NotNull)],r.prototype,"getAll",null),x([a.NotNull],r.prototype,"labels",null),x([a.NotNull],r.prototype,"pattern",null),x([a.NotNull],r.prototype,"tree",null),x([a.Override],r.prototype,"toString",null),r=x([E(0,a.NotNull),E(1,a.NotNull),E(2,a.NotNull)],r),t.ParseTreeMatch=r},25874:function(e,t,s){"use strict";/*!
482
482
  * Copyright 2016 The ANTLR Project. All rights reserved.
483
483
  * Licensed under the BSD-3-Clause license. See LICENSE file in the project root for license information.
484
484
  */var x=this&&this.__decorate||function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},E=this&&this.__param||function(e,t){return function(s,x){t(s,x,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ParseTreePattern=void 0;let a=s(54624),r=s(6146),i=class{constructor(e,t,s,x){this._matcher=e,this._patternRuleIndex=s,this._pattern=t,this._patternTree=x}match(e){return this._matcher.match(e,this)}matches(e){return this._matcher.match(e,this).succeeded}findAll(e,t){let s=r.XPath.findAll(e,t,this._matcher.parser),x=[];for(let e of s){let t=this.match(e);t.succeeded&&x.push(t)}return x}get matcher(){return this._matcher}get pattern(){return this._pattern}get patternRuleIndex(){return this._patternRuleIndex}get patternTree(){return this._patternTree}};x([a.NotNull],i.prototype,"_pattern",void 0),x([a.NotNull],i.prototype,"_patternTree",void 0),x([a.NotNull],i.prototype,"_matcher",void 0),x([a.NotNull,E(0,a.NotNull)],i.prototype,"match",null),x([E(0,a.NotNull)],i.prototype,"matches",null),x([a.NotNull,E(0,a.NotNull),E(1,a.NotNull)],i.prototype,"findAll",null),x([a.NotNull],i.prototype,"matcher",null),x([a.NotNull],i.prototype,"pattern",null),x([a.NotNull],i.prototype,"patternTree",null),i=x([E(0,a.NotNull),E(1,a.NotNull),E(3,a.NotNull)],i),t.ParseTreePattern=i},57334:function(e,t,s){"use strict";/*!
485
485
  * Copyright 2016 The ANTLR Project. All rights reserved.
486
486
  * Licensed under the BSD-3-Clause license. See LICENSE file in the project root for license information.
487
- */var x=this&&this.__decorate||function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},E=this&&this.__param||function(e,t){return function(s,x){t(s,x,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ParseTreePatternMatcher=void 0;let a=s(28678),r=s(68038),i=s(75891),n=s(58771),_=s(50744),T=s(54624),S=s(31975),R=s(47235),O=s(23741),A=s(50425),N=s(82656),o=s(76107),I=s(55087),L=s(9657),h=s(46830),C=s(72987),l=s(15720),u=s(28575),D=s(53473);class M{constructor(e,t){this.start="<",this.stop=">",this.escape="\\",this.escapeRE=/\\/g,this._lexer=e,this._parser=t}setDelimiters(e,t,s){if(!e)throw Error("start cannot be null or empty");if(!t)throw Error("stop cannot be null or empty");this.start=e,this.stop=t,this.escape=s,this.escapeRE=RegExp(s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g")}matches(e,t,s=0){if("string"==typeof t){let x=this.compile(t,s);return this.matches(e,x)}{let s=new _.MultiMap;return!this.matchImpl(e,t.patternTree,s)}}match(e,t,s=0){if("string"==typeof t){let x=this.compile(t,s);return this.match(e,x)}{let s=new _.MultiMap,x=this.matchImpl(e,t.patternTree,s);return new A.ParseTreeMatch(e,t,s,x)}}compile(e,t){let s,x=this.tokenize(e),E=new n.ListTokenSource(x),r=new i.CommonTokenStream(E),_=this._parser,T=new R.ParserInterpreter(_.grammarFileName,_.vocabulary,_.ruleNames,_.getATNWithBypassAlts(),r);try{T.errorHandler=new a.BailErrorStrategy,s=T.parse(t)}catch(e){if(e instanceof S.ParseCancellationException)throw e.getCause();if(e instanceof o.RecognitionException)throw e;if(e instanceof Error)throw new M.CannotInvokeStartRule(e);throw e}if(r.LA(1)!==u.Token.EOF)throw new M.StartRuleDoesNotConsumeFullPattern;return new N.ParseTreePattern(this,e,t,s)}get lexer(){return this._lexer}get parser(){return this._parser}matchImpl(e,t,s){if(!e)throw TypeError("tree cannot be null");if(!t)throw TypeError("patternTree cannot be null");if(e instanceof C.TerminalNode&&t instanceof C.TerminalNode){let x;if(e.symbol.type===t.symbol.type){if(t.symbol instanceof D.TokenTagToken){let x=t.symbol;s.map(x.tokenName,e);let E=x.label;E&&s.map(E,e)}else e.text!==t.text&&(x||(x=e))}else x||(x=e);return x}if(e instanceof O.ParserRuleContext&&t instanceof O.ParserRuleContext){let x;let E=this.getRuleTagToken(t);if(E){if(e.ruleContext.ruleIndex===t.ruleContext.ruleIndex){s.map(E.ruleName,e);let t=E.label;t&&s.map(t,e)}else x||(x=e);return x}if(e.childCount!==t.childCount)return x||(x=e),x;let a=e.childCount;for(let x=0;x<a;x++){let E=this.matchImpl(e.getChild(x),t.getChild(x),s);if(E)return E}return x}return e}getRuleTagToken(e){if(e instanceof I.RuleNode&&1===e.childCount&&e.getChild(0) instanceof C.TerminalNode){let t=e.getChild(0);if(t.symbol instanceof L.RuleTagToken)return t.symbol}}tokenize(e){let t=this.split(e),s=[];for(let x of t)if(x instanceof h.TagChunk){let t=x.tag.substr(0,1);if(t===t.toUpperCase()){let t=this._parser.getTokenType(x.tag);if(t===u.Token.INVALID_TYPE)throw Error("Unknown token "+x.tag+" in pattern: "+e);let E=new D.TokenTagToken(x.tag,t,x.label);s.push(E)}else if(t===t.toLowerCase()){let t=this._parser.getRuleIndex(x.tag);if(-1===t)throw Error("Unknown rule "+x.tag+" in pattern: "+e);let E=this._parser.getATNWithBypassAlts().ruleToTokenType[t];s.push(new L.RuleTagToken(x.tag,E,x.label))}else throw Error("invalid tag: "+x.tag+" in pattern: "+e)}else{this._lexer.inputStream=r.CharStreams.fromString(x.text);let e=this._lexer.nextToken();for(;e.type!==u.Token.EOF;)s.push(e),e=this._lexer.nextToken()}return s}split(e){let t=0,s=e.length,x=[],E=[],a=[];for(;t<s;)t===e.indexOf(this.escape+this.start,t)?t+=this.escape.length+this.start.length:t===e.indexOf(this.escape+this.stop,t)?t+=this.escape.length+this.stop.length:t===e.indexOf(this.start,t)?(E.push(t),t+=this.start.length):t===e.indexOf(this.stop,t)?(a.push(t),t+=this.stop.length):t++;if(E.length>a.length)throw Error("unterminated tag in pattern: "+e);if(E.length<a.length)throw Error("missing start tag in pattern: "+e);let r=E.length;for(let t=0;t<r;t++)if(E[t]>=a[t])throw Error("tag delimiters out of order in pattern: "+e);if(0===r){let t=e.substring(0,s);x.push(new l.TextChunk(t))}if(r>0&&E[0]>0){let t=e.substring(0,E[0]);x.push(new l.TextChunk(t))}for(let t=0;t<r;t++){let s,i=e.substring(E[t]+this.start.length,a[t]),n=i,_=i.indexOf(":");if(_>=0&&(s=i.substring(0,_),n=i.substring(_+1,i.length)),x.push(new h.TagChunk(n,s)),t+1<r){let s=e.substring(a[t]+this.stop.length,E[t+1]);x.push(new l.TextChunk(s))}}if(r>0){let t=a[r-1]+this.stop.length;if(t<s){let E=e.substring(t,s);x.push(new l.TextChunk(E))}}for(let e=0;e<x.length;e++){let t=x[e];if(t instanceof l.TextChunk){let s=t.text.replace(this.escapeRE,"");s.length<t.text.length&&(x[e]=new l.TextChunk(s))}}return x}}x([T.NotNull,E(1,T.NotNull)],M.prototype,"match",null),x([T.NotNull],M.prototype,"lexer",null),x([T.NotNull],M.prototype,"parser",null),x([E(0,T.NotNull),E(1,T.NotNull),E(2,T.NotNull)],M.prototype,"matchImpl",null),t.ParseTreePatternMatcher=M,function(e){class t extends Error{constructor(e){super(`CannotInvokeStartRule: ${e}`),this.error=e}}e.CannotInvokeStartRule=t;class s extends Error{constructor(){super("StartRuleDoesNotConsumeFullPattern")}}e.StartRuleDoesNotConsumeFullPattern=s}(M=t.ParseTreePatternMatcher||(t.ParseTreePatternMatcher={}))},9657:function(e,t,s){"use strict";/*!
487
+ */var x=this&&this.__decorate||function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},E=this&&this.__param||function(e,t){return function(s,x){t(s,x,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ParseTreePatternMatcher=void 0;let a=s(28678),r=s(68038),i=s(75891),n=s(58771),_=s(50744),T=s(54624),S=s(31975),R=s(47235),O=s(23741),A=s(50425),N=s(25874),o=s(76107),I=s(55087),L=s(9657),h=s(46830),C=s(72987),l=s(15720),u=s(28575),D=s(53473);class M{constructor(e,t){this.start="<",this.stop=">",this.escape="\\",this.escapeRE=/\\/g,this._lexer=e,this._parser=t}setDelimiters(e,t,s){if(!e)throw Error("start cannot be null or empty");if(!t)throw Error("stop cannot be null or empty");this.start=e,this.stop=t,this.escape=s,this.escapeRE=RegExp(s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g")}matches(e,t,s=0){if("string"==typeof t){let x=this.compile(t,s);return this.matches(e,x)}{let s=new _.MultiMap;return!this.matchImpl(e,t.patternTree,s)}}match(e,t,s=0){if("string"==typeof t){let x=this.compile(t,s);return this.match(e,x)}{let s=new _.MultiMap,x=this.matchImpl(e,t.patternTree,s);return new A.ParseTreeMatch(e,t,s,x)}}compile(e,t){let s,x=this.tokenize(e),E=new n.ListTokenSource(x),r=new i.CommonTokenStream(E),_=this._parser,T=new R.ParserInterpreter(_.grammarFileName,_.vocabulary,_.ruleNames,_.getATNWithBypassAlts(),r);try{T.errorHandler=new a.BailErrorStrategy,s=T.parse(t)}catch(e){if(e instanceof S.ParseCancellationException)throw e.getCause();if(e instanceof o.RecognitionException)throw e;if(e instanceof Error)throw new M.CannotInvokeStartRule(e);throw e}if(r.LA(1)!==u.Token.EOF)throw new M.StartRuleDoesNotConsumeFullPattern;return new N.ParseTreePattern(this,e,t,s)}get lexer(){return this._lexer}get parser(){return this._parser}matchImpl(e,t,s){if(!e)throw TypeError("tree cannot be null");if(!t)throw TypeError("patternTree cannot be null");if(e instanceof C.TerminalNode&&t instanceof C.TerminalNode){let x;if(e.symbol.type===t.symbol.type){if(t.symbol instanceof D.TokenTagToken){let x=t.symbol;s.map(x.tokenName,e);let E=x.label;E&&s.map(E,e)}else e.text!==t.text&&(x||(x=e))}else x||(x=e);return x}if(e instanceof O.ParserRuleContext&&t instanceof O.ParserRuleContext){let x;let E=this.getRuleTagToken(t);if(E){if(e.ruleContext.ruleIndex===t.ruleContext.ruleIndex){s.map(E.ruleName,e);let t=E.label;t&&s.map(t,e)}else x||(x=e);return x}if(e.childCount!==t.childCount)return x||(x=e),x;let a=e.childCount;for(let x=0;x<a;x++){let E=this.matchImpl(e.getChild(x),t.getChild(x),s);if(E)return E}return x}return e}getRuleTagToken(e){if(e instanceof I.RuleNode&&1===e.childCount&&e.getChild(0) instanceof C.TerminalNode){let t=e.getChild(0);if(t.symbol instanceof L.RuleTagToken)return t.symbol}}tokenize(e){let t=this.split(e),s=[];for(let x of t)if(x instanceof h.TagChunk){let t=x.tag.substr(0,1);if(t===t.toUpperCase()){let t=this._parser.getTokenType(x.tag);if(t===u.Token.INVALID_TYPE)throw Error("Unknown token "+x.tag+" in pattern: "+e);let E=new D.TokenTagToken(x.tag,t,x.label);s.push(E)}else if(t===t.toLowerCase()){let t=this._parser.getRuleIndex(x.tag);if(-1===t)throw Error("Unknown rule "+x.tag+" in pattern: "+e);let E=this._parser.getATNWithBypassAlts().ruleToTokenType[t];s.push(new L.RuleTagToken(x.tag,E,x.label))}else throw Error("invalid tag: "+x.tag+" in pattern: "+e)}else{this._lexer.inputStream=r.CharStreams.fromString(x.text);let e=this._lexer.nextToken();for(;e.type!==u.Token.EOF;)s.push(e),e=this._lexer.nextToken()}return s}split(e){let t=0,s=e.length,x=[],E=[],a=[];for(;t<s;)t===e.indexOf(this.escape+this.start,t)?t+=this.escape.length+this.start.length:t===e.indexOf(this.escape+this.stop,t)?t+=this.escape.length+this.stop.length:t===e.indexOf(this.start,t)?(E.push(t),t+=this.start.length):t===e.indexOf(this.stop,t)?(a.push(t),t+=this.stop.length):t++;if(E.length>a.length)throw Error("unterminated tag in pattern: "+e);if(E.length<a.length)throw Error("missing start tag in pattern: "+e);let r=E.length;for(let t=0;t<r;t++)if(E[t]>=a[t])throw Error("tag delimiters out of order in pattern: "+e);if(0===r){let t=e.substring(0,s);x.push(new l.TextChunk(t))}if(r>0&&E[0]>0){let t=e.substring(0,E[0]);x.push(new l.TextChunk(t))}for(let t=0;t<r;t++){let s,i=e.substring(E[t]+this.start.length,a[t]),n=i,_=i.indexOf(":");if(_>=0&&(s=i.substring(0,_),n=i.substring(_+1,i.length)),x.push(new h.TagChunk(n,s)),t+1<r){let s=e.substring(a[t]+this.stop.length,E[t+1]);x.push(new l.TextChunk(s))}}if(r>0){let t=a[r-1]+this.stop.length;if(t<s){let E=e.substring(t,s);x.push(new l.TextChunk(E))}}for(let e=0;e<x.length;e++){let t=x[e];if(t instanceof l.TextChunk){let s=t.text.replace(this.escapeRE,"");s.length<t.text.length&&(x[e]=new l.TextChunk(s))}}return x}}x([T.NotNull,E(1,T.NotNull)],M.prototype,"match",null),x([T.NotNull],M.prototype,"lexer",null),x([T.NotNull],M.prototype,"parser",null),x([E(0,T.NotNull),E(1,T.NotNull),E(2,T.NotNull)],M.prototype,"matchImpl",null),t.ParseTreePatternMatcher=M,function(e){class t extends Error{constructor(e){super(`CannotInvokeStartRule: ${e}`),this.error=e}}e.CannotInvokeStartRule=t;class s extends Error{constructor(){super("StartRuleDoesNotConsumeFullPattern")}}e.StartRuleDoesNotConsumeFullPattern=s}(M=t.ParseTreePatternMatcher||(t.ParseTreePatternMatcher={}))},9657:function(e,t,s){"use strict";/*!
488
488
  * Copyright 2016 The ANTLR Project. All rights reserved.
489
489
  * Licensed under the BSD-3-Clause license. See LICENSE file in the project root for license information.
490
490
  */var x=this&&this.__decorate||function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},E=this&&this.__param||function(e,t){return function(s,x){t(s,x,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RuleTagToken=void 0;let a=s(54624),r=s(28575),i=class{constructor(e,t,s){if(null==e||0===e.length)throw Error("ruleName cannot be null or empty.");this._ruleName=e,this.bypassTokenType=t,this._label=s}get ruleName(){return this._ruleName}get label(){return this._label}get channel(){return r.Token.DEFAULT_CHANNEL}get text(){return null!=this._label?"<"+this._label+":"+this._ruleName+">":"<"+this._ruleName+">"}get type(){return this.bypassTokenType}get line(){return 0}get charPositionInLine(){return -1}get tokenIndex(){return -1}get startIndex(){return -1}get stopIndex(){return -1}get tokenSource(){}get inputStream(){}toString(){return this._ruleName+":"+this.bypassTokenType}};x([a.NotNull],i.prototype,"ruleName",null),x([a.Override],i.prototype,"channel",null),x([a.Override],i.prototype,"text",null),x([a.Override],i.prototype,"type",null),x([a.Override],i.prototype,"line",null),x([a.Override],i.prototype,"charPositionInLine",null),x([a.Override],i.prototype,"tokenIndex",null),x([a.Override],i.prototype,"startIndex",null),x([a.Override],i.prototype,"stopIndex",null),x([a.Override],i.prototype,"tokenSource",null),x([a.Override],i.prototype,"inputStream",null),x([a.Override],i.prototype,"toString",null),i=x([E(0,a.NotNull)],i),t.RuleTagToken=i},46830:function(e,t,s){"use strict";/*!
@@ -499,7 +499,7 @@
499
499
  */var x=this&&this.__decorate||function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},E=this&&this.__param||function(e,t){return function(s,x){t(s,x,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.TokenTagToken=void 0;let a=s(74794),r=s(54624),i=class extends a.CommonToken{constructor(e,t,s){super(t),this._tokenName=e,this._label=s}get tokenName(){return this._tokenName}get label(){return this._label}get text(){return null!=this._label?"<"+this._label+":"+this._tokenName+">":"<"+this._tokenName+">"}toString(){return this._tokenName+":"+this.type}};x([r.NotNull],i.prototype,"_tokenName",void 0),x([r.NotNull],i.prototype,"tokenName",null),x([r.Override],i.prototype,"text",null),x([r.Override],i.prototype,"toString",null),i=x([E(0,r.NotNull)],i),t.TokenTagToken=i},77269:function(e,t,s){"use strict";/*!
500
500
  * Copyright 2016 The ANTLR Project. All rights reserved.
501
501
  * Licensed under the BSD-3-Clause license. See LICENSE file in the project root for license information.
502
- */var x=this&&this.__createBinding||(Object.create?function(e,t,s,x){void 0===x&&(x=s),Object.defineProperty(e,x,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,x){void 0===x&&(x=s),e[x]=t[s]}),E=this&&this.__exportStar||function(e,t){for(var s in e)"default"===s||Object.prototype.hasOwnProperty.call(t,s)||x(t,e,s)};Object.defineProperty(t,"__esModule",{value:!0}),E(s(50425),t),E(s(82656),t),E(s(57334),t),E(s(9657),t),E(s(53473),t)},6146:(e,t,s)=>{"use strict";/*!
502
+ */var x=this&&this.__createBinding||(Object.create?function(e,t,s,x){void 0===x&&(x=s),Object.defineProperty(e,x,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,x){void 0===x&&(x=s),e[x]=t[s]}),E=this&&this.__exportStar||function(e,t){for(var s in e)"default"===s||Object.prototype.hasOwnProperty.call(t,s)||x(t,e,s)};Object.defineProperty(t,"__esModule",{value:!0}),E(s(50425),t),E(s(25874),t),E(s(57334),t),E(s(9657),t),E(s(53473),t)},6146:(e,t,s)=>{"use strict";/*!
503
503
  * Copyright 2016 The ANTLR Project. All rights reserved.
504
504
  * Licensed under the BSD-3-Clause license. See LICENSE file in the project root for license information.
505
505
  */Object.defineProperty(t,"__esModule",{value:!0}),t.XPath=void 0;let x=s(68038),E=s(75891),a=s(94830),r=s(23741),i=s(28575),n=s(55630),_=s(65518),T=s(56391),S=s(60544),R=s(49179),O=s(52844),A=s(60311),N=s(81685);class o{constructor(e,t){this.parser=e,this.path=t,this.elements=this.split(t)}split(e){let t=new n.XPathLexer(x.CharStreams.fromString(e));t.recover=e=>{throw e},t.removeErrorListeners(),t.addErrorListener(new _.XPathLexerErrorListener);let s=new E.CommonTokenStream(t);try{s.fill()}catch(s){if(s instanceof a.LexerNoViableAltException)throw RangeError("Invalid tokens or characters at index "+t.charPositionInLine+" in path '"+e+"' -- "+s.message);throw s}let r=s.getTokens(),T=[],S=r.length,R=0;s:for(;R<S;){let e,t=r[R];switch(t.type){case n.XPathLexer.ROOT:case n.XPathLexer.ANYWHERE:let s=t.type===n.XPathLexer.ANYWHERE,x=(e=r[++R]).type===n.XPathLexer.BANG;x&&(e=r[++R]);let E=this.getXPathElement(e,s);E.invert=x,T.push(E),R++;break;case n.XPathLexer.TOKEN_REF:case n.XPathLexer.RULE_REF:case n.XPathLexer.WILDCARD:T.push(this.getXPathElement(t,!1)),R++;break;case i.Token.EOF:break s;default:throw Error("Unknowth path element "+t)}}return T}getXPathElement(e,t){if(e.type===i.Token.EOF)throw Error("Missing path element at end of path");let s=e.text;if(null==s)throw Error("Expected wordToken to have text content.");let x=this.parser.getTokenType(s),E=this.parser.getRuleIndex(s);switch(e.type){case n.XPathLexer.WILDCARD:return t?new A.XPathWildcardAnywhereElement:new N.XPathWildcardElement;case n.XPathLexer.TOKEN_REF:case n.XPathLexer.STRING:if(x===i.Token.INVALID_TYPE)throw Error(s+" at index "+e.startIndex+" isn't a valid token name");return t?new R.XPathTokenAnywhereElement(s,x):new O.XPathTokenElement(s,x);default:if(-1===E)throw Error(s+" at index "+e.startIndex+" isn't a valid rule name");return t?new T.XPathRuleAnywhereElement(s,E):new S.XPathRuleElement(s,E)}}static findAll(e,t,s){return new o(s,t).evaluate(e)}evaluate(e){let t=new r.ParserRuleContext;t.addChild(e);let s=new Set([t]),x=0;for(;x<this.elements.length;){let e=new Set;for(let t of s)t.childCount>0&&this.elements[x].evaluate(t).forEach(e.add,e);x++,s=e}return s}}t.XPath=o,o.WILDCARD="*",o.NOT="!"},15400:function(e,t,s){"use strict";/*!
@@ -1042,12 +1042,12 @@ ${e.toString()}`}}class Nz{constructor(e=new NJ,t=!1,s,x=!1){this._services=e,th
1042
1042
  \`\`\`
1043
1043
  'top', 'center', 'bottom'
1044
1044
  \`\`\`
1045
- `,constraint:function(e){return!!ru.Kn(e)&&!!((ru.hj(e.lineNumber)||ru.HD(e.lineNumber))&&(ru.o8(e.at)||ru.HD(e.at)))},schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:["number","string"]},at:{type:"string",enum:["top","center","bottom"]}}}}]},e.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}}(eJ||(eJ={}));class hG{constructor(e){e.addImplementation(1e4,"code-editor",(e,t)=>{let s=e.get(rT).getFocusedCodeEditor();return!!(s&&s.hasTextFocus())&&this._runEditorCommand(e,s,t)}),e.addImplementation(1e3,"generic-dom-input-textarea",(e,t)=>{let s=al();return!!(s&&["input","textarea"].indexOf(s.tagName.toLowerCase())>=0)&&(this.runDOMCommand(s),!0)}),e.addImplementation(0,"generic-dom",(e,t)=>{let s=e.get(rT).getActiveCodeEditor();return!!s&&(s.focus(),this._runEditorCommand(e,s,t))})}_runEditorCommand(e,t,s){let x=this.runEditorCommand(e,t,s);return!x||x}}!function(e){class t extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[L2.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&2!==t.revealType&&e.revealAllCursors(t.source,!0,!0))}}e.MoveTo=rW(new t({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=rW(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class s extends hp{runCoreEditorCommand(e,t){e.model.pushStackElement();let s=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);null!==s&&(e.setCursorStates(t.source,3,s.viewStates.map(e=>LX.fromViewState(e))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:s.fromLineNumber,fromViewVisualColumn:s.fromVisualColumn,toViewLineNumber:s.toLineNumber,toViewVisualColumn:s.toVisualColumn}),s.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source))}}e.ColumnSelect=rW(new class extends s{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(e,t,s,x){if(void 0===x.position||void 0===x.viewPosition||void 0===x.mouseColumn)return null;let E=e.model.validatePosition(x.position),a=e.coordinatesConverter.validateViewPosition(new cs.L(x.viewPosition.lineNumber,x.viewPosition.column),E),r=x.doColumnSelect?s.fromViewLineNumber:a.lineNumber,i=x.doColumnSelect?s.fromViewVisualColumn:x.mouseColumn-1;return LK.columnSelect(e.cursorConfig,e,r,i,a.lineNumber,x.mouseColumn-1)}}),e.CursorColumnSelectLeft=rW(new class extends s{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,s,x){return LK.columnSelectLeft(e.cursorConfig,e,s)}}),e.CursorColumnSelectRight=rW(new class extends s{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,s,x){return LK.columnSelectRight(e.cursorConfig,e,s)}});class x extends s{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,s,x){return LK.columnSelectUp(e.cursorConfig,e,s,this._isPaged)}}e.CursorColumnSelectUp=rW(new x({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=rW(new x({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3595,linux:{primary:0}}}));class E extends s{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,s,x){return LK.columnSelectDown(e.cursorConfig,e,s,this._isPaged)}}e.CursorColumnSelectDown=rW(new E({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=rW(new E({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3596,linux:{primary:0}}}));class a extends hp{constructor(){super({id:"cursorMove",precondition:void 0,metadata:ew.metadata})}runCoreEditorCommand(e,t){let s=ew.parse(t);s&&this._runCursorMove(e,t.source,s)}_runCursorMove(e,t,s){e.model.pushStackElement(),e.setCursorStates(t,3,a._move(e,e.getCursorStates(),s)),e.revealAllCursors(t,!0)}static _move(e,t,s){let x=s.select,E=s.value;switch(s.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return L2.simpleMove(e,t,s.direction,x,E,s.unit);case 11:case 13:case 12:case 14:return L2.viewportMove(e,t,s.direction,x,E);default:return null}}}e.CursorMoveImpl=a,e.CursorMove=rW(new a);class r extends hp{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let s=this._staticArgs;-1===this._staticArgs.value&&(s={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.simpleMove(e,e.getCursorStates(),s.direction,s.select,s.value,s.unit)),e.revealAllCursors(t.source,!0)}}e.CursorLeft=rW(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=rW(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1039}})),e.CursorRight=rW(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=rW(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1041}})),e.CursorUp=rW(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=rW(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=rW(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:11}})),e.CursorPageUpSelect=rW(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1035}})),e.CursorDown=rW(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=rW(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=rW(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:12}})),e.CursorPageDownSelect=rW(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1036}})),e.CreateCursor=rW(new class extends hp{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(e,t){let s;if(!t.position)return;s=t.wholeLine?L2.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):L2.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);let x=e.getCursorStates();if(x.length>1){let E=s.modelState?s.modelState.position:null,a=s.viewState?s.viewState.position:null;for(let s=0,r=x.length;s<r;s++){let r=x[s];if((!E||r.modelState.selection.containsPosition(E))&&(!a||r.viewState.selection.containsPosition(a))){x.splice(s,1),e.model.pushStackElement(),e.setCursorStates(t.source,3,x);return}}}x.push(s),e.model.pushStackElement(),e.setCursorStates(t.source,3,x)}}),e.LastCursorMoveToSelect=rW(new class extends hp{constructor(){super({id:"_lastCursorMoveToSelect",precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let s=e.getLastAddedCursorIndex(),x=e.getCursorStates(),E=x.slice(0);E[s]=L2.moveTo(e,x[s],!0,t.position,t.viewPosition),e.model.pushStackElement(),e.setCursorStates(t.source,3,E)}});class i extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.moveToBeginningOfLine(e,e.getCursorStates(),this._inSelectionMode)),e.revealAllCursors(t.source,!0)}}e.CursorHome=rW(new i({inSelectionMode:!1,id:"cursorHome",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),e.CursorHomeSelect=rW(new i({inSelectionMode:!0,id:"cursorHomeSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}}));class n extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,this._exec(e.getCursorStates())),e.revealAllCursors(t.source,!0)}_exec(e){let t=[];for(let s=0,x=e.length;s<x;s++){let x=e[s],E=x.modelState.position.lineNumber;t[s]=LX.fromModelState(x.modelState.move(this._inSelectionMode,E,1,0))}return t}}e.CursorLineStart=rW(new n({inSelectionMode:!1,id:"cursorLineStart",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:287}}})),e.CursorLineStartSelect=rW(new n({inSelectionMode:!0,id:"cursorLineStartSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:1311}}}));class _ extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.moveToEndOfLine(e,e.getCursorStates(),this._inSelectionMode,t.sticky||!1)),e.revealAllCursors(t.source,!0)}}e.CursorEnd=rW(new _({inSelectionMode:!1,id:"cursorEnd",precondition:void 0,kbOpts:{args:{sticky:!1},weight:0,kbExpr:eK.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}},metadata:{description:"Go to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:sY.NC("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}})),e.CursorEndSelect=rW(new _({inSelectionMode:!0,id:"cursorEndSelect",precondition:void 0,kbOpts:{args:{sticky:!1},weight:0,kbExpr:eK.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}},metadata:{description:"Select to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:sY.NC("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}}));class T extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,this._exec(e,e.getCursorStates())),e.revealAllCursors(t.source,!0)}_exec(e,t){let s=[];for(let x=0,E=t.length;x<E;x++){let E=t[x],a=E.modelState.position.lineNumber,r=e.model.getLineMaxColumn(a);s[x]=LX.fromModelState(E.modelState.move(this._inSelectionMode,a,r,0))}return s}}e.CursorLineEnd=rW(new T({inSelectionMode:!1,id:"cursorLineEnd",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:291}}})),e.CursorLineEndSelect=rW(new T({inSelectionMode:!0,id:"cursorLineEndSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:1315}}}));class S extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.moveToBeginningOfBuffer(e,e.getCursorStates(),this._inSelectionMode)),e.revealAllCursors(t.source,!0)}}e.CursorTop=rW(new S({inSelectionMode:!1,id:"cursorTop",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2062,mac:{primary:2064}}})),e.CursorTopSelect=rW(new S({inSelectionMode:!0,id:"cursorTopSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3086,mac:{primary:3088}}}));class R extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.moveToEndOfBuffer(e,e.getCursorStates(),this._inSelectionMode)),e.revealAllCursors(t.source,!0)}}e.CursorBottom=rW(new R({inSelectionMode:!1,id:"cursorBottom",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2061,mac:{primary:2066}}})),e.CursorBottomSelect=rW(new R({inSelectionMode:!0,id:"cursorBottomSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3085,mac:{primary:3090}}}));class O extends hp{constructor(){super({id:"editorScroll",precondition:void 0,metadata:eQ.metadata})}determineScrollMethod(e){return[6].includes(e.unit)&&[4,2].includes(e.direction)?this._runHorizontalEditorScroll.bind(this):[1,2,3,4,5,6].includes(e.unit)&&[1,3].includes(e.direction)?this._runVerticalEditorScroll.bind(this):null}runCoreEditorCommand(e,t){let s=eQ.parse(t);if(!s)return;let x=this.determineScrollMethod(s);x&&x(e,t.source,s)}_runVerticalEditorScroll(e,t,s){let x=this._computeDesiredScrollTop(e,s);if(s.revealCursor){let E=e.getCompletelyVisibleViewRangeAtScrollTop(x);e.setCursorStates(t,3,[L2.findPositionInViewportIfOutside(e,e.getPrimaryCursorState(),E,s.select)])}e.viewLayout.setScrollPosition({scrollTop:x},0)}_computeDesiredScrollTop(e,t){let s;if(1===t.unit){let s;let x=e.viewLayout.getFutureViewport(),E=e.getCompletelyVisibleViewRangeAtScrollTop(x.top),a=e.coordinatesConverter.convertViewRangeToModelRange(E);s=1===t.direction?Math.max(1,a.startLineNumber-t.value):Math.min(e.model.getLineCount(),a.startLineNumber+t.value);let r=e.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(s,1));return e.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber)}if(5===t.unit){let s=0;return 3===t.direction&&(s=e.model.getLineCount()-e.cursorConfig.pageSize),e.viewLayout.getVerticalOffsetForLineNumber(s)}s=3===t.unit?e.cursorConfig.pageSize*t.value:4===t.unit?Math.round(e.cursorConfig.pageSize/2)*t.value:t.value;let x=(1===t.direction?-1:1)*s;return e.viewLayout.getCurrentScrollTop()+x*e.cursorConfig.lineHeight}_runHorizontalEditorScroll(e,t,s){let x=this._computeDesiredScrollLeft(e,s);e.viewLayout.setScrollPosition({scrollLeft:x},0)}_computeDesiredScrollLeft(e,t){let s=(4===t.direction?-1:1)*t.value;return e.viewLayout.getCurrentScrollLeft()+s*e.cursorConfig.typicalHalfwidthCharacterWidth}}e.EditorScrollImpl=O,e.EditorScroll=rW(new O),e.ScrollLineUp=rW(new class extends hp{constructor(){super({id:"scrollLineUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2064,mac:{primary:267}}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Up,by:eQ.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollPageUp=rW(new class extends hp{constructor(){super({id:"scrollPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Up,by:eQ.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollEditorTop=rW(new class extends hp{constructor(){super({id:"scrollEditorTop",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Up,by:eQ.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollLineDown=rW(new class extends hp{constructor(){super({id:"scrollLineDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2066,mac:{primary:268}}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Down,by:eQ.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollPageDown=rW(new class extends hp{constructor(){super({id:"scrollPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Down,by:eQ.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollEditorBottom=rW(new class extends hp{constructor(){super({id:"scrollEditorBottom",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Down,by:eQ.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollLeft=rW(new class extends hp{constructor(){super({id:"scrollLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Left,by:eQ.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollRight=rW(new class extends hp{constructor(){super({id:"scrollRight",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Right,by:eQ.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:s.source})}});class A extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[L2.word(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position)]),2!==t.revealType&&e.revealAllCursors(t.source,!0,!0))}}e.WordSelect=rW(new A({inSelectionMode:!1,id:"_wordSelect",precondition:void 0})),e.WordSelectDrag=rW(new A({inSelectionMode:!0,id:"_wordSelectDrag",precondition:void 0})),e.LastCursorWordSelect=rW(new class extends hp{constructor(){super({id:"lastCursorWordSelect",precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let s=e.getLastAddedCursorIndex(),x=e.getCursorStates(),E=x.slice(0),a=x[s];E[s]=L2.word(e,a,a.modelState.hasSelection(),t.position),e.model.pushStackElement(),e.setCursorStates(t.source,3,E)}});class N extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[L2.line(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)]),2!==t.revealType&&e.revealAllCursors(t.source,!1,!0))}}e.LineSelect=rW(new N({inSelectionMode:!1,id:"_lineSelect",precondition:void 0})),e.LineSelectDrag=rW(new N({inSelectionMode:!0,id:"_lineSelectDrag",precondition:void 0}));class o extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){if(!t.position)return;let s=e.getLastAddedCursorIndex(),x=e.getCursorStates(),E=x.slice(0);E[s]=L2.line(e,x[s],this._inSelectionMode,t.position,t.viewPosition),e.model.pushStackElement(),e.setCursorStates(t.source,3,E)}}e.LastCursorLineSelect=rW(new o({inSelectionMode:!1,id:"lastCursorLineSelect",precondition:void 0})),e.LastCursorLineSelectDrag=rW(new o({inSelectionMode:!0,id:"lastCursorLineSelectDrag",precondition:void 0})),e.CancelSelection=rW(new class extends hp{constructor(){super({id:"cancelSelection",precondition:eK.hasNonEmptySelection,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[L2.cancelSelection(e,e.getPrimaryCursorState())]),e.revealAllCursors(t.source,!0)}}),e.RemoveSecondaryCursors=rW(new class extends hp{constructor(){super({id:"removeSecondaryCursors",precondition:eK.hasMultipleSelections,kbOpts:{weight:1,kbExpr:eK.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[e.getPrimaryCursorState()]),e.revealAllCursors(t.source,!0),_y(sY.NC("removedCursor","Removed secondary cursors"))}}),e.RevealLine=rW(new class extends hp{constructor(){super({id:"revealLine",precondition:void 0,metadata:eJ.metadata})}runCoreEditorCommand(e,t){let s=t.lineNumber||0,x="number"==typeof s?s+1:parseInt(s)+1;x<1&&(x=1);let E=e.model.getLineCount();x>E&&(x=E);let a=new r3.e(x,1,x,e.model.getLineMaxColumn(x)),r=0;if(t.at)switch(t.at){case eJ.RawAtArgument.Top:r=3;break;case eJ.RawAtArgument.Center:r=1;break;case eJ.RawAtArgument.Bottom:r=4}let i=e.coordinatesConverter.convertModelRangeToViewRange(a);e.revealRange(t.source,!1,i,r,0)}}),e.SelectAll=new class extends hG{constructor(){super(rq)}runDOMCommand(e){xX&&(e.focus(),e.select()),e.ownerDocument.execCommand("selectAll")}runEditorCommand(e,t,s){let x=t._getViewModel();x&&this.runCoreEditorCommand(x,s)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates("keyboard",3,[L2.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=rW(new class extends hp{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(e,t){t.selection&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[LX.fromModelSelection(t.selection)]))}})}(eZ||(eZ={}));let hB=rP.Ao.and(eK.textInputFocus,eK.columnSelection);function hm(e,t){rY.registerKeybindingRule({id:e,primary:t,when:hB,weight:1})}function hf(e){return e.register(),e}hm(eZ.CursorColumnSelectLeft.id,1039),hm(eZ.CursorColumnSelectRight.id,1041),hm(eZ.CursorColumnSelectUp.id,1040),hm(eZ.CursorColumnSelectPageUp.id,1035),hm(eZ.CursorColumnSelectDown.id,1042),hm(eZ.CursorColumnSelectPageDown.id,1036),function(e){class t extends rw{runEditorCommand(e,t,s){let x=t._getViewModel();x&&this.runCoreEditingCommand(t,x,s||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=rW(new class extends t{constructor(){super({id:"lineBreakInsert",precondition:eK.writable,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,s){e.pushUndoStop(),e.executeCommands(this.id,hT.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection)))}}),e.Outdent=rW(new class extends t{constructor(){super({id:"outdent",precondition:eK.writable,kbOpts:{weight:0,kbExpr:rP.Ao.and(eK.editorTextFocus,eK.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,s){e.pushUndoStop(),e.executeCommands(this.id,hd.outdent(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.Tab=rW(new class extends t{constructor(){super({id:"tab",precondition:eK.writable,kbOpts:{weight:0,kbExpr:rP.Ao.and(eK.editorTextFocus,eK.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,s){e.pushUndoStop(),e.executeCommands(this.id,hd.tab(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.DeleteLeft=rW(new class extends t{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,s){let[x,E]=L$.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection),t.getCursorAutoClosedCharacters());x&&e.pushUndoStop(),e.executeCommands(this.id,E),t.setPrevEditOperationType(2)}}),e.DeleteRight=rW(new class extends t{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,s){let[x,E]=L$.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection));x&&e.pushUndoStop(),e.executeCommands(this.id,E),t.setPrevEditOperationType(3)}}),e.Undo=new class extends hG{constructor(){super(rZ)}runDOMCommand(e){e.ownerDocument.execCommand("undo")}runEditorCommand(e,t,s){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().undo()}},e.Redo=new class extends hG{constructor(){super(rz)}runDOMCommand(e){e.ownerDocument.execCommand("redo")}runEditorCommand(e,t,s){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().redo()}}}(ez||(ez={}));class hg extends rb{constructor(e,t,s){super({id:e,precondition:void 0,metadata:s}),this._handlerId=t}runCommand(e,t){let s=e.get(rT).getFocusedCodeEditor();s&&s.trigger("keyboard",this._handlerId,t)}}function hF(e,t){hf(new hg("default:"+e,e)),hf(new hg(e,e,t))}hF("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),hF("replacePreviousChar"),hF("compositionType"),hF("compositionStart"),hF("compositionEnd"),hF("paste"),hF("cut");class hH{constructor(e,t,s,x){this.configuration=e,this.viewModel=t,this.userInputEvents=s,this.commandDelegate=x}paste(e,t,s,x){this.commandDelegate.paste(e,t,s,x)}type(e){this.commandDelegate.type(e)}compositionType(e,t,s,x){this.commandDelegate.compositionType(e,t,s,x)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){eZ.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){let t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column<t?new cs.L(e.lineNumber,t):e}_hasMulticursorModifier(e){switch(this.configuration.options.get(78)){case"altKey":return e.altKey;case"ctrlKey":return e.ctrlKey;case"metaKey":return e.metaKey;default:return!1}}_hasNonMulticursorModifier(e){switch(this.configuration.options.get(78)){case"altKey":return e.ctrlKey||e.metaKey;case"ctrlKey":return e.altKey||e.metaKey;case"metaKey":return e.ctrlKey||e.altKey;default:return!1}}dispatchMouse(e){let t=this.configuration.options,s=sP.IJ&&t.get(108),x=t.get(22);e.middleButton&&!s?this._columnSelect(e.position,e.mouseColumn,e.inSelectionMode):e.startedOnLineNumbers?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelect(e.position,e.revealType):this._createCursor(e.position,!0):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):e.mouseDownCount>=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):2===e.mouseDownCount?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):x?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){eZ.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){eZ.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,s){e=this._validateViewColumn(e),eZ.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:s})}_createCursor(e,t){e=this._validateViewColumn(e),eZ.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){eZ.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){eZ.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){eZ.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){eZ.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){eZ.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){eZ.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){eZ.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){eZ.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){eZ.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class hy{constructor(e){this._lineFactory=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_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(e){let t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new xZ.he("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(0===this.getCount())return null;let s=this.getStartLineNumber(),x=this.getEndLineNumber();if(t<s)return this._rendLineNumberStart-=t-e+1,null;if(e>x)return null;let E=0,a=0;for(let r=s;r<=x;r++){let s=r-this._rendLineNumberStart;e<=r&&r<=t&&(0===a?(E=s,a=1):a++)}if(e<s){let x=0;x=t<s?t-e+1:s-e,this._rendLineNumberStart-=x}return this._lines.splice(E,a)}onLinesChanged(e,t){let s=e+t-1;if(0===this.getCount())return!1;let x=this.getStartLineNumber(),E=this.getEndLineNumber(),a=!1;for(let t=e;t<=s;t++)t>=x&&t<=E&&(this._lines[t-this._rendLineNumberStart].onContentChanged(),a=!0);return a}onLinesInserted(e,t){if(0===this.getCount())return null;let s=t-e+1,x=this.getStartLineNumber(),E=this.getEndLineNumber();if(e<=x)return this._rendLineNumberStart+=s,null;if(e>E)return null;if(s+e>E)return this._lines.splice(e-this._rendLineNumberStart,E-e+1);let a=[];for(let e=0;e<s;e++)a[e]=this._lineFactory.createLine();let r=e-this._rendLineNumberStart,i=this._lines.slice(0,r),n=this._lines.slice(r,this._lines.length-s),_=this._lines.slice(this._lines.length-s,this._lines.length);return this._lines=i.concat(a).concat(n),_}onTokensChanged(e){if(0===this.getCount())return!1;let t=this.getStartLineNumber(),s=this.getEndLineNumber(),x=!1;for(let E=0,a=e.length;E<a;E++){let a=e[E];if(a.toLineNumber<t||a.fromLineNumber>s)continue;let r=Math.max(t,a.fromLineNumber),i=Math.min(s,a.toLineNumber);for(let e=r;e<=i;e++){let t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),x=!0}}return x}}class hV{constructor(e){this._lineFactory=e,this.domNode=this._createDomNode(),this._linesCollection=new hy(this._lineFactory)}_createDomNode(){let e=a9(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(146)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){let t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,s=t.length;e<s;e++){let s=t[e].getDomNode();s?.remove()}return!0}onLinesInserted(e){let t=this._linesCollection.onLinesInserted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,s=t.length;e<s;e++){let s=t[e].getDomNode();s?.remove()}return!0}onScrollChanged(e){return e.scrollTopChanged}onTokensChanged(e){return this._linesCollection.onTokensChanged(e.ranges)}onZonesChanged(e){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(e){return this._linesCollection.getLine(e)}renderLines(e){let t=this._linesCollection._get(),s=new hX(this.domNode.domNode,this._lineFactory,e),x={rendLineNumberStart:t.rendLineNumberStart,lines:t.lines,linesLength:t.lines.length},E=s.render(x,e.startLineNumber,e.endLineNumber,e.relativeVerticalOffset);this._linesCollection._set(E.rendLineNumberStart,E.lines)}}class hX{static{this._ttPolicy=r$("editorViewLayer",{createHTML:e=>e})}constructor(e,t,s){this._domNode=e,this._lineFactory=t,this._viewportData=s}render(e,t,s,x){let E={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(E.rendLineNumberStart+E.linesLength-1<t||s<E.rendLineNumberStart){E.rendLineNumberStart=t,E.linesLength=s-t+1,E.lines=[];for(let e=t;e<=s;e++)E.lines[e-t]=this._lineFactory.createLine();return this._finishRendering(E,!0,x),E}if(this._renderUntouchedLines(E,Math.max(t-E.rendLineNumberStart,0),Math.min(s-E.rendLineNumberStart,E.linesLength-1),x,t),E.rendLineNumberStart>t){let e=Math.min(s,E.rendLineNumberStart-1);t<=e&&(this._insertLinesBefore(E,t,e,x,t),E.linesLength+=e-t+1)}else if(E.rendLineNumberStart<t){let e=Math.min(E.linesLength,t-E.rendLineNumberStart);e>0&&(this._removeLinesBefore(E,e),E.linesLength-=e)}if(E.rendLineNumberStart=t,E.rendLineNumberStart+E.linesLength-1<s){let e=E.rendLineNumberStart+E.linesLength;e<=s&&(this._insertLinesAfter(E,e,s,x,t),E.linesLength+=s-e+1)}else if(E.rendLineNumberStart+E.linesLength-1>s){let e=Math.max(0,s-E.rendLineNumberStart+1),t=E.linesLength-1-e+1;t>0&&(this._removeLinesAfter(E,t),E.linesLength-=t)}return this._finishRendering(E,!1,x),E}_renderUntouchedLines(e,t,s,x,E){let a=e.rendLineNumberStart,r=e.lines;for(let e=t;e<=s;e++){let t=a+e;r[e].layoutLine(t,x[t-E],this._viewportData.lineHeight)}}_insertLinesBefore(e,t,s,x,E){let a=[],r=0;for(let e=t;e<=s;e++)a[r++]=this._lineFactory.createLine();e.lines=a.concat(e.lines)}_removeLinesBefore(e,t){for(let s=0;s<t;s++){let t=e.lines[s].getDomNode();t?.remove()}e.lines.splice(0,t)}_insertLinesAfter(e,t,s,x,E){let a=[],r=0;for(let e=t;e<=s;e++)a[r++]=this._lineFactory.createLine();e.lines=e.lines.concat(a)}_removeLinesAfter(e,t){let s=e.linesLength-t;for(let x=0;x<t;x++){let t=e.lines[s+x].getDomNode();t?.remove()}e.lines.splice(s,t)}_finishRenderingNewLines(e,t,s,x){hX._ttPolicy&&(s=hX._ttPolicy.createHTML(s));let E=this._domNode.lastChild;t||!E?this._domNode.innerHTML=s:E.insertAdjacentHTML("afterend",s);let a=this._domNode.lastChild;for(let t=e.linesLength-1;t>=0;t--){let s=e.lines[t];x[t]&&(s.setDomNode(a),a=a.previousSibling)}}_finishRenderingInvalidLines(e,t,s){let x=document.createElement("div");hX._ttPolicy&&(t=hX._ttPolicy.createHTML(t)),x.innerHTML=t;for(let t=0;t<e.linesLength;t++){let E=e.lines[t];if(s[t]){let e=x.firstChild,t=E.getDomNode();t.parentNode.replaceChild(e,t),E.setDomNode(e)}}}static{this._sb=new oF.HT(1e5)}_finishRendering(e,t,s){let x=hX._sb,E=e.linesLength,a=e.lines,r=e.rendLineNumberStart,i=[];{x.reset();let n=!1;for(let e=0;e<E;e++){let t=a[e];i[e]=!1,!t.getDomNode()&&t.renderLine(e+r,s[e],this._viewportData.lineHeight,this._viewportData,x)&&(i[e]=!0,n=!0)}n&&this._finishRenderingNewLines(e,t,x.build(),i)}{x.reset();let t=!1,n=[];for(let e=0;e<E;e++){let E=a[e];n[e]=!1,!i[e]&&E.renderLine(e+r,s[e],this._viewportData.lineHeight,this._viewportData,x)&&(n[e]=!0,t=!0)}t&&this._finishRenderingInvalidLines(e,x.build(),n)}}}class hb extends IV{constructor(e){super(e),this._dynamicOverlays=[],this._isFocused=!1,this._visibleLines=new hV({createLine:()=>new hv(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;let t=this._context.configuration.options.get(50);re(this.domNode,t),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;e<t;e++)if(this._dynamicOverlays[e].shouldRender())return!0;return!1}dispose(){super.dispose();for(let e=0,t=this._dynamicOverlays.length;e<t;e++)this._dynamicOverlays[e].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}addDynamicOverlay(e){this._dynamicOverlays.push(e)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e);let t=this._context.configuration.options.get(50);return re(this.domNode,t),!0}onFlushed(e){return this._visibleLines.onFlushed(e)}onFocusChanged(e){return this._isFocused=e.isFocused,!0}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onScrollChanged(e){return this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._visibleLines.onZonesChanged(e)}prepareRender(e){let t=this._dynamicOverlays.filter(e=>e.shouldRender());for(let s=0,x=t.length;s<x;s++){let x=t[s];x.prepareRender(e),x.onDidRender()}}render(e){this._viewOverlaysRender(e),this.domNode.toggleClassName("focused",this._isFocused)}_viewOverlaysRender(e){this._visibleLines.renderLines(e.viewportData)}}class hv{constructor(e){this._dynamicOverlays=e,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(e){this._domNode=a9(e)}onContentChanged(){}onTokensChanged(){}renderLine(e,t,s,x,E){let a="";for(let t=0,s=this._dynamicOverlays.length;t<s;t++)a+=this._dynamicOverlays[t].render(x.startLineNumber,e);return this._renderedContent!==a&&(this._renderedContent=a,E.appendString('<div style="top:'),E.appendString(String(t)),E.appendString("px;height:"),E.appendString(String(s)),E.appendString('px;">'),E.appendString(a),E.appendString("</div>"),!0)}layoutLine(e,t,s){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(s))}}class hk extends hb{constructor(e){super(e);let t=this._context.configuration.options.get(146);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){let t=this._context.configuration.options.get(146);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class hw extends hb{constructor(e){super(e);let t=this._context.configuration.options,s=t.get(146);this._contentLeft=s.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),re(this.domNode,t.get(50))}onConfigurationChanged(e){let t=this._context.configuration.options;re(this.domNode,t.get(50));let s=t.get(146);return this._contentLeft=s.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);let t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class hW{constructor(e){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=e}emitKeyDown(e){this.onKeyDown?.(e)}emitKeyUp(e){this.onKeyUp?.(e)}emitContextMenu(e){this.onContextMenu?.(this._convertViewToModelMouseEvent(e))}emitMouseMove(e){this.onMouseMove?.(this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){this.onMouseLeave?.(this._convertViewToModelMouseEvent(e))}emitMouseDown(e){this.onMouseDown?.(this._convertViewToModelMouseEvent(e))}emitMouseUp(e){this.onMouseUp?.(this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){this.onMouseDrag?.(this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){this.onMouseDrop?.(this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){this.onMouseDropCanceled?.()}emitMouseWheel(e){this.onMouseWheel?.(e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return hW.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){let s={...e};return s.position&&(s.position=t.convertViewPositionToModelPosition(s.position)),s.range&&(s.range=t.convertViewRangeToModelRange(s.range)),(5===s.type||8===s.type)&&(s.detail=this.convertViewToModelViewZoneData(s.detail,t)),s}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new cs.L(e.afterLineNumber,1)).lineNumber}}}x(17572);class hK extends IV{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=a9(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1,t=this._context.configuration.options.get(146),s=t.contentWidth-t.verticalScrollbarWidth;this.contentWidth!==s&&(this.contentWidth=s,e=!0);let x=t.contentLeft;return this.contentLeft!==x&&(this.contentLeft=x,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){let t=0;for(let s of e.getDecorationsInViewport()){let x,E;if(!s.options.blockClassName)continue;let a=this.blocks[t];a||(a=this.blocks[t]=a9(document.createElement("div")),this.domNode.appendChild(a)),s.options.blockIsAfterEnd?(x=e.getVerticalOffsetAfterLineNumber(s.range.endLineNumber,!1),E=e.getVerticalOffsetAfterLineNumber(s.range.endLineNumber,!0)):(x=e.getVerticalOffsetForLineNumber(s.range.startLineNumber,!0),E=s.range.isEmpty()&&!s.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(s.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(s.range.endLineNumber,!0));let[r,i,n,_]=s.options.blockPadding??[0,0,0,0];a.setClassName("blockDecorations-block "+s.options.blockClassName),a.setLeft(this.contentLeft-_),a.setWidth(this.contentWidth+_+i),a.setTop(x-e.scrollTop-r),a.setHeight(E-x+r+n),t++}for(let e=t;e<this.blocks.length;e++)this.blocks[e].domNode.remove();this.blocks.length=t}}class hQ extends IV{constructor(e,t){super(e),this._viewDomNode=t,this._widgets={},this.domNode=a9(document.createElement("div")),IX.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=a9(document.createElement("div")),IX.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(e){for(let t of Object.keys(this._widgets))this._widgets[t].onConfigurationChanged(e);return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLineMappingChanged(e){return this._updateAnchorsViewPositions(),!0}onLinesChanged(e){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(e){return this._updateAnchorsViewPositions(),!0}onLinesInserted(e){return this._updateAnchorsViewPositions(),!0}onScrollChanged(e){return!0}onZonesChanged(e){return!0}_updateAnchorsViewPositions(){for(let e of Object.keys(this._widgets))this._widgets[e].updateAnchorViewPosition()}addWidget(e){let t=new hJ(this._context,this._viewDomNode,e);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()}setWidgetPosition(e,t,s,x,E){this._widgets[e.getId()].setPosition(t,s,x,E),this.setShouldRender()}removeWidget(e){let t=e.getId();if(this._widgets.hasOwnProperty(t)){let e=this._widgets[t];delete this._widgets[t];let s=e.domNode.domNode;s.remove(),s.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(e){return!!this._widgets.hasOwnProperty(e)&&this._widgets[e].suppressMouseDown}onBeforeRender(e){for(let t of Object.keys(this._widgets))this._widgets[t].onBeforeRender(e)}prepareRender(e){for(let t of Object.keys(this._widgets))this._widgets[t].prepareRender(e)}render(e){for(let t of Object.keys(this._widgets))this._widgets[t].render(e)}}class hJ{constructor(e,t,s){this._primaryAnchor=new hZ(null,null),this._secondaryAnchor=new hZ(null,null),this._context=e,this._viewDomNode=t,this._actual=s,this.domNode=a9(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;let x=this._context.configuration.options,E=x.get(146);this._fixedOverflowWidgets=x.get(42),this._contentWidth=E.contentWidth,this._contentLeft=E.contentLeft,this._lineHeight=x.get(67),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(e){let t=this._context.configuration.options;if(this._lineHeight=t.get(67),e.hasChanged(146)){let e=t.get(146);this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(e,t,s){function x(e,t,s){if(!e)return new hZ(null,null);let x=t.model.validatePosition(e);return t.coordinatesConverter.modelPositionIsVisible(x)?new hZ(e,t.coordinatesConverter.convertModelPositionToViewPosition(x,s??void 0)):new hZ(e,null)}this._affinity=e,this._primaryAnchor=x(t,this._context.viewModel,this._affinity),this._secondaryAnchor=x(s,this._context.viewModel,this._affinity)}_getMaxWidth(){let e=this.domNode.domNode.ownerDocument,t=e.defaultView;return this.allowEditorOverflow?t?.innerWidth||e.documentElement.offsetWidth||e.body.offsetWidth:this._contentWidth}setPosition(e,t,s,x){this._setPosition(x,e,t),this._preference=s,this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,s,x){let E=e.top,a=e.top+e.height,r=x.viewportHeight-a,i=e.left;return i+t>x.scrollLeft+x.viewportWidth&&(i=x.scrollLeft+x.viewportWidth-t),i<x.scrollLeft&&(i=x.scrollLeft),{fitsAbove:E>=s,aboveTop:E-s,fitsBelow:r>=s,belowTop:a,left:i}}_layoutHorizontalSegmentInPage(e,t,s,x){let E=Math.max(15,t.left-x),a=Math.min(t.left+t.width+x,e.width-15),r=this._viewDomNode.domNode.ownerDocument.defaultView,i=t.left+s-(r?.scrollX??0);if(i+x>a){let e=i-(a-x);i-=e,s-=e}if(i<E){let e=i-E;i-=e,s-=e}return[s,i]}_layoutBoxInPage(e,t,s,x){let E=e.top-s,a=e.top+e.height,r=aR(this._viewDomNode.domNode),i=this._viewDomNode.domNode.ownerDocument,n=i.defaultView,_=r.top+E-(n?.scrollY??0),T=r.top+a-(n?.scrollY??0),S=ac(i.body),[R,O]=this._layoutHorizontalSegmentInPage(S,r,e.left-x.scrollLeft+this._contentLeft,t),A=_>=22,N=T+s<=S.height-22;return this._fixedOverflowWidgets?{fitsAbove:A,aboveTop:Math.max(_,22),fitsBelow:N,belowTop:T,left:O}:{fitsAbove:A,aboveTop:E,fitsBelow:N,belowTop:a,left:R}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new hz(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){return{primary:t(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:t(this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function t(t,s,x){if(!t)return null;let E=e.visibleRangeForPosition(t);if(!E)return null;let a=1===t.column&&3===s?0:E.left;return new hq(e.getVerticalOffsetForLineNumber(t.lineNumber)-e.scrollTop,a,x)}}_reduceAnchorCoordinates(e,t,s){if(!t)return e;let x=this._context.configuration.options.get(50),E=t.left;return E=E<e.left?Math.max(E,e.left-s+x.typicalFullwidthCharacterWidth):Math.min(E,e.left+s-x.typicalFullwidthCharacterWidth),new hq(e.top,E,e.height)}_prepareRenderWidget(e){let t;if(!this._preference||0===this._preference.length)return null;let{primary:s,secondary:x}=this._getAnchorsCoordinates(e);if(!s)return{kind:"offViewport",preserveFocus:this.domNode.domNode.contains(this.domNode.domNode.ownerDocument.activeElement)};if(-1===this._cachedDomNodeOffsetWidth||-1===this._cachedDomNodeOffsetHeight){let e=null;if("function"==typeof this._actual.beforeRender&&(e=hj(this._actual.beforeRender,this._actual)),e)this._cachedDomNodeOffsetWidth=e.width,this._cachedDomNodeOffsetHeight=e.height;else{let e=this.domNode.domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(e.width),this._cachedDomNodeOffsetHeight=Math.round(e.height)}}let E=this._reduceAnchorCoordinates(s,x,this._cachedDomNodeOffsetWidth);t=this.allowEditorOverflow?this._layoutBoxInPage(E,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,e):this._layoutBoxInViewport(E,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,e);for(let e=1;e<=2;e++)for(let s of this._preference)if(1===s){if(!t)return null;if(2===e||t.fitsAbove)return{kind:"inViewport",coordinate:new hz(t.aboveTop,t.left),position:1}}else if(2===s){if(!t)return null;if(2===e||t.fitsBelow)return{kind:"inViewport",coordinate:new hz(t.belowTop,t.left),position:2}}else{if(this.allowEditorOverflow)return{kind:"inViewport",coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(new hz(E.top,E.left)),position:0};return{kind:"inViewport",coordinate:new hz(E.top,E.left),position:0}}return null}onBeforeRender(e){this._primaryAnchor.viewPosition&&this._preference&&!(this._primaryAnchor.viewPosition.lineNumber<e.startLineNumber)&&!(this._primaryAnchor.viewPosition.lineNumber>e.endLineNumber)&&this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData||"offViewport"===this._renderData.kind){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this._renderData?.kind==="offViewport"&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),"function"==typeof this._actual.afterRender&&hj(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?this.domNode.setTop(this._renderData.coordinate.top):this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.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&&hj(this._actual.afterRender,this._actual,this._renderData.position)}}class hZ{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class hz{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class hq{constructor(e,t,s){this.top=e,this.left=t,this.height=s,this._anchorCoordinateBrand=void 0}}function hj(e,t,...s){try{return e.call(t,...s)}catch{return null}}x(67733);class h$ extends LP{constructor(e){super(),this._context=e;let t=this._context.configuration.options,s=t.get(146);this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=s.isViewportWrapping,this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Ln.Y(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1,t=new Set;for(let e of this._selections)t.add(e.positionLineNumber);let s=Array.from(t);s.sort((e,t)=>e-t),sD.fS(this._cursorLineNumbers,s)||(this._cursorLineNumbers=s,e=!0);let x=this._selections.every(e=>e.isEmpty());return this._selectionIsEmpty!==x&&(this._selectionIsEmpty=x,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(146);return this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=s.isViewportWrapping,this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=e.isFocused,!0)}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,x=[];for(let e=t;e<=s;e++)x[e-t]="";if(this._wordWrap){let E=this._renderOne(e,!1);for(let e of this._cursorLineNumbers){let a=this._context.viewModel.coordinatesConverter,r=a.convertViewPositionToModelPosition(new cs.L(e,1)).lineNumber,i=a.convertModelPositionToViewPosition(new cs.L(r,1)).lineNumber,n=a.convertModelPositionToViewPosition(new cs.L(r,this._context.viewModel.model.getLineMaxColumn(r))).lineNumber,_=Math.max(i,t),T=Math.min(n,s);for(let e=_;e<=T;e++)x[e-t]=E}}let E=this._renderOne(e,!0);for(let e of this._cursorLineNumbers)e<t||e>s||(x[e-t]=E);this._renderData=x}render(e,t){if(!this._renderData)return"";let s=t-e;return s>=this._renderData.length?"":this._renderData[s]}_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 h0 extends h${_renderOne(e,t){let s="current-line"+(this._shouldRenderInMargin()?" current-line-both":"")+(t?" current-line-exact":"");return`<div class="${s}" style="width:${Math.max(e.scrollWidth,this._contentWidth)}px;"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class h2 extends h${_renderOne(e,t){let s="current-line"+(this._shouldRenderInMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"")+(this._shouldRenderInMargin()&&t?" current-line-exact-margin":"");return`<div class="${s}" style="width:${this._contentLeft}px"></div>`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}(0,iR.Ic)((e,t)=>{let s=e.getColor(A4.Kh);if(s&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${s}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${s}; border: none; }`)),!s||s.isTransparent()||e.defines(A4.Mm)){let s=e.getColor(A4.Mm);s&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${s}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${s}; }`),(0,TQ.c3)(e.type)&&(t.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}}),x(54751);class h1 extends LP{constructor(e){super(),this._context=e;let t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){let t=e.getDecorationsInViewport(),s=[],x=0;for(let e=0,E=t.length;e<E;e++){let E=t[e];E.options.className&&(s[x++]=E)}s=s.sort((e,t)=>{if(e.options.zIndex<t.options.zIndex)return -1;if(e.options.zIndex>t.options.zIndex)return 1;let s=e.options.className,x=t.options.className;return s<x?-1:s>x?1:r3.e.compareRangesUsingStarts(e.range,t.range)});let E=e.visibleRange.startLineNumber,a=e.visibleRange.endLineNumber,r=[];for(let e=E;e<=a;e++)r[e-E]="";this._renderWholeLineDecorations(e,s,r),this._renderNormalDecorations(e,s,r),this._renderResult=r}_renderWholeLineDecorations(e,t,s){let x=e.visibleRange.startLineNumber,E=e.visibleRange.endLineNumber;for(let e=0,a=t.length;e<a;e++){let a=t[e];if(!a.options.isWholeLine)continue;let r='<div class="cdr '+a.options.className+'" style="left:0;width:100%;"></div>',i=Math.max(a.range.startLineNumber,x),n=Math.min(a.range.endLineNumber,E);for(let e=i;e<=n;e++){let t=e-x;s[t]+=r}}}_renderNormalDecorations(e,t,s){let x=e.visibleRange.startLineNumber,E=null,a=!1,r=null,i=!1;for(let n=0,_=t.length;n<_;n++){let _=t[n];if(_.options.isWholeLine)continue;let T=_.options.className,S=!!_.options.showIfCollapsed,R=_.range;if(S&&1===R.endColumn&&R.endLineNumber!==R.startLineNumber&&(R=new r3.e(R.startLineNumber,R.startColumn,R.endLineNumber-1,this._context.viewModel.getLineMaxColumn(R.endLineNumber-1))),E===T&&a===S&&r3.e.areIntersectingOrTouching(r,R)){r=r3.e.plusRange(r,R);continue}null!==E&&this._renderNormalDecoration(e,r,E,i,a,x,s),E=T,a=S,r=R,i=_.options.shouldFillLineOnLineBreak??!1}null!==E&&this._renderNormalDecoration(e,r,E,i,a,x,s)}_renderNormalDecoration(e,t,s,x,E,a,r){let i=e.linesVisibleRangesForRange(t,"findMatch"===s);if(i)for(let e=0,t=i.length;e<t;e++){let t=i[e];if(t.outsideRenderedLine)continue;let n=t.lineNumber-a;if(E&&1===t.ranges.length){let e=t.ranges[0];if(e.width<this._typicalHalfwidthCharacterWidth){let s=Math.max(0,Math.round(Math.round(e.left+e.width/2)-this._typicalHalfwidthCharacterWidth/2));t.ranges[0]=new Iw(s,this._typicalHalfwidthCharacterWidth)}}for(let e=0,E=t.ranges.length;e<E;e++){let a=x&&t.continuesOnNextLine&&1===E,i=t.ranges[e],_='<div class="cdr '+s+'" style="left:'+String(i.left)+"px;width:"+(a?"100%;":String(i.width)+"px;")+'"></div>';r[n]+=_}}}render(e,t){if(!this._renderResult)return"";let s=t-e;return s<0||s>=this._renderResult.length?"":this._renderResult[s]}}class h3 extends IV{constructor(e,t,s,x){super(e);let E=this._context.configuration.options,a=E.get(104),r=E.get(75),i=E.get(40),n=E.get(107),_={listenOnDomNode:s.domNode,className:"editor-scrollable "+(0,iR.m6)(e.theme.type),useShadows:!1,lazyRender:!0,vertical:a.vertical,horizontal:a.horizontal,verticalHasArrows:a.verticalHasArrows,horizontalHasArrows:a.horizontalHasArrows,verticalScrollbarSize:a.verticalScrollbarSize,verticalSliderSize:a.verticalSliderSize,horizontalScrollbarSize:a.horizontalScrollbarSize,horizontalSliderSize:a.horizontalSliderSize,handleMouseWheel:a.handleMouseWheel,alwaysConsumeMouseWheel:a.alwaysConsumeMouseWheel,arrowSize:a.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:i,scrollPredominantAxis:n,scrollByPage:a.scrollByPage};this.scrollbar=this._register(new nr(t.domNode,_,this._context.viewLayout.getScrollable())),IX.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=a9(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();let T=(e,t,s)=>{let x={};if(t){let t=e.scrollTop;t&&(x.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(s){let t=e.scrollLeft;t&&(x.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(x,1)};this._register(aE(s.domNode,"scroll",e=>T(s.domNode,!0,!0))),this._register(aE(t.domNode,"scroll",e=>T(t.domNode,!0,!1))),this._register(aE(x.domNode,"scroll",e=>T(x.domNode,!0,!1))),this._register(aE(this.scrollbarDomNode.domNode,"scroll",e=>T(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){let e=this._context.configuration.options,t=e.get(146);this.scrollbarDomNode.setLeft(t.contentLeft),"right"===e.get(73).side?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(104)||e.hasChanged(75)||e.hasChanged(40)){let e=this._context.configuration.options,t=e.get(104),s=e.get(75),x=e.get(40),E=e.get(107),a={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:s,fastScrollSensitivity:x,scrollPredominantAxis:E};this.scrollbar.updateOptions(a)}return e.hasChanged(146)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+(0,iR.m6)(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}x(27664);class h7{constructor(e,t,s,x,E){this.startLineNumber=e,this.endLineNumber=t,this.className=s,this.tooltip=x,this._decorationToRenderBrand=void 0,this.zIndex=E??0}}class h5{constructor(e,t,s){this.className=e,this.zIndex=t,this.tooltip=s}}class h4{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class h6 extends LP{_render(e,t,s){let x=[];for(let s=e;s<=t;s++)x[s-e]=new h4;if(0===s.length)return x;s.sort((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className<t.className?-1:1);let E=null,a=0;for(let r=0,i=s.length;r<i;r++){let i=s[r],n=i.className,_=i.zIndex,T=Math.max(i.startLineNumber,e)-e,S=Math.min(i.endLineNumber,t)-e;E===n?(T=Math.max(a+1,T),a=Math.max(a,S)):(E=n,a=S);for(let e=T;e<=a;e++)x[e].add(new h5(n,_,i.tooltip))}return x}}class h8 extends IV{constructor(e){super(e),this._widgets={},this._context=e;let t=this._context.configuration.options,s=t.get(146);this.domNode=a9(document.createElement("div")),this.domNode.setClassName("glyph-margin-widgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this._lineHeight=t.get(67),this._glyphMargin=t.get(57),this._glyphMarginLeft=s.glyphMarginLeft,this._glyphMarginWidth=s.glyphMarginWidth,this._glyphMarginDecorationLaneCount=s.glyphMarginDecorationLaneCount,this._managedDomNodes=[],this._decorationGlyphsToRender=[]}dispose(){this._managedDomNodes=[],this._decorationGlyphsToRender=[],this._widgets={},super.dispose()}getWidgets(){return Object.values(this._widgets)}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(146);return this._lineHeight=t.get(67),this._glyphMargin=t.get(57),this._glyphMarginLeft=s.glyphMarginLeft,this._glyphMarginWidth=s.glyphMarginWidth,this._glyphMarginDecorationLaneCount=s.glyphMarginDecorationLaneCount,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}addWidget(e){let t=a9(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:e.getPosition(),domNode:t,renderInfo:null},t.setPosition("absolute"),t.setDisplay("none"),t.setAttribute("widgetId",e.getId()),this.domNode.appendChild(t),this.setShouldRender()}setWidgetPosition(e,t){let s=this._widgets[e.getId()];return!(s.preference.lane===t.lane&&s.preference.zIndex===t.zIndex&&r3.e.equalsRange(s.preference.range,t.range))&&(s.preference=t,this.setShouldRender(),!0)}removeWidget(e){let t=e.getId();if(this._widgets[t]){let e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender()}}_collectDecorationBasedGlyphRenderRequest(e,t){let s=e.visibleRange.startLineNumber,x=e.visibleRange.endLineNumber;for(let E of e.getDecorationsInViewport()){let e=E.options.glyphMarginClassName;if(!e)continue;let a=Math.max(E.range.startLineNumber,s),r=Math.min(E.range.endLineNumber,x),i=E.options.glyphMargin?.position??of.U.Center,n=E.options.zIndex??0;for(let s=a;s<=r;s++){let x=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(s,0)),E=this._context.viewModel.glyphLanes.getLanesAtLine(x.lineNumber).indexOf(i);t.push(new h9(s,E,n,e))}}}_collectWidgetBasedGlyphRenderRequest(e,t){let s=e.visibleRange.startLineNumber,x=e.visibleRange.endLineNumber;for(let e of Object.values(this._widgets)){let E=e.preference.range,{startLineNumber:a,endLineNumber:r}=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(r3.e.lift(E));if(!a||!r||r<s||a>x)continue;let i=Math.max(a,s),n=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(i,0)),_=this._context.viewModel.glyphLanes.getLanesAtLine(n.lineNumber).indexOf(e.preference.lane);t.push(new Ce(i,_,e.preference.zIndex,e))}}_collectSortedGlyphRenderRequests(e){let t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort((e,t)=>{if(e.lineNumber===t.lineNumber){if(e.laneIndex===t.laneIndex)return e.zIndex===t.zIndex?t.type===e.type?0===e.type&&0===t.type?e.className<t.className?-1:1:0:t.type-e.type:t.zIndex-e.zIndex;return e.laneIndex-t.laneIndex}return e.lineNumber-t.lineNumber}),t}prepareRender(e){if(!this._glyphMargin){this._decorationGlyphsToRender=[];return}for(let e of Object.values(this._widgets))e.renderInfo=null;let t=new sD.H9(this._collectSortedGlyphRenderRequests(e)),s=[];for(;t.length>0;){let e=t.peek();if(!e)break;let x=t.takeWhile(t=>t.lineNumber===e.lineNumber&&t.laneIndex===e.laneIndex);if(!x||0===x.length)break;let E=x[0];if(0===E.type){let e=[];for(let t of x){if(t.zIndex!==E.zIndex||t.type!==E.type)break;(0===e.length||e[e.length-1]!==t.className)&&e.push(t.className)}s.push(E.accept(e.join(" ")))}else E.widget.renderInfo={lineNumber:E.lineNumber,laneIndex:E.laneIndex}}this._decorationGlyphsToRender=s}render(e){if(!this._glyphMargin){for(let e of Object.values(this._widgets))e.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){let e=this._managedDomNodes.pop();e?.domNode.remove()}return}let t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(let s of Object.values(this._widgets))if(s.renderInfo){let x=e.viewportData.relativeVerticalOffset[s.renderInfo.lineNumber-e.viewportData.startLineNumber],E=this._glyphMarginLeft+s.renderInfo.laneIndex*this._lineHeight;s.domNode.setDisplay("block"),s.domNode.setTop(x),s.domNode.setLeft(E),s.domNode.setWidth(t),s.domNode.setHeight(this._lineHeight)}else s.domNode.setDisplay("none");for(let s=0;s<this._decorationGlyphsToRender.length;s++){let x;let E=this._decorationGlyphsToRender[s],a=e.viewportData.relativeVerticalOffset[E.lineNumber-e.viewportData.startLineNumber],r=this._glyphMarginLeft+E.laneIndex*this._lineHeight;s<this._managedDomNodes.length?x=this._managedDomNodes[s]:(x=a9(document.createElement("div")),this._managedDomNodes.push(x),this.domNode.appendChild(x)),x.setClassName("cgmr codicon "+E.combinedClassName),x.setPosition("absolute"),x.setTop(a),x.setLeft(r),x.setWidth(t),x.setHeight(this._lineHeight)}for(;this._managedDomNodes.length>this._decorationGlyphsToRender.length;){let e=this._managedDomNodes.pop();e?.domNode.remove()}}}class h9{constructor(e,t,s,x){this.lineNumber=e,this.laneIndex=t,this.zIndex=s,this.className=x,this.type=0}accept(e){return new Ct(this.lineNumber,this.laneIndex,e)}}class Ce{constructor(e,t,s,x){this.lineNumber=e,this.laneIndex=t,this.zIndex=s,this.widget=x,this.type=1}}class Ct{constructor(e,t,s){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=s}}x(12829);var Cs=x(56026),Cx=x(20935);class CE extends LP{constructor(e){super(),this._context=e,this._primaryPosition=null;let t=this._context.configuration.options,s=t.get(147),x=t.get(50);this._spaceWidth=x.spaceWidth,this._maxIndentLeft=-1===s.wrappingColumn?-1:s.wrappingColumn*x.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(147),x=t.get(50);return this._spaceWidth=x.spaceWidth,this._maxIndentLeft=-1===s.wrappingColumn?-1:s.wrappingColumn*x.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){let t=e.selections[0].getPosition();return!this._primaryPosition?.equals(t)&&(this._primaryPosition=t,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){if(!this._bracketPairGuideOptions.indentation&&!1===this._bracketPairGuideOptions.bracketPairs){this._renderResult=null;return}let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,x=e.scrollWidth,E=this._primaryPosition,a=this.getGuidesByLine(t,Math.min(s+1,this._context.viewModel.getLineCount()),E),r=[];for(let E=t;E<=s;E++){let s=E-t,i=a[s],n="",_=e.visibleRangeForPosition(new cs.L(E,1))?.left??0;for(let t of i){let s=-1===t.column?_+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new cs.L(E,t.column)).left;if(s>x||this._maxIndentLeft>0&&s>this._maxIndentLeft)break;let a=t.horizontalLine?t.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=t.horizontalLine?(e.visibleRangeForPosition(new cs.L(E,t.horizontalLine.endColumn))?.left??s+this._spaceWidth)-s:this._spaceWidth;n+=`<div class="core-guide ${t.className} ${a}" style="left:${s}px;width:${r}px"></div>`}r[s]=n}this._renderResult=r}getGuidesByLine(e,t,s){let x=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,s,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?Cx.s6.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?Cx.s6.EnabledForActive:Cx.s6.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,E=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null,a=0,r=0,i=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&s){let x=this._context.viewModel.getActiveIndentGuide(s.lineNumber,e,t);a=x.startLineNumber,r=x.endLineNumber,i=x.indent}let{indentSize:n}=this._context.viewModel.model.getOptions(),_=[];for(let s=e;s<=t;s++){let t=[];_.push(t);let T=x?x[s-e]:[],S=new sD.H9(T),R=E?E[s-e]:0;for(let e=1;e<=R;e++){let x=(e-1)*n+1,E=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===T.length)&&a<=s&&s<=r&&e===i;t.push(...S.takeWhile(e=>e.visibleColumn<x)||[]);let _=S.peek();(!_||_.visibleColumn!==x||_.horizontalLine)&&t.push(new Cx.UO(x,-1,`core-guide-indent lvl-${(e-1)%30}`+(E?" indent-active":""),null,-1,-1))}t.push(...S.takeWhile(e=>!0)||[])}return _}render(e,t){if(!this._renderResult)return"";let s=t-e;return s<0||s>=this._renderResult.length?"":this._renderResult[s]}}function Ca(e){if(!(e&&e.isTransparent()))return e}(0,iR.Ic)((e,t)=>{let s=[{bracketColor:A4.zJ,guideColor:A4.oV,guideColorActive:A4.Qb},{bracketColor:A4.Vs,guideColor:A4.m$,guideColorActive:A4.m3},{bracketColor:A4.CE,guideColor:A4.DS,guideColorActive:A4.To},{bracketColor:A4.UP,guideColor:A4.lS,guideColorActive:A4.L7},{bracketColor:A4.r0,guideColor:A4.Jn,guideColorActive:A4.HV},{bracketColor:A4.m1,guideColor:A4.YF,guideColorActive:A4.f9}],x=new Cs.W,E=[{indentColor:A4.gS,indentColorActive:A4.qe},{indentColor:A4.Tf,indentColorActive:A4.Xy},{indentColor:A4.H_,indentColorActive:A4.cK},{indentColor:A4.h1,indentColorActive:A4.N8},{indentColor:A4.vP,indentColorActive:A4.zd},{indentColor:A4.e9,indentColorActive:A4.ll}],a=s.map(t=>{let s=e.getColor(t.bracketColor),x=e.getColor(t.guideColor),E=e.getColor(t.guideColorActive),a=Ca(Ca(x)??s?.transparent(.3)),r=Ca(Ca(E)??s);if(a&&r)return{guideColor:a,guideColorActive:r}}).filter(ru.$K),r=E.map(t=>{let s=e.getColor(t.indentColor),x=e.getColor(t.indentColorActive),E=Ca(s),a=Ca(x);if(E&&a)return{indentColor:E,indentColorActive:a}}).filter(ru.$K);if(a.length>0){for(let e=0;e<30;e++){let s=a[e%a.length];t.addRule(`.monaco-editor .${x.getInlineClassNameOfLevel(e).replace(/ /g,".")} { --guide-color: ${s.guideColor}; --guide-color-active: ${s.guideColorActive}; }`)}t.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),t.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),t.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),t.addRule(`.monaco-editor .vertical.${x.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${x.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${x.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let e=0;e<30;e++){let s=r[e%r.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${e} { --indent-color: ${s.indentColor}; --indent-color-active: ${s.indentColorActive}; }`)}t.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),t.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}}),x(64396);class Cr{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;let e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class Ci{constructor(){this._currentVisibleRange=new r3.e(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class Cn{constructor(e,t,s,x,E,a,r){this.minimalReveal=e,this.lineNumber=t,this.startColumn=s,this.endColumn=x,this.startScrollTop=E,this.stopScrollTop=a,this.scrollType=r,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class C_{constructor(e,t,s,x,E){this.minimalReveal=e,this.selections=t,this.startScrollTop=s,this.stopScrollTop=x,this.scrollType=E,this.type="selections";let a=t[0].startLineNumber,r=t[0].endLineNumber;for(let e=1,s=t.length;e<s;e++){let s=t[e];a=Math.min(a,s.startLineNumber),r=Math.max(r,s.endLineNumber)}this.minLineNumber=a,this.maxLineNumber=r}}class Cc extends IV{static{this.HORIZONTAL_EXTRA_PX=30}constructor(e,t){super(e);let s=this._context.configuration,x=this._context.configuration.options,E=x.get(50),a=x.get(147);this._lineHeight=x.get(67),this._typicalHalfwidthCharacterWidth=E.typicalHalfwidthCharacterWidth,this._isViewportWrapping=a.isViewportWrapping,this._revealHorizontalRightPadding=x.get(101),this._cursorSurroundingLines=x.get(29),this._cursorSurroundingLinesStyle=x.get(30),this._canUseLayerHinting=!x.get(32),this._viewLineOptions=new Iq(s,this._context.theme.type),this._linesContent=t,this._textRangeRestingSpot=document.createElement("div"),this._visibleLines=new hV({createLine:()=>new Ij(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,IX.write(this.domNode,8),this.domNode.setClassName(`view-lines ${Lp}`),re(this.domNode,E),this._maxLineWidth=0,this._asyncUpdateLineWidths=new x9.pY(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new x9.pY(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new Ci,this._horizontalRevealRequest=null,this._stickyScrollEnabled=x.get(116).enabled,this._maxNumberStickyLines=x.get(116).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(147)&&(this._maxLineWidth=0);let t=this._context.configuration.options,s=t.get(50),x=t.get(147);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=s.typicalHalfwidthCharacterWidth,this._isViewportWrapping=x.isViewportWrapping,this._revealHorizontalRightPadding=t.get(101),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(116).enabled,this._maxNumberStickyLines=t.get(116).maxLineCount,re(this.domNode,s),this._onOptionsMaybeChanged(),e.hasChanged(146)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){let e=new Iq(this._context.configuration,this._context.theme.type);if(!this._viewLineOptions.equals(e)){this._viewLineOptions=e;let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();for(let e=t;e<=s;e++)this._visibleLines.getVisibleLine(e).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber(),x=!1;for(let e=t;e<=s;e++)x=this._visibleLines.getVisibleLine(e).onSelectionChanged()||x;return x}onDecorationsChanged(e){{let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let s=e;s<=t;s++)this._visibleLines.getVisibleLine(s).onDecorationsChanged()}return!0}onFlushed(e){let t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){let t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(-1===t)return!1;let s=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?s={scrollTop:s.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new Cn(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),s.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new C_(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),s.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;let x=Math.abs(this._context.viewLayout.getCurrentScrollTop()-s.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(s,x),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){let t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),s=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTop<t||e.scrollTop>s)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){let s=this._getViewLineDomNode(e);if(null===s)return null;let x=this._getLineNumberFor(s);if(-1===x||x<1||x>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(x))return new cs.L(x,1);let E=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();if(x<E||x>a)return null;let r=this._visibleLines.getVisibleLine(x).getColumnOfNodeOffset(e,t),i=this._context.viewModel.getLineMinColumn(x);return r<i&&(r=i),new cs.L(x,r)}_getViewLineDomNode(e){for(;e&&1===e.nodeType;){if(e.className===Ij.CLASS_NAME)return e;e=e.parentElement}return null}_getLineNumberFor(e){let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();for(let x=t;x<=s;x++)if(e===this._visibleLines.getVisibleLine(x).getDomNode())return x;return -1}getLineWidth(e){let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();if(e<t||e>s)return -1;let x=new Cr(this.domNode.domNode,this._textRangeRestingSpot),E=this._visibleLines.getVisibleLine(e).getWidth(x);return this._updateLineWidthsSlowIfDomDidLayout(x),E}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;let s=e.endLineNumber,x=r3.e.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!x)return null;let E=[],a=0,r=new Cr(this.domNode.domNode,this._textRangeRestingSpot),i=0;t&&(i=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(x.startLineNumber,1)).lineNumber);let n=this._visibleLines.getStartLineNumber(),_=this._visibleLines.getEndLineNumber();for(let e=x.startLineNumber;e<=x.endLineNumber;e++){if(e<n||e>_)continue;let T=e===x.startLineNumber?x.startColumn:1,S=e!==x.endLineNumber,R=S?this._context.viewModel.getLineMaxColumn(e):x.endColumn,O=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,T,R,r);O&&(t&&e<s&&i!==(i=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(e+1,1)).lineNumber)&&(O.ranges[O.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth),E[a++]=new Ik(O.outsideRenderedLine,e,Iw.from(O.ranges),S))}return(this._updateLineWidthsSlowIfDomDidLayout(r),0===a)?null:E}_visibleRangesForLineRange(e,t,s){if(this.shouldRender()||e<this._visibleLines.getStartLineNumber()||e>this._visibleLines.getEndLineNumber())return null;let x=new Cr(this.domNode.domNode,this._textRangeRestingSpot),E=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,s,x);return this._updateLineWidthsSlowIfDomDidLayout(x),E}visibleRangeForPosition(e){let t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new IK(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){!e.didDomLayout||this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow())}_updateLineWidths(e){let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber(),x=1,E=!0;for(let a=t;a<=s;a++){let t=this._visibleLines.getVisibleLine(a);if(e&&!t.getWidthIsFast()){E=!1;continue}x=Math.max(x,t.getWidth(null))}return E&&1===t&&s===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(x),E}_checkMonospaceFontAssumptions(){let e=-1,t=-1,s=this._visibleLines.getStartLineNumber(),x=this._visibleLines.getEndLineNumber();for(let E=s;E<=x;E++){let s=this._visibleLines.getVisibleLine(E);if(s.needsMonospaceFontCheck()){let x=s.getWidth(null);x>t&&(t=x,e=E)}}if(-1!==e&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let e=s;e<=x;e++)this._visibleLines.getVisibleLine(e).onMonospaceAssumptionsInvalidated()}prepareRender(){throw Error("Not supported")}render(){throw Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){let t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();let e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),sP.IJ&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let s=e;s<=t;s++)if(this._visibleLines.getVisibleLine(s).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");let t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){let t=Math.ceil(e);this._maxLineWidth<t&&(this._maxLineWidth=t,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(e,t,s,x,E,a){let r,i,n,_;let T=e.top,S=e.height,R=T+S;if(E&&E.length>0){let e=E[0].startLineNumber,t=E[0].endLineNumber;for(let s=1,x=E.length;s<x;s++){let x=E[s];e=Math.min(e,x.startLineNumber),t=Math.max(t,x.endLineNumber)}r=!1,i=this._context.viewLayout.getVerticalOffsetForLineNumber(e),n=this._context.viewLayout.getVerticalOffsetForLineNumber(t)+this._lineHeight}else{if(!x)return -1;r=!0,i=this._context.viewLayout.getVerticalOffsetForLineNumber(x.startLineNumber),n=this._context.viewLayout.getVerticalOffsetForLineNumber(x.endLineNumber)+this._lineHeight}let O=("mouse"===t||s)&&"default"===this._cursorSurroundingLinesStyle,A=0,N=0;if(O)s||(A=this._lineHeight);else{let e=Math.min(S/this._lineHeight/2,Math.max(this._cursorSurroundingLines,this._stickyScrollEnabled?this._maxNumberStickyLines:0));A=e*this._lineHeight,N=Math.max(0,e-1)*this._lineHeight}if(s||0!==a&&4!==a||(N+=this._lineHeight),i-=A,(n+=N)-i>S){if(!r)return -1;_=i}else if(5===a||6===a){if(6===a&&T<=i&&n<=R)_=T;else{let e=i-Math.max(5*this._lineHeight,.2*S);_=Math.max(n-S,e)}}else _=1===a||2===a?2===a&&T<=i&&n<=R?T:Math.max(0,(i+n)/2-S/2):this._computeMinimumScrolling(T,R,i,n,3===a,4===a);return _}_computeScrollLeftToReveal(e){let t=this._context.viewLayout.getCurrentViewport(),s=this._context.configuration.options.get(146),x=t.left,E=x+t.width-s.verticalScrollbarWidth,a=1073741824,r=0;if("range"===e.type){let t=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!t)return null;for(let e of t.ranges)a=Math.min(a,Math.round(e.left)),r=Math.max(r,Math.round(e.left+e.width))}else for(let t of e.selections){if(t.startLineNumber!==t.endLineNumber)return null;let e=this._visibleRangesForLineRange(t.startLineNumber,t.startColumn,t.endColumn);if(!e)return null;for(let t of e.ranges)a=Math.min(a,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}return(e.minimalReveal||(a=Math.max(0,a-Cc.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===e.type&&r-a>t.width)?null:{scrollLeft:this._computeMinimumScrolling(x,E,a,r),maxHorizontalOffset:r}}_computeMinimumScrolling(e,t,s,x,E,a){e|=0,t|=0,s|=0,x|=0,E=!!E,a=!!a;let r=t-e;return!(x-s<r)||E?s:a?Math.max(0,x-r):s<e?s:x>t?Math.max(0,x-r):e}}x(40461);class CT extends h6{constructor(e){super(),this._context=e;let t=this._context.configuration.options.get(146);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options.get(146);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),s=[],x=0;for(let e=0,E=t.length;e<E;e++){let E=t[e],a=E.options.linesDecorationsClassName,r=E.options.zIndex;a&&(s[x++]=new h7(E.range.startLineNumber,E.range.endLineNumber,a,E.options.linesDecorationsTooltip??null,r));let i=E.options.firstLineDecorationClassName;i&&(s[x++]=new h7(E.range.startLineNumber,E.range.startLineNumber,i,E.options.linesDecorationsTooltip??null,r))}return s}prepareRender(e){let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,x=this._render(t,s,this._getDecorations(e)),E='" style="left:'+this._decorationsLeft.toString()+"px;width:"+this._decorationsWidth.toString()+'px;"></div>',a=[];for(let e=t;e<=s;e++){let s=e-t,r=x[s].getDecorations(),i="";for(let e of r){let t='<div class="cldr '+e.className;null!==e.tooltip&&(t+='" title="'+e.tooltip),t+=E,i+=t}a[s]=i}this._renderResult=a}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}x(48201);class CS extends h6{constructor(e){super(),this._context=e,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),s=[],x=0;for(let e=0,E=t.length;e<E;e++){let E=t[e],a=E.options.marginClassName,r=E.options.zIndex;a&&(s[x++]=new h7(E.range.startLineNumber,E.range.endLineNumber,a,null,r))}return s}prepareRender(e){let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,x=this._render(t,s,this._getDecorations(e)),E=[];for(let e=t;e<=s;e++){let s=e-t,a=x[s].getDecorations(),r="";for(let e of a)r+='<div class="cmdr '+e.className+'" style=""></div>';E[s]=r}this._renderResult=E}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}x(69366);class CR{static{this.Empty=new CR(0,0,0,0)}constructor(e,t,s,x){this._rgba8Brand=void 0,this.r=CR._clamp(e),this.g=CR._clamp(t),this.b=CR._clamp(s),this.a=CR._clamp(x)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:0|e}}class CO extends xf.JT{static{this._INSTANCE=null}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,xf.dk)(new CO)),this._INSTANCE}constructor(){super(),this._onDidChange=new Ee.Q5,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(_U.RW.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){let e=_U.RW.getColorMap();if(!e){this._colors=[CR.Empty],this._backgroundIsLight=!0;return}this._colors=[CR.Empty];for(let t=1;t<e.length;t++){let s=e[t].rgba;this._colors[t]=new CR(s.r,s.g,s.b,Math.round(255*s.a))}let t=e[2].getRelativeLuminance();this._backgroundIsLight=t>=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}let CA=(()=>{let e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})(),CN=(e,t)=>(e-=32)<0||e>96?t<=2?(e+96)%96:95:e;var Co=x(42079);class CI{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=CI.soften(e,.8),this.charDataLight=CI.soften(e,50/60)}static soften(e,t){let s=new Uint8ClampedArray(e.length);for(let x=0,E=e.length;x<E;x++)s[x]=(0,Co.K)(e[x]*t);return s}renderChar(e,t,s,x,E,a,r,i,n,_,T){let S=1*this.scale,R=2*this.scale,O=T?1:R;if(t+S>e.width||s+O>e.height){console.warn("bad render request outside image data");return}let A=_?this.charDataLight:this.charDataNormal,N=CN(x,n),o=4*e.width,I=r.r,L=r.g,h=r.b,C=E.r-I,l=E.g-L,u=E.b-h,D=Math.max(a,i),M=e.data,P=N*S*R,U=s*o+4*t;for(let e=0;e<O;e++){let e=U;for(let t=0;t<S;t++){let t=A[P++]/255*(a/255);M[e++]=I+C*t,M[e++]=L+l*t,M[e++]=h+u*t,M[e++]=D}U+=o}}blockRenderChar(e,t,s,x,E,a,r,i){let n=1*this.scale,_=2*this.scale,T=i?1:_;if(t+n>e.width||s+T>e.height){console.warn("bad render request outside image data");return}let S=4*e.width,R=E/255*.5,O=a.r,A=a.g,N=a.b,o=x.r-O,I=x.g-A,L=x.b-N,h=O+o*R,C=A+I*R,l=N+L*R,u=Math.max(E,r),D=e.data,M=s*S+4*t;for(let e=0;e<T;e++){let e=M;for(let t=0;t<n;t++)D[e++]=h,D[e++]=C,D[e++]=l,D[e++]=u;M+=S}}}let CL={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15},Ch=e=>{let t=new Uint8ClampedArray(e.length/2);for(let s=0;s<e.length;s+=2)t[s>>1]=CL[e[s]]<<4|15&CL[e[s+1]];return t},CC={1:(0,AW.M)(()=>Ch("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:(0,AW.M)(()=>Ch("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class Cl{static create(e,t){let s;return this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily?this.lastCreated:(s=CC[e]?new CI(CC[e](),e):Cl.createFromSampleData(Cl.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=s,s)}static createSampleData(e){let t=document.createElement("canvas"),s=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",s.fillStyle="#ffffff",s.font=`bold 16px ${e}`,s.textBaseline="middle";let x=0;for(let e of CA)s.fillText(String.fromCharCode(e),x,8),x+=10;return s.getImageData(0,0,960,16)}static createFromSampleData(e,t){if(61440!==e.length)throw Error("Unexpected source in MinimapCharRenderer");return new CI(Cl._downsample(e,t),t)}static _downsampleChar(e,t,s,x,E){let a=1*E,r=2*E,i=x,n=0;for(let x=0;x<r;x++){let E=x/r*16,_=(x+1)/r*16;for(let x=0;x<a;x++){let r=x/a*10,T=(x+1)/a*10,S=0,R=0;for(let s=E;s<_;s++){let x=t+3840*Math.floor(s),E=1-(s-Math.floor(s));for(let t=r;t<T;t++){let s=1-(t-Math.floor(t)),a=x+4*Math.floor(t),r=s*E;R+=r,S+=e[a]*e[a+3]/255*r}}let O=S/R;n=Math.max(n,O),s[i++]=(0,Co.K)(O)}}return n}static _downsample(e,t){let s=2*t*1*t,x=96*s,E=new Uint8ClampedArray(x),a=0,r=0,i=0;for(let x=0;x<96;x++)i=Math.max(i,this._downsampleChar(e,r,E,a,t)),a+=s,r+=40;if(i>0){let e=255/i;for(let t=0;t<x;t++)E[t]*=e}return E}}let Cu=sP.ED?'"Segoe WPC", "Segoe UI", sans-serif':sP.dz?"-apple-system, BlinkMacSystemFont, sans-serif":'system-ui, "Ubuntu", "Droid Sans", sans-serif';class CD{constructor(e,t,s){let x=e.options,E=x.get(144),a=x.get(146),r=a.minimap,i=x.get(50),n=x.get(73);this.renderMinimap=r.renderMinimap,this.size=n.size,this.minimapHeightIsEditorHeight=r.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=x.get(106),this.paddingTop=x.get(84).top,this.paddingBottom=x.get(84).bottom,this.showSlider=n.showSlider,this.autohide=n.autohide,this.pixelRatio=E,this.typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this.lineHeight=x.get(67),this.minimapLeft=r.minimapLeft,this.minimapWidth=r.minimapWidth,this.minimapHeight=a.height,this.canvasInnerWidth=r.minimapCanvasInnerWidth,this.canvasInnerHeight=r.minimapCanvasInnerHeight,this.canvasOuterWidth=r.minimapCanvasOuterWidth,this.canvasOuterHeight=r.minimapCanvasOuterHeight,this.isSampling=r.minimapIsSampling,this.editorHeight=a.height,this.fontScale=r.minimapScale,this.minimapLineHeight=r.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.sectionHeaderFontFamily=Cu,this.sectionHeaderFontSize=n.sectionHeaderFontSize*E,this.sectionHeaderLetterSpacing=n.sectionHeaderLetterSpacing,this.sectionHeaderFontColor=CD._getSectionHeaderColor(t,s.getColor(1)),this.charRenderer=(0,AW.M)(()=>Cl.create(this.fontScale,i.fontFamily)),this.defaultBackgroundColor=s.getColor(2),this.backgroundColor=CD._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=CD._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){let s=e.getColor(iv.kVY);return s?new CR(s.rgba.r,s.rgba.g,s.rgba.b,Math.round(255*s.rgba.a)):t}static _getMinimapForegroundOpacity(e){let t=e.getColor(iv.Itd);return t?CR._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){let s=e.getColor(iv.NOs);return s?new CR(s.rgba.r,s.rgba.g,s.rgba.b,Math.round(255*s.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===e.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class CM{constructor(e,t,s,x,E,a,r,i,n){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=s,this._computedSliderRatio=x,this.sliderTop=E,this.sliderHeight=a,this.topPaddingLineCount=r,this.startLineNumber=i,this.endLineNumber=n}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){let t=Math.max(this.startLineNumber,e.startLineNumber),s=Math.min(this.endLineNumber,e.endLineNumber);return t>s?null:[t,s]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,s,x,E,a,r,i,n,_,T){let S,R;let O=e.pixelRatio,A=e.minimapLineHeight,N=Math.floor(e.canvasInnerHeight/A),o=e.lineHeight;if(e.minimapHeightIsEditorHeight){let t=i*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(t+=Math.max(0,E-e.lineHeight-e.paddingBottom));let s=Math.max(1,Math.floor(E*E/t)),x=Math.max(0,e.minimapHeight-s),a=x/(_-E),T=Math.floor(e.canvasInnerHeight/e.minimapLineHeight);return new CM(n,_,x>0,a,n*a,s,Math.floor(e.paddingTop/e.lineHeight),1,Math.min(r,T))}S=a&&s!==r?Math.floor((s-t+1)*A/O):Math.floor(E/o*A/O);let I=Math.floor(e.paddingTop/o),L=Math.floor(e.paddingBottom/o);e.scrollBeyondLastLine&&(L=Math.max(L,E/o-1)),R=L>0?(I+r+L-E/o-1)*A/O:Math.max(0,(I+r)*A/O-S);let h=(R=Math.min(e.minimapHeight-S,R))/(_-E),C=n*h;if(N>=I+r+L)return new CM(n,_,R>0,h,C,S,I,1,r);{let s,E;let a=Math.max(1,Math.floor((t>1?t+I:Math.max(1,n/o))-C*O/A));a<I?(s=I-a+1,a=1):(s=0,a=Math.max(1,a-I)),T&&T.scrollHeight===_&&(T.scrollTop>n&&(a=Math.min(a,T.startLineNumber),s=Math.max(s,T.topPaddingLineCount)),T.scrollTop<n&&(a=Math.max(a,T.startLineNumber),s=Math.min(s,T.topPaddingLineCount)));let i=Math.min(r,a-s+N-1),R=(n-x)/o;return E=n>=e.paddingTop?(t-a+s+R)*A/O:n/e.paddingTop*(s+R)*A/O,new CM(n,_,!0,h,E,S,s,a,i)}}}class CP{static{this.INVALID=new CP(-1)}constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}class CU{constructor(e,t,s){this.renderedLayout=e,this._imageData=t,this._renderedLines=new hy({createLine:()=>CP.INVALID}),this._renderedLines._set(e.startLineNumber,s)}linesEquals(e){if(!this.scrollEquals(e))return!1;let t=this._renderedLines._get().lines;for(let e=0,s=t.length;e<s;e++)if(-1===t[e].dy)return!1;return!0}scrollEquals(e){return this.renderedLayout.startLineNumber===e.startLineNumber&&this.renderedLayout.endLineNumber===e.endLineNumber}_get(){let e=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines}}onLinesChanged(e,t){return this._renderedLines.onLinesChanged(e,t)}onLinesDeleted(e,t){this._renderedLines.onLinesDeleted(e,t)}onLinesInserted(e,t){this._renderedLines.onLinesInserted(e,t)}onTokensChanged(e){return this._renderedLines.onTokensChanged(e)}}class Cd{constructor(e,t,s,x){this._backgroundFillData=Cd._createBackgroundFillData(t,s,x),this._buffers=[e.createImageData(t,s),e.createImageData(t,s)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;let e=this._buffers[this._lastUsedBuffer];return e.data.set(this._backgroundFillData),e}static _createBackgroundFillData(e,t,s){let x=s.r,E=s.g,a=s.b,r=s.a,i=new Uint8ClampedArray(e*t*4),n=0;for(let s=0;s<t;s++)for(let t=0;t<e;t++)i[n]=x,i[n+1]=E,i[n+2]=a,i[n+3]=r,n+=4;return i}}class CY{static compute(e,t,s){if(0===e.renderMinimap||!e.isSampling)return[null,[]];let{minimapLineCount:x}=s7.computeContainedMinimapLineCount({viewLineCount:t,scrollBeyondLastLine:e.scrollBeyondLastLine,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:e.editorHeight,lineHeight:e.lineHeight,pixelRatio:e.pixelRatio}),E=t/x,a=E/2;if(!s||0===s.minimapLines.length){let e=[];if(e[0]=1,x>1){for(let t=0,s=x-1;t<s;t++)e[t]=Math.round(t*E+a);e[x-1]=t}return[new CY(E,e),[]]}let r=s.minimapLines,i=r.length,n=[],_=0,T=0,S=1,R=[],O=null;for(let e=0;e<x;e++){let s;let A=Math.max(S,Math.round(e*E)),N=Math.max(A,Math.round((e+1)*E));for(;_<i&&r[_]<A;){if(R.length<10){let e=_+1+T;O&&"deleted"===O.type&&O._oldIndex===_-1?O.deleteToLineNumber++:(O={type:"deleted",_oldIndex:_,deleteFromLineNumber:e,deleteToLineNumber:e},R.push(O)),T--}_++}if(_<i&&r[_]<=N)s=r[_],_++;else if(s=0===e?1:e+1===x?t:Math.round(e*E+a),R.length<10){let t=_+1+T;O&&"inserted"===O.type&&O._i===e-1?O.insertToLineNumber++:(O={type:"inserted",_i:e,insertFromLineNumber:t,insertToLineNumber:t},R.push(O)),T++}n[e]=s,S=s}if(R.length<10)for(;_<i;){let e=_+1+T;O&&"deleted"===O.type&&O._oldIndex===_-1?O.deleteToLineNumber++:(O={type:"deleted",_oldIndex:_,deleteFromLineNumber:e,deleteToLineNumber:e},R.push(O)),T--,_++}else R=[{type:"flush"}];return[new CY(E,n),R]}constructor(e,t){this.samplingRatio=e,this.minimapLines=t}modelLineToMinimapLine(e){return Math.min(this.minimapLines.length,Math.max(1,Math.round(e/this.samplingRatio)))}modelLineRangeToMinimapLineRange(e,t){let s=this.modelLineToMinimapLine(e)-1;for(;s>0&&this.minimapLines[s-1]>=e;)s--;let x=this.modelLineToMinimapLine(t)-1;for(;x+1<this.minimapLines.length&&this.minimapLines[x+1]<=t;)x++;if(s===x){let x=this.minimapLines[s];if(x<e||x>t)return null}return[s+1,x+1]}decorationLineRangeToMinimapLineRange(e,t){let s=this.modelLineToMinimapLine(e),x=this.modelLineToMinimapLine(t);return e!==t&&x===s&&(x===this.minimapLines.length?s>1&&s--:x++),[s,x]}onLinesDeleted(e){let t=e.toLineNumber-e.fromLineNumber+1,s=this.minimapLines.length,x=0;for(let E=this.minimapLines.length-1;E>=0&&!(this.minimapLines[E]<e.fromLineNumber);E--)this.minimapLines[E]<=e.toLineNumber?(this.minimapLines[E]=Math.max(1,e.fromLineNumber-1),s=Math.min(s,E),x=Math.max(x,E)):this.minimapLines[E]-=t;return[s,x]}onLinesInserted(e){let t=e.toLineNumber-e.fromLineNumber+1;for(let s=this.minimapLines.length-1;s>=0&&!(this.minimapLines[s]<e.fromLineNumber);s--)this.minimapLines[s]+=t}}class Cp extends IV{constructor(e){super(e),this._sectionHeaderCache=new nh.z6(10,1.5),this.tokensColorTracker=CO.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new CD(this._context.configuration,this._context.theme,this.tokensColorTracker);let[t]=CY.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=t,this._shouldCheckSampling=!1,this._actual=new CG(e.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){let e=new CD(this._context.configuration,this._context.theme,this.tokensColorTracker);return!this.options.equals(e)&&(this.options=e,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(e){return this._onOptionsMaybeChanged()}onCursorStateChanged(e){return this._selections=e.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(e){return!!e.affectsMinimap&&this._actual.onDecorationsChanged()}onFlushed(e){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}onLinesChanged(e){if(!this._samplingState)return this._actual.onLinesChanged(e.fromLineNumber,e.count);{let t=this._samplingState.modelLineRangeToMinimapLineRange(e.fromLineNumber,e.fromLineNumber+e.count-1);return!!t&&this._actual.onLinesChanged(t[0],t[1]-t[0]+1)}}onLinesDeleted(e){if(!this._samplingState)return this._actual.onLinesDeleted(e.fromLineNumber,e.toLineNumber);{let[t,s]=this._samplingState.onLinesDeleted(e);return t<=s&&this._actual.onLinesChanged(t+1,s-t+1),this._shouldCheckSampling=!0,!0}}onLinesInserted(e){return this._samplingState?(this._samplingState.onLinesInserted(e),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(e.fromLineNumber,e.toLineNumber)}onScrollChanged(e){return this._actual.onScrollChanged()}onThemeChanged(e){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(e){if(!this._samplingState)return this._actual.onTokensChanged(e.ranges);{let t=[];for(let s of e.ranges){let e=this._samplingState.modelLineRangeToMinimapLineRange(s.fromLineNumber,s.toLineNumber);e&&t.push({fromLineNumber:e[0],toLineNumber:e[1]})}return!!t.length&&this._actual.onTokensChanged(t)}}onTokensColorsChanged(e){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(e){return this._actual.onZonesChanged()}prepareRender(e){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(e){let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber;this._samplingState&&(t=this._samplingState.modelLineToMinimapLine(t),s=this._samplingState.modelLineToMinimapLine(s));let x={viewportContainsWhitespaceGaps:e.viewportData.whitespaceViewportData.length>0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:s,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(x)}_recreateLineSampling(){this._minimapSelections=null;let e=!!this._samplingState,[t,s]=CY.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(let e of s)switch(e.type){case"deleted":this._actual.onLinesDeleted(e.deleteFromLineNumber,e.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(e.insertFromLineNumber,e.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(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,s){if(this._samplingState){let x=[];for(let E=0,a=t-e+1;E<a;E++)s[E]?x[E]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[e+E-1]):x[E]=null;return x}return this._context.viewModel.getMinimapLinesRenderingData(e,t,s).data}getSelections(){if(null===this._minimapSelections){if(this._samplingState)for(let e of(this._minimapSelections=[],this._selections)){let[t,s]=this._samplingState.decorationLineRangeToMinimapLineRange(e.startLineNumber,e.endLineNumber);this._minimapSelections.push(new Ln.Y(t,e.startColumn,s,e.endColumn))}else this._minimapSelections=this._selections}return this._minimapSelections}getMinimapDecorationsInViewport(e,t){let s=this._getMinimapDecorationsInViewport(e,t).filter(e=>!e.options.minimap?.sectionHeaderStyle);if(this._samplingState){let e=[];for(let t of s){if(!t.options.minimap)continue;let s=t.range,x=this._samplingState.modelLineToMinimapLine(s.startLineNumber),E=this._samplingState.modelLineToMinimapLine(s.endLineNumber);e.push(new o7(new r3.e(x,s.startColumn,E,s.endColumn),t.options))}return e}return s}getSectionHeaderDecorationsInViewport(e,t){let s=this.options.minimapLineHeight,x=this.options.sectionHeaderFontSize;return e=Math.floor(Math.max(1,e-x/s)),this._getMinimapDecorationsInViewport(e,t).filter(e=>!!e.options.minimap?.sectionHeaderStyle)}_getMinimapDecorationsInViewport(e,t){let s;if(this._samplingState){let x=this._samplingState.minimapLines[e-1],E=this._samplingState.minimapLines[t-1];s=new r3.e(x,1,E,this._context.viewModel.getLineMaxColumn(E))}else s=new r3.e(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(s)}getSectionHeaderText(e,t){let s=e.options.minimap?.sectionHeaderText;if(!s)return null;let x=this._sectionHeaderCache.get(s);if(x)return x;let E=t(s);return this._sectionHeaderCache.set(s,E),E}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new r3.e(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class CG extends xf.JT{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(iv.ov3),this._domNode=a9(document.createElement("div")),IX.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=a9(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=a9(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=a9(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=a9(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=a9(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=aa(this._domNode.domNode,af.POINTER_DOWN,e=>{if(e.preventDefault(),0===this._model.options.renderMinimap||!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===e.button&&this._lastRenderData){let t=aR(this._slider.domNode),s=t.top+t.height/2;this._startSliderDragging(e,s,this._lastRenderData.renderedLayout)}return}let t=this._model.options.minimapLineHeight,s=Math.floor(this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY/t)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;s=Math.min(s,this._model.getLineCount()),this._model.revealLineNumber(s)}),this._sliderPointerMoveMonitor=new iz,this._sliderPointerDownListener=aa(this._slider.domNode,af.POINTER_DOWN,e=>{e.preventDefault(),e.stopPropagation(),0===e.button&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=ij.addTarget(this._domNode.domNode),this._sliderTouchStartListener=aE(this._domNode.domNode,z.Start,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))},{passive:!1}),this._sliderTouchMoveListener=aE(this._domNode.domNode,z.Change,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)},{passive:!1}),this._sliderTouchEndListener=aa(this._domNode.domNode,z.End,e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,t,s){if(!e.target||!(e.target instanceof Element))return;let x=e.pageX;this._slider.toggleClassName("active",!0);let E=(e,E)=>{let a=aR(this._domNode.domNode),r=Math.min(Math.abs(E-x),Math.abs(E-a.left),Math.abs(E-a.left-a.width));if(sP.ED&&r>140){this._model.setScrollTop(s.scrollTop);return}this._model.setScrollTop(s.getDesiredScrollTopFromDelta(e-t))};e.pageY!==t&&E(e.pageY,x),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>E(e.pageY,e.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){let t=this._domNode.domNode.getBoundingClientRect().top,s=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(s)}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(){let e=["minimap"];return"always"===this._model.options.showSlider?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.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 Cd(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(e,t){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e,t)}onLinesDeleted(e,t){return this._lastRenderData?.onLinesDeleted(e,t),!0}onLinesInserted(e,t){return this._lastRenderData?.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(iv.ov3),this._renderDecorations=!0,!0}onTokensChanged(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(0===this._model.options.renderMinimap){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");let t=CM.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?"block":"none"),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;let t=this._model.getSelections();t.sort(r3.e.compareRangesUsingStarts);let s=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);s.sort((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0));let{canvasInnerWidth:x,canvasInnerHeight:E}=this._model.options,a=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,i=this._model.getOptions().tabSize,n=this._decorationsCanvas.domNode.getContext("2d");n.clearRect(0,0,x,E);let _=new CB(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(n,t,_,e,a),this._renderDecorationsLineHighlights(n,s,_,e,a);let T=new CB(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(n,t,T,e,a,i,r,x),this._renderDecorationsHighlights(n,s,T,e,a,i,r,x),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,s,x,E){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let a=0,r=0;for(let i of t){let t=x.intersectWithViewport(i);if(!t)continue;let[n,_]=t;for(let e=n;e<=_;e++)s.set(e,!0);let T=x.getYForLineNumber(n,E),S=x.getYForLineNumber(_,E);r>=T||(r>a&&e.fillRect(8,a,e.canvas.width,r-a),a=T),r=S}r>a&&e.fillRect(8,a,e.canvas.width,r-a)}_renderDecorationsLineHighlights(e,t,s,x,E){let a=new Map;for(let r=t.length-1;r>=0;r--){let i=t[r],n=i.options.minimap;if(!n||1!==n.position)continue;let _=x.intersectWithViewport(i.range);if(!_)continue;let[T,S]=_,R=n.getColor(this._theme.value);if(!R||R.isTransparent())continue;let O=a.get(R.toString());O||(O=R.transparent(.5).toString(),a.set(R.toString(),O)),e.fillStyle=O;for(let t=T;t<=S;t++){if(s.has(t))continue;s.set(t,!0);let a=x.getYForLineNumber(T,E);e.fillRect(8,a,e.canvas.width,E)}}}_renderSelectionsHighlights(e,t,s,x,E,a,r,i){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(let n of t){let t=x.intersectWithViewport(n);if(!t)continue;let[_,T]=t;for(let t=_;t<=T;t++)this.renderDecorationOnLine(e,s,n,this._selectionColor,x,t,E,E,a,r,i)}}_renderDecorationsHighlights(e,t,s,x,E,a,r,i){for(let n of t){let t=n.options.minimap;if(!t)continue;let _=x.intersectWithViewport(n.range);if(!_)continue;let[T,S]=_,R=t.getColor(this._theme.value);if(!(!R||R.isTransparent()))for(let _=T;_<=S;_++)switch(t.position){case 1:this.renderDecorationOnLine(e,s,n.range,R,x,_,E,E,a,r,i);continue;case 2:{let t=x.getYForLineNumber(_,E);this.renderDecoration(e,R,2,t,2,E);continue}}}}renderDecorationOnLine(e,t,s,x,E,a,r,i,n,_,T){let S=E.getYForLineNumber(a,i);if(S+r<0||S>this._model.options.canvasInnerHeight)return;let{startLineNumber:R,endLineNumber:O}=s,A=R===a?s.startColumn:1,N=O===a?s.endColumn:this._model.getLineMaxColumn(a),o=this.getXOffsetForPosition(t,a,A,n,_,T),I=this.getXOffsetForPosition(t,a,N,n,_,T);this.renderDecoration(e,x,o,S,I-o,r)}getXOffsetForPosition(e,t,s,x,E,a){if(1===s)return 8;if((s-1)*E>=a)return a;let r=e.get(t);if(!r){let s=this._model.getLineContent(t);r=[8];let i=8;for(let e=1;e<s.length+1;e++){let t=s.charCodeAt(e-1),n=i+(9===t?x*E:xg.K7(t)?2*E:E);if(n>=a){r[e]=a;break}r[e]=n,i=n}e.set(t,r)}return s-1<r.length?r[s-1]:a}renderDecoration(e,t,s,x,E,a){e.fillStyle=t&&t.toString()||"",e.fillRect(s,x,E,a)}_renderSectionHeaders(e){let t=this._model.options.minimapLineHeight,s=this._model.options.sectionHeaderFontSize,x=this._model.options.sectionHeaderLetterSpacing,E=1.5*s,{canvasInnerWidth:a}=this._model.options,r=this._model.options.backgroundColor,i=`rgb(${r.r} ${r.g} ${r.b} / .7)`,n=this._model.options.sectionHeaderFontColor,_=`rgb(${n.r} ${n.g} ${n.b})`,T=this._decorationsCanvas.domNode.getContext("2d");T.letterSpacing=x+"px",T.font="500 "+s+"px "+this._model.options.sectionHeaderFontFamily,T.strokeStyle=_,T.lineWidth=.2;let S=this._model.getSectionHeaderDecorationsInViewport(e.startLineNumber,e.endLineNumber);S.sort((e,t)=>e.range.startLineNumber-t.range.startLineNumber);let R=CG._fitSectionHeader.bind(null,T,a-8);for(let x of S){let r=e.getYForLineNumber(x.range.startLineNumber,t)+s,n=r-s,S=n+2,O=this._model.getSectionHeaderText(x,R);CG._renderSectionLabel(T,O,x.options.minimap?.sectionHeaderStyle===2,i,_,a,n,E,r,S)}}static _fitSectionHeader(e,t,s){if(!s)return s;let x=e.measureText(s).width,E=e.measureText("…").width;if(x<=t||x<=E)return s;let a=s.length,r=Math.floor((t-E)/(x/s.length))-1,i=Math.ceil(r/2);for(;i>0&&/\s/.test(s[i-1]);)--i;return s.substring(0,i)+"…"+s.substring(a-(r-i))}static _renderSectionLabel(e,t,s,x,E,a,r,i,n,_){t&&(e.fillStyle=x,e.fillRect(0,r,a,i),e.fillStyle=E,e.fillText(t,8,n)),s&&(e.beginPath(),e.moveTo(0,_),e.lineTo(a,_),e.closePath(),e.stroke())}renderLines(e){let t=e.startLineNumber,s=e.endLineNumber,x=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){let t=this._lastRenderData._get();return new CU(e,t.imageData,t.lines)}let E=this._getBuffer();if(!E)return null;let[a,r,i]=CG._renderUntouchedLines(E,e.topPaddingLineCount,t,s,x,this._lastRenderData),n=this._model.getMinimapLinesRenderingData(t,s,i),_=this._model.getOptions().tabSize,T=this._model.options.defaultBackgroundColor,S=this._model.options.backgroundColor,R=this._model.options.foregroundAlpha,O=this._model.tokensColorTracker,A=O.backgroundIsLight(),N=this._model.options.renderMinimap,o=this._model.options.charRenderer(),I=this._model.options.fontScale,L=this._model.options.minimapCharWidth,h=(1===N?2:3)*I,C=x>h?Math.floor((x-h)/2):0,l=S.a/255,u=new CR(Math.round((S.r-T.r)*l+T.r),Math.round((S.g-T.g)*l+T.g),Math.round((S.b-T.b)*l+T.b),255),D=e.topPaddingLineCount*x,M=[];for(let e=0,a=s-t+1;e<a;e++)i[e]&&CG._renderLine(E,u,S.a,A,N,L,O,R,o,D,C,_,n[e],I,x),M[e]=new CP(D),D+=x;let P=-1===a?0:a,U=-1===r?E.height:r;return this._canvas.domNode.getContext("2d").putImageData(E,0,0,0,P,E.width,U-P),new CU(e,E,M)}static _renderUntouchedLines(e,t,s,x,E,a){let r=[];if(!a){for(let e=0,t=x-s+1;e<t;e++)r[e]=!0;return[-1,-1,r]}let i=a._get(),n=i.imageData.data,_=i.rendLineNumberStart,T=i.lines,S=T.length,R=e.width,O=e.data,A=(x-s+1)*E*R*4,N=-1,o=-1,I=-1,L=-1,h=-1,C=-1,l=t*E;for(let e=s;e<=x;e++){let t=e-s,x=e-_,a=x>=0&&x<S?T[x].dy:-1;if(-1===a){r[t]=!0,l+=E;continue}let i=a*R*4,u=(a+E)*R*4,D=l*R*4,M=(l+E)*R*4;L===i&&C===D?L=u:(-1!==I&&(O.set(n.subarray(I,L),h),-1===N&&0===I&&I===h&&(N=L),-1===o&&L===A&&I===h&&(o=I)),I=i,L=u,h=D),C=M,r[t]=!1,l+=E}return -1!==I&&(O.set(n.subarray(I,L),h),-1===N&&0===I&&I===h&&(N=L),-1===o&&L===A&&I===h&&(o=I)),[-1===N?-1:N/(4*R),-1===o?-1:o/(4*R),r]}static _renderLine(e,t,s,x,E,a,r,i,n,_,T,S,R,O,A){let N=R.content,o=R.tokens,I=e.width-a,L=1===A,h=8,C=0,l=0;for(let R=0,A=o.getCount();R<A;R++){let A=o.getEndOffset(R),u=o.getForeground(R),D=r.getColor(u);for(;C<A;C++){if(h>I)return;let r=N.charCodeAt(C);if(9===r){let e=S-(C+l)%S;l+=e-1,h+=e*a}else if(32===r)h+=a;else{let S=xg.K7(r)?2:1;for(let R=0;R<S;R++)if(2===E?n.blockRenderChar(e,h,_+T,D,i,t,s,L):n.renderChar(e,h,_+T,r,D,i,t,s,O,x,L),(h+=a)>I)return}}}}}class CB{constructor(e,t,s){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=s,this._values=[];for(let e=0,t=this._endLineNumber-this._startLineNumber+1;e<t;e++)this._values[e]=s}has(e){return this.get(e)!==this._defaultValue}set(e,t){e<this._startLineNumber||e>this._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return e<this._startLineNumber||e>this._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}x(82347);class Cm extends IV{constructor(e,t){super(e),this._viewDomNode=t;let s=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=s.verticalScrollbarWidth,this._minimapWidth=s.minimap.minimapWidth,this._horizontalScrollbarHeight=s.horizontalScrollbarHeight,this._editorHeight=s.height,this._editorWidth=s.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=a9(document.createElement("div")),IX.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=a9(document.createElement("div")),IX.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){let t=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){let t=a9(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){let s=this._widgets[e.getId()],x=t?t.preference:null,E=t?.stackOridinal;return s.preference===x&&s.stack===E?(this._updateMaxMinWidth(),!1):(s.preference=x,s.stack=E,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){let t=e.getId();if(this._widgets.hasOwnProperty(t)){let e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let e=0,t=Object.keys(this._widgets);for(let s=0,x=t.length;s<x;s++){let x=t[s],E=this._widgets[x],a=E.widget.getMinContentWidthInPx?.();void 0!==a&&(e=Math.max(e,a))}this._context.viewLayout.setOverlayWidgetsMinWidth(e)}_renderWidget(e,t){let s=e.domNode;if(null===e.preference){s.setTop("");return}let x=2*this._verticalScrollbarWidth+this._minimapWidth;if(0===e.preference||1===e.preference){if(1===e.preference){let e=s.domNode.clientHeight;s.setTop(this._editorHeight-e-2*this._horizontalScrollbarHeight)}else s.setTop(0);void 0!==e.stack?(s.setTop(t[e.preference]),t[e.preference]+=s.domNode.clientWidth):s.setRight(x)}else if(2===e.preference)s.domNode.style.right="50%",void 0!==e.stack?(s.setTop(t[2]),t[2]+=s.domNode.clientHeight):s.setTop(0);else{let{top:t,left:x}=e.preference;if(this._context.configuration.options.get(42)&&e.widget.allowEditorOverflow){let e=this._viewDomNodeRect;s.setTop(t+e.top),s.setLeft(x+e.left),s.setPosition("fixed")}else s.setTop(t),s.setLeft(x),s.setPosition("absolute")}}prepareRender(e){this._viewDomNodeRect=aR(this._viewDomNode.domNode)}render(e){this._domNode.setWidth(this._editorWidth);let t=Object.keys(this._widgets),s=Array.from({length:3},()=>0);t.sort((e,t)=>(this._widgets[e].stack||0)-(this._widgets[t].stack||0));for(let e=0,x=t.length;e<x;e++){let x=t[e];this._renderWidget(this._widgets[x],s)}}}class Cf{constructor(e,t){let s=e.options;this.lineHeight=s.get(67),this.pixelRatio=s.get(144),this.overviewRulerLanes=s.get(83),this.renderBorder=s.get(82);let x=t.getColor(A4.zw);this.borderColor=x?x.toString():null,this.hideCursor=s.get(59);let E=t.getColor(A4.n0);this.cursorColorSingle=E?E.transparent(.7).toString():null;let a=t.getColor(A4.jD);this.cursorColorPrimary=a?a.transparent(.7).toString():null;let r=t.getColor(A4.x_);this.cursorColorSecondary=r?r.transparent(.7).toString():null,this.themeType=t.type;let i=s.get(73),n=i.enabled,_=i.side,T=t.getColor(A4.e_),S=_U.RW.getDefaultBackground();T?this.backgroundColor=T:n&&"right"===_?this.backgroundColor=S:this.backgroundColor=null;let R=s.get(146).overviewRuler;this.top=R.top,this.right=R.right,this.domWidth=R.width,this.domHeight=R.height,0===this.overviewRulerLanes?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);let[O,A]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=O,this.w=A}_initLanes(e,t,s){let x=t-e;if(s>=3){let t=Math.floor(x/3),s=Math.floor(x/3),E=x-t-s,a=e+t;return[[0,e,a,e,e+t+E,e,a,e],[0,t,E,t+E,s,t+E+s,E+s,t+E+s]]}if(2!==s)return[[0,e,e,e,e,e,e,e],[0,x,x,x,x,x,x,x]];{let t=Math.floor(x/2),s=x-t;return[[0,e,e,e,e+t,e,e,e],[0,t,t,t,s,t+s,t+s,t+s]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&cq.Il.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class Cg extends IV{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=a9(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=_U.RW.onDidChange(e=>{e.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new cs.L(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){let t=new Cf(this._context.configuration,this._context.theme);return!(this._settings&&this._settings.equals(t))&&(this._settings=t,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,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,s=e.selections.length;t<s;t++){let x=this._settings.cursorColorSingle;s>1&&(x=0===t?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:x})}return this._cursorPositions.sort((e,t)=>cs.L.compare(e.position,t.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return!!e.affectsOverviewRuler&&this._markRenderingIsMaybeNeeded()}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return!!e.scrollHeightChanged&&this._markRenderingIsNeeded()}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){let e=this._settings.backgroundColor;if(0===this._settings.overviewRulerLanes){this._domNode.setBackgroundColor(e?cq.Il.Format.CSS.formatHexA(e):""),this._domNode.setDisplay("none");return}let t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(o5.compareByRenderingProps),1!==this._actualShouldRender||o5.equalsArr(this._renderedDecorations,t)||(this._actualShouldRender=2),1!==this._actualShouldRender||(0,sD.fS)(this._renderedCursorPositions,this._cursorPositions,(e,t)=>e.position.lineNumber===t.position.lineNumber&&e.color===t.color)||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");let s=this._settings.canvasWidth,x=this._settings.canvasHeight,E=this._settings.lineHeight,a=this._context.viewLayout,r=x/this._context.viewLayout.getScrollHeight(),i=6*this._settings.pixelRatio|0,n=i/2|0,_=this._domNode.domNode.getContext("2d");e?(e.isOpaque()||_.clearRect(0,0,s,x),_.fillStyle=cq.Il.Format.CSS.formatHexA(e),_.fillRect(0,0,s,x)):_.clearRect(0,0,s,x);let T=this._settings.x,S=this._settings.w;for(let e of t){let t=e.color,s=e.data;_.fillStyle=t;let R=0,O=0,A=0;for(let e=0,t=s.length/3;e<t;e++){let t=s[3*e],N=s[3*e+1],o=s[3*e+2],I=a.getVerticalOffsetForLineNumber(N)*r|0,L=(a.getVerticalOffsetForLineNumber(o)+E)*r|0;if(L-I<i){let e=(I+L)/2|0;e<n?e=n:e+n>x&&(e=x-n),I=e-n,L=e+n}I>A+1||t!==R?(0!==e&&_.fillRect(T[R],O,S[R],A-O),R=t,O=I,A=L):L>A&&(A=L)}_.fillRect(T[R],O,S[R],A-O)}if(!this._settings.hideCursor){let e=2*this._settings.pixelRatio|0,t=e/2|0,s=this._settings.x[7],E=this._settings.w[7],i=-100,n=-100,T=null;for(let S=0,R=this._cursorPositions.length;S<R;S++){let R=this._cursorPositions[S].color;if(!R)continue;let O=this._cursorPositions[S].position,A=a.getVerticalOffsetForLineNumber(O.lineNumber)*r|0;A<t?A=t:A+t>x&&(A=x-t);let N=A-t,o=N+e;N>n+1||R!==T?(0!==S&&T&&_.fillRect(s,i,E,n-i),i=N,n=o):o>n&&(n=o),T=R,_.fillStyle=R}T&&_.fillRect(s,i,E,n-i)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(_.beginPath(),_.lineWidth=1,_.strokeStyle=this._settings.borderColor,_.moveTo(0,0),_.lineTo(0,x),_.moveTo(1,0),_.lineTo(s,0),_.stroke())}}class CF{constructor(e,t,s){this._colorZoneBrand=void 0,this.from=0|e,this.to=0|t,this.colorId=0|s}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class CH{constructor(e,t,s,x){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=s,this.color=x,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.color<t.color?-1:1}setColorZone(e){this._colorZone=e}getColorZones(){return this._colorZone}}class Cy{constructor(e){this._getVerticalOffsetForLine=e,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(e){this._zones=e,this._zones.sort(CH.compare)}setLineHeight(e){return this._lineHeight!==e&&(this._lineHeight=e,this._colorZonesInvalid=!0,!0)}setPixelRatio(e){this._pixelRatio=e,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(e){return this._domWidth!==e&&(this._domWidth=e,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(e){return this._domHeight!==e&&(this._domHeight=e,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(e){return this._outerHeight!==e&&(this._outerHeight=e,this._colorZonesInvalid=!0,!0)}resolveColorZones(){let e=this._colorZonesInvalid,t=Math.floor(this._lineHeight),s=Math.floor(this.getCanvasHeight()),x=s/Math.floor(this._outerHeight),E=Math.floor(4*this._pixelRatio/2),a=[];for(let r=0,i=this._zones.length;r<i;r++){let i=this._zones[r];if(!e){let e=i.getColorZones();if(e){a.push(e);continue}}let n=this._getVerticalOffsetForLine(i.startLineNumber),_=0===i.heightInLines?this._getVerticalOffsetForLine(i.endLineNumber)+t:n+i.heightInLines*t,T=Math.floor(x*n),S=Math.floor(x*_),R=Math.floor((T+S)/2),O=S-R;O<E&&(O=E),R-O<0&&(R=O),R+O>s&&(R=s-O);let A=i.color,N=this._color2Id[A];N||(N=++this._lastAssignedId,this._color2Id[A]=N,this._id2Color[N]=A);let o=new CF(R-O,R+O,N);i.setColorZone(o),a.push(o)}return this._colorZonesInvalid=!1,a.sort(CF.compare),a}}class CV extends Iy{constructor(e,t){super(),this._context=e;let s=this._context.configuration.options;this._domNode=a9(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new Cy(e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(s.get(67)),this._zoneManager.setPixelRatio(s.get(144)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(144)&&(this._zoneManager.setPixelRatio(t.get(144)),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(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,(t=this._zoneManager.setDOMHeight(e.height)||t)&&(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(e){this._zoneManager.setZones(e),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;let e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),s=this._zoneManager.resolveColorZones(),x=this._zoneManager.getId2Color(),E=this._domNode.domNode.getContext("2d");return E.clearRect(0,0,e,t),s.length>0&&this._renderOneLane(E,s,x,e),!0}_renderOneLane(e,t,s,x){let E=0,a=0,r=0;for(let i of t){let t=i.colorId,n=i.from,_=i.to;t!==E?(e.fillRect(0,a,x,r-a),E=t,e.fillStyle=s[E],a=n,r=_):r>=n?r=Math.max(r,_):(e.fillRect(0,a,x,r-a),a=n,r=_)}e.fillRect(0,a,x,r-a)}}x(80188);class CX extends IV{constructor(e){super(e),this.domNode=a9(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];let t=this._context.configuration.options;this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){let e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e<t){let{tabSize:s}=this._context.viewModel.model.getOptions(),x=t-e;for(;x>0;){let e=a9(document.createElement("div"));e.setClassName("view-ruler"),e.setWidth(s),this.domNode.appendChild(e),this._renderedRulers.push(e),x--}return}let s=e-t;for(;s>0;){let e=this._renderedRulers.pop();this.domNode.removeChild(e),s--}}render(e){this._ensureRulersCount();for(let t=0,s=this._rulers.length;t<s;t++){let s=this._renderedRulers[t],x=this._rulers[t];s.setBoxShadow(x.color?`1px 0 0 0 ${x.color} inset`:""),s.setHeight(Math.min(e.scrollHeight,1e6)),s.setLeft(x.column*this._typicalHalfwidthCharacterWidth)}}}x(37543);class Cb extends IV{constructor(e){super(e),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;let t=this._context.configuration.options.get(104);this._useShadows=t.useShadows,this._domNode=a9(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){let e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e&&(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){let e=this._context.configuration.options.get(146);0===e.minimap.renderMinimap||e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){let t=this._context.configuration.options.get(104);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}x(42247);class Cv{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class Ck{constructor(e,t){this.lineNumber=e,this.ranges=t}}function Cw(e){return new Cv(e)}function CW(e){return new Ck(e.lineNumber,e.ranges.map(Cw))}class CK extends LP{static{this.SELECTION_CLASS_NAME="selected-text"}static{this.SELECTION_TOP_LEFT="top-left-radius"}static{this.SELECTION_BOTTOM_LEFT="bottom-left-radius"}static{this.SELECTION_TOP_RIGHT="top-right-radius"}static{this.SELECTION_BOTTOM_RIGHT="bottom-right-radius"}static{this.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background"}static{this.ROUNDED_PIECE_WIDTH=10}constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;let t=this._context.configuration.options;this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,s=e.length;t<s;t++)if(e[t].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,s){let x=this._typicalHalfwidthCharacterWidth/4,E=null,a=null;if(s&&s.length>0&&t.length>0){let x=t[0].lineNumber;if(x===e.startLineNumber)for(let e=0;!E&&e<s.length;e++)s[e].lineNumber===x&&(E=s[e].ranges[0]);let r=t[t.length-1].lineNumber;if(r===e.endLineNumber)for(let e=s.length-1;!a&&e>=0;e--)s[e].lineNumber===r&&(a=s[e].ranges[0]);E&&!E.startStyle&&(E=null),a&&!a.startStyle&&(a=null)}for(let e=0,s=t.length;e<s;e++){let r=t[e].ranges[0],i=r.left,n=r.left+r.width,_={top:0,bottom:0},T={top:0,bottom:0};if(e>0){let s=t[e-1].ranges[0].left,E=t[e-1].ranges[0].left+t[e-1].ranges[0].width;CQ(i-s)<x?_.top=2:i>s&&(_.top=1),CQ(n-E)<x?T.top=2:s<n&&n<E&&(T.top=1)}else E&&(_.top=E.startStyle.top,T.top=E.endStyle.top);if(e+1<s){let s=t[e+1].ranges[0].left,E=t[e+1].ranges[0].left+t[e+1].ranges[0].width;CQ(i-s)<x?_.bottom=2:s<i&&i<E&&(_.bottom=1),CQ(n-E)<x?T.bottom=2:n<E&&(T.bottom=1)}else a&&(_.bottom=a.startStyle.bottom,T.bottom=a.endStyle.bottom);r.startStyle=_,r.endStyle=T}}_getVisibleRangesWithStyle(e,t,s){let x=(t.linesVisibleRangesForRange(e,!0)||[]).map(CW);return!this._visibleRangesHaveGaps(x)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(t.visibleRange,x,s),x}_createSelectionPiece(e,t,s,x,E){return'<div class="cslr '+s+'" style="top:'+e.toString()+"px;bottom:"+t.toString()+"px;left:"+x.toString()+"px;width:"+E.toString()+'px;"></div>'}_actualRenderOneSelection(e,t,s,x){if(0===x.length)return;let E=!!x[0].ranges[0].startStyle,a=x[0].lineNumber,r=x[x.length-1].lineNumber;for(let i=0,n=x.length;i<n;i++){let n=x[i],_=n.lineNumber,T=_-t,S=s&&_===a?1:0,R=s&&_!==a&&_===r?1:0,O="",A="";for(let e=0,t=n.ranges.length;e<t;e++){let t=n.ranges[e];if(E){let e=t.startStyle,s=t.endStyle;if(1===e.top||1===e.bottom){O+=this._createSelectionPiece(S,R,CK.SELECTION_CLASS_NAME,t.left-CK.ROUNDED_PIECE_WIDTH,CK.ROUNDED_PIECE_WIDTH);let s=CK.EDITOR_BACKGROUND_CLASS_NAME;1===e.top&&(s+=" "+CK.SELECTION_TOP_RIGHT),1===e.bottom&&(s+=" "+CK.SELECTION_BOTTOM_RIGHT),O+=this._createSelectionPiece(S,R,s,t.left-CK.ROUNDED_PIECE_WIDTH,CK.ROUNDED_PIECE_WIDTH)}if(1===s.top||1===s.bottom){O+=this._createSelectionPiece(S,R,CK.SELECTION_CLASS_NAME,t.left+t.width,CK.ROUNDED_PIECE_WIDTH);let e=CK.EDITOR_BACKGROUND_CLASS_NAME;1===s.top&&(e+=" "+CK.SELECTION_TOP_LEFT),1===s.bottom&&(e+=" "+CK.SELECTION_BOTTOM_LEFT),O+=this._createSelectionPiece(S,R,e,t.left+t.width,CK.ROUNDED_PIECE_WIDTH)}}let s=CK.SELECTION_CLASS_NAME;if(E){let e=t.startStyle,x=t.endStyle;0===e.top&&(s+=" "+CK.SELECTION_TOP_LEFT),0===e.bottom&&(s+=" "+CK.SELECTION_BOTTOM_LEFT),0===x.top&&(s+=" "+CK.SELECTION_TOP_RIGHT),0===x.bottom&&(s+=" "+CK.SELECTION_BOTTOM_RIGHT)}A+=this._createSelectionPiece(S,R,s,t.left,t.width)}e[T][0]+=O,e[T][1]+=A}}prepareRender(e){let t=[],s=e.visibleRange.startLineNumber,x=e.visibleRange.endLineNumber;for(let e=s;e<=x;e++)t[e-s]=["",""];let E=[];for(let x=0,a=this._selections.length;x<a;x++){let a=this._selections[x];if(a.isEmpty()){E[x]=null;continue}let r=this._getVisibleRangesWithStyle(a,e,this._previousFrameVisibleRangesWithStyle[x]);E[x]=r,this._actualRenderOneSelection(t,s,this._selections.length>1,r)}this._previousFrameVisibleRangesWithStyle=E,this._renderResult=t.map(([e,t])=>e+t)}render(e,t){if(!this._renderResult)return"";let s=t-e;return s<0||s>=this._renderResult.length?"":this._renderResult[s]}}function CQ(e){return e<0?-e:e}(0,iR.Ic)((e,t)=>{let s=e.getColor(iv.yb5);s&&!s.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${s}; }`)}),x(96316);class CJ{constructor(e,t,s,x,E,a,r){this.top=e,this.left=t,this.paddingLeft=s,this.width=x,this.height=E,this.textContent=a,this.textContentClassName=r}}!function(e){e[e.Single=0]="Single",e[e.MultiPrimary=1]="MultiPrimary",e[e.MultiSecondary=2]="MultiSecondary"}(eq||(eq={}));class CZ{constructor(e,t){this._context=e;let s=this._context.configuration.options,x=s.get(50);this._cursorStyle=s.get(28),this._lineHeight=s.get(67),this._typicalHalfwidthCharacterWidth=x.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(s.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=a9(document.createElement("div")),this._domNode.setClassName(`cursor ${Lp}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),re(this._domNode,x),this._domNode.setDisplay("none"),this._position=new cs.L(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case eq.Single:this._pluralityClass="";break;case eq.MultiPrimary:this._pluralityClass="cursor-primary";break;case eq.MultiSecondary:this._pluralityClass="cursor-secondary"}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=s.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),re(this._domNode,s),!0}onCursorPositionChanged(e,t){return t?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=e,!0}_getGraphemeAwarePosition(){let{lineNumber:e,column:t}=this._position,s=this._context.viewModel.getLineContent(e),[x,E]=xg.J_(s,t-1);return[new cs.L(e,x+1),s.substring(x,E)]}_prepareRender(e){let t="",s="",[x,E]=this._getGraphemeAwarePosition();if(this._cursorStyle===W.Line||this._cursorStyle===W.LineThin){let a;let r=e.visibleRangeForPosition(x);if(!r||r.outsideRenderedLine)return null;let i=E1(this._domNode.domNode);this._cursorStyle===W.Line?(a=aK(i,this._lineCursorWidth>0?this._lineCursorWidth:2))>2&&(t=E,s=this._getTokenClassName(x)):a=aK(i,1);let n=r.left,_=0;return a>=2&&n>=1&&(n-=_=1),new CJ(e.getVerticalOffsetForLineNumber(x.lineNumber)-e.bigNumbersDelta,n,_,a,this._lineHeight,t,s)}let a=e.linesVisibleRangesForRange(new r3.e(x.lineNumber,x.column,x.lineNumber,x.column+E.length),!1);if(!a||0===a.length)return null;let r=a[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;let i=r.ranges[0],n=" "===E?this._typicalHalfwidthCharacterWidth:i.width<1?this._typicalHalfwidthCharacterWidth:i.width;this._cursorStyle===W.Block&&(t=E,s=this._getTokenClassName(x));let _=e.getVerticalOffsetForLineNumber(x.lineNumber)-e.bigNumbersDelta,T=this._lineHeight;return(this._cursorStyle===W.Underline||this._cursorStyle===W.UnderlineThin)&&(_+=this._lineHeight-2,T=2),new CJ(_,i.left,0,n,T,t,s)}_getTokenClassName(e){let t=this._context.viewModel.getViewLineData(e.lineNumber),s=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(s)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${Lp} ${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 Cz extends IV{static{this.BLINK_INTERVAL=500}constructor(e){super(e);let t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new CZ(this._context,eq.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=a9(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 x9._F,this._cursorFlatBlinkInterval=new ai,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){let t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let t=0,s=this._secondaryCursors.length;t<s;t++)this._secondaryCursors[t].onConfigurationChanged(e);return!0}_onCursorPositionChanged(e,t,s){let x=this._secondaryCursors.length!==t.length||"explicit"===this._cursorSmoothCaretAnimation&&3!==s;if(this._primaryCursor.setPlurality(t.length?eq.MultiPrimary:eq.Single),this._primaryCursor.onCursorPositionChanged(e,x),this._updateBlinking(),this._secondaryCursors.length<t.length){let e=t.length-this._secondaryCursors.length;for(let t=0;t<e;t++){let e=new CZ(this._context,eq.MultiSecondary);this._domNode.domNode.insertBefore(e.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(e)}}else if(this._secondaryCursors.length>t.length){let e=this._secondaryCursors.length-t.length;for(let t=0;t<e;t++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let e=0;e<t.length;e++)this._secondaryCursors[e].onCursorPositionChanged(t[e],x)}onCursorStateChanged(e){let t=[];for(let s=0,x=e.selections.length;s<x;s++)t[s]=e.selections[s].getPosition();this._onCursorPositionChanged(t[0],t.slice(1),e.reason);let s=e.selections[0].isEmpty();return this._selectionIsEmpty!==s&&(this._selectionIsEmpty=s,this._updateDomClassName()),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onFocusChanged(e){return this._editorHasFocus=e.isFocused,this._updateBlinking(),!1}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return!0}onTokensChanged(e){let t=t=>{for(let s=0,x=e.ranges.length;s<x;s++)if(e.ranges[s].fromLineNumber<=t.lineNumber&&t.lineNumber<=e.ranges[s].toLineNumber)return!0;return!1};if(t(this._primaryCursor.getPosition()))return!0;for(let e of this._secondaryCursors)if(t(e.getPosition()))return!0;return!1}onZonesChanged(e){return!0}_getCursorBlinking(){return this._isComposingInput||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();let e=this._getCursorBlinking(),t=0===e;t?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),t||5===e||(1===e?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()},Cz.BLINK_INTERVAL,E1(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},Cz.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case W.Line:e+=" cursor-line-style";break;case W.Block:e+=" cursor-block-style";break;case W.Underline:e+=" cursor-underline-style";break;case W.LineThin:e+=" cursor-line-thin-style";break;case W.BlockOutline:e+=" cursor-block-outline-style";break;case W.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return("on"===this._cursorSmoothCaretAnimation||"explicit"===this._cursorSmoothCaretAnimation)&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].hide();this._isVisible=!1}prepareRender(e){this._primaryCursor.prepareRender(e);for(let t=0,s=this._secondaryCursors.length;t<s;t++)this._secondaryCursors[t].prepareRender(e)}render(e){let t=[],s=0,x=this._primaryCursor.render(e);x&&(t[s++]=x);for(let x=0,E=this._secondaryCursors.length;x<E;x++){let E=this._secondaryCursors[x].render(e);E&&(t[s++]=E)}this._renderData=t}getLastRenderData(){return this._renderData}}(0,iR.Ic)((e,t)=>{for(let s of[{class:".cursor",foreground:A4.n0,background:A4.fY},{class:".cursor-primary",foreground:A4.jD,background:A4.s2},{class:".cursor-secondary",foreground:A4.x_,background:A4.P0}]){let x=e.getColor(s.foreground);if(x){let E=e.getColor(s.background);E||(E=x.opposite()),t.addRule(`.monaco-editor .cursors-layer ${s.class} { background-color: ${x}; border-color: ${x}; color: ${E}; }`),(0,TQ.c3)(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${s.class} { border-left: 1px solid ${E}; border-right: 1px solid ${E}; }`)}}});let Cq=()=>{throw Error("Invalid change accessor")};class Cj extends IV{constructor(e){super(e);let t=this._context.configuration.options,s=t.get(146);this._lineHeight=t.get(67),this._contentWidth=s.contentWidth,this._contentLeft=s.contentLeft,this.domNode=a9(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=a9(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(){let e=this._context.viewLayout.getWhitespaces(),t=new Map;for(let s of e)t.set(s.id,s);let s=!1;return this._context.viewModel.changeWhitespace(e=>{let x=Object.keys(this._zones);for(let E=0,a=x.length;E<a;E++){let a=x[E],r=this._zones[a],i=this._computeWhitespaceProps(r.delegate);r.isInHiddenArea=i.isInHiddenArea;let n=t.get(a);n&&(n.afterLineNumber!==i.afterViewLineNumber||n.height!==i.heightInPx)&&(e.changeOneWhitespace(a,i.afterViewLineNumber,i.heightInPx),this._safeCallOnComputedHeight(r.delegate,i.heightInPx),s=!0)}}),s}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(146);return this._lineHeight=t.get(67),this._contentWidth=s.contentWidth,this._contentLeft=s.contentLeft,e.hasChanged(67)&&this._recomputeWhitespacesProps(),!0}onLineMappingChanged(e){return this._recomputeWhitespacesProps()}onLinesDeleted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}onLinesInserted(e){return!0}_getZoneOrdinal(e){return e.ordinal??e.afterColumn??1e4}_computeWhitespaceProps(e){let t,s;if(0===e.afterLineNumber)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(e),minWidthInPx:this._minWidthInPixels(e)};if(void 0!==e.afterColumn)t=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{let s=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;t=new cs.L(s,this._context.viewModel.model.getLineMaxColumn(s))}s=t.column===this._context.viewModel.model.getLineMaxColumn(t.lineNumber)?this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber+1,column:1}):this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber,column:t.column+1});let x=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t,e.afterColumnAffinity,!0),E=e.showInHiddenAreas||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(s);return{isInHiddenArea:!E,afterViewLineNumber:x.lineNumber,heightInPx:E?this._heightInPixels(e):0,minWidthInPx:this._minWidthInPixels(e)}}changeViewZones(e){let t=!1;return this._context.viewModel.changeWhitespace(s=>{let x={addZone:e=>(t=!0,this._addZone(s,e)),removeZone:e=>{e&&(t=this._removeZone(s,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(s,e)||t)}};(function(e,t){try{e(t)}catch(e){(0,xZ.dL)(e)}})(e,x),x.addZone=Cq,x.removeZone=Cq,x.layoutZone=Cq}),t}_addZone(e,t){let s=this._computeWhitespaceProps(t),x={whitespaceId:e.insertWhitespace(s.afterViewLineNumber,this._getZoneOrdinal(t),s.heightInPx,s.minWidthInPx),delegate:t,isInHiddenArea:s.isInHiddenArea,isVisible:!1,domNode:a9(t.domNode),marginDomNode:t.marginDomNode?a9(t.marginDomNode):null};return this._safeCallOnComputedHeight(x.delegate,s.heightInPx),x.domNode.setPosition("absolute"),x.domNode.domNode.style.width="100%",x.domNode.setDisplay("none"),x.domNode.setAttribute("monaco-view-zone",x.whitespaceId),this.domNode.appendChild(x.domNode),x.marginDomNode&&(x.marginDomNode.setPosition("absolute"),x.marginDomNode.domNode.style.width="100%",x.marginDomNode.setDisplay("none"),x.marginDomNode.setAttribute("monaco-view-zone",x.whitespaceId),this.marginDomNode.appendChild(x.marginDomNode)),this._zones[x.whitespaceId]=x,this.setShouldRender(),x.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){let s=this._zones[t];return delete this._zones[t],e.removeWhitespace(s.whitespaceId),s.domNode.removeAttribute("monaco-visible-view-zone"),s.domNode.removeAttribute("monaco-view-zone"),s.domNode.domNode.remove(),s.marginDomNode&&(s.marginDomNode.removeAttribute("monaco-visible-view-zone"),s.marginDomNode.removeAttribute("monaco-view-zone"),s.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){let s=this._zones[t],x=this._computeWhitespaceProps(s.delegate);return s.isInHiddenArea=x.isInHiddenArea,e.changeOneWhitespace(s.whitespaceId,x.afterViewLineNumber,x.heightInPx),this._safeCallOnComputedHeight(s.delegate,x.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return!!this._zones.hasOwnProperty(e)&&!!this._zones[e].delegate.suppressMouseDown}_heightInPixels(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(e){(0,xZ.dL)(e)}}_safeCallOnDomNodeTop(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(e){(0,xZ.dL)(e)}}prepareRender(e){}render(e){let t=e.viewportData.whitespaceViewportData,s={},x=!1;for(let e of t)this._zones[e.id].isInHiddenArea||(s[e.id]=e,x=!0);let E=Object.keys(this._zones);for(let t=0,x=E.length;t<x;t++){let x=E[t],a=this._zones[x],r=0,i=0,n="none";s.hasOwnProperty(x)?(r=s[x].verticalOffset-e.bigNumbersDelta,i=s[x].height,n="block",a.isVisible||(a.domNode.setAttribute("monaco-visible-view-zone","true"),a.isVisible=!0),this._safeCallOnDomNodeTop(a.delegate,e.getScrolledTopFromAbsoluteTop(s[x].verticalOffset))):(a.isVisible&&(a.domNode.removeAttribute("monaco-visible-view-zone"),a.isVisible=!1),this._safeCallOnDomNodeTop(a.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))),a.domNode.setTop(r),a.domNode.setHeight(i),a.domNode.setDisplay(n),a.marginDomNode&&(a.marginDomNode.setTop(r),a.marginDomNode.setHeight(i),a.marginDomNode.setDisplay(n))}x&&(this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}}x(14429);class C$ extends LP{constructor(e){super(),this._context=e,this._options=new C0(this._context.configuration),this._selection=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=new C0(this._context.configuration);return this._options.equals(t)?e.hasChanged(146):(this._options=t,!0)}onCursorStateChanged(e){return this._selection=e.selections,"selection"===this._options.renderWhitespace}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}prepareRender(e){if("none"===this._options.renderWhitespace){this._renderResult=null;return}let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber-t+1,x=Array(s);for(let e=0;e<s;e++)x[e]=!0;let E=this._context.viewModel.getMinimapLinesRenderingData(e.viewportData.startLineNumber,e.viewportData.endLineNumber,x);this._renderResult=[];for(let t=e.viewportData.startLineNumber;t<=e.viewportData.endLineNumber;t++){let s=t-e.viewportData.startLineNumber,x=E.data[s],a=null;if("selection"===this._options.renderWhitespace)for(let e of this._selection){if(e.endLineNumber<t||e.startLineNumber>t)continue;let s=e.startLineNumber===t?e.startColumn:x.minColumn,E=e.endLineNumber===t?e.endColumn:x.maxColumn;s<E&&(a||(a=[]),a.push(new ov(s-1,E-1)))}this._renderResult[s]=this._applyRenderWhitespace(e,t,a,x)}}_applyRenderWhitespace(e,t,s,x){let E;if("selection"===this._options.renderWhitespace&&!s||"trailing"===this._options.renderWhitespace&&x.continuesWithWrappedLine)return"";let a=this._context.theme.getColor(A4.dI),r=this._options.renderWithSVG,i=x.content,n=-1===this._options.stopRenderingLineAfter?i.length:Math.min(this._options.stopRenderingLineAfter,i.length),_=x.continuesWithWrappedLine,T=x.minColumn-1,S="boundary"===this._options.renderWhitespace,R="trailing"===this._options.renderWhitespace,O=this._options.lineHeight,A=this._options.middotWidth,N=this._options.wsmiddotWidth,o=this._options.spaceWidth,I=Math.abs(N-o)<Math.abs(A-o)?11825:183,L=this._options.canUseHalfwidthRightwardsArrow,h="",C=!1,l=xg.LC(i);-1===l?(C=!0,l=n,E=n):E=xg.ow(i);let u=0,D=s&&s[u],M=0;for(let x=T;x<n;x++){let a=i.charCodeAt(x);if(D&&x>=D.endOffset&&(u++,D=s&&s[u]),9!==a&&32!==a||R&&!C&&x<=E)continue;if(S&&x>=l&&x<=E&&32===a){let e=x-1>=0?i.charCodeAt(x-1):0,t=x+1<n?i.charCodeAt(x+1):0;if(32!==e&&32!==t)continue}if(S&&_&&x===n-1){let e=x-1>=0?i.charCodeAt(x-1):0;if(32===a&&32!==e&&9!==e)continue}if(s&&(!D||D.startOffset>x||D.endOffset<=x))continue;let T=e.visibleRangeForPosition(new cs.L(t,x+1));T&&(r?(M=Math.max(M,T.left),9===a?h+=this._renderArrow(O,o,T.left):h+=`<circle cx="${(T.left+o/2).toFixed(2)}" cy="${(O/2).toFixed(2)}" r="${(o/7).toFixed(2)}" />`):9===a?h+=`<div class="mwh" style="left:${T.left}px;height:${O}px;">${L?String.fromCharCode(65515):String.fromCharCode(8594)}</div>`:h+=`<div class="mwh" style="left:${T.left}px;height:${O}px;">${String.fromCharCode(I)}</div>`)}return r?(M=Math.round(M+o),`<svg style="bottom:0;position:absolute;width:${M}px;height:${O}px" viewBox="0 0 ${M} ${O}" xmlns="http://www.w3.org/2000/svg" fill="${a}">`+h+"</svg>"):h}_renderArrow(e,t,s){let x=e/2,E={x:0,y:t/7/2},a={x:.8*t,y:E.y},r={x:a.x-.2*a.x,y:a.y+.2*a.x},i={x:r.x+.1*a.x,y:r.y+.1*a.x},n={x:i.x+.35*a.x,y:i.y-.35*a.x},_={x:n.x,y:-n.y},T={x:i.x,y:-i.y},S={x:r.x,y:-r.y},R={x:a.x,y:-a.y},O={x:E.x,y:-E.y},A=[E,a,r,i,n,_,T,S,R,O].map(e=>`${(s+e.x).toFixed(2)} ${(x+e.y).toFixed(2)}`).join(" L ");return`<path d="M ${A}" />`}render(e,t){if(!this._renderResult)return"";let s=t-e;return s<0||s>=this._renderResult.length?"":this._renderResult[s]}}class C0{constructor(e){let t=e.options,s=t.get(50),x=t.get(38);"off"===x?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===x?(this.renderWhitespace=t.get(100),this.renderWithSVG=!0):(this.renderWhitespace=t.get(100),this.renderWithSVG=!1),this.spaceWidth=s.spaceWidth,this.middotWidth=s.middotWidth,this.wsmiddotWidth=s.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=s.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(118)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class C2{constructor(e,t,s,x){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.lineHeight=0|t.lineHeight,this.whitespaceViewportData=s,this._model=x,this.visibleRange=new r3.e(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class C1{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class C3{constructor(e,t,s){this.configuration=e,this.theme=new C1(t),this.viewModel=s,this.viewLayout=s.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}let C7=class extends Iy{constructor(e,t,s,x,E,a,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Ln.Y(1,1,1,1)],this._renderAnimationFrame=null;let i=new hH(t,x,E,e);this._context=new C3(t,s,x),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(Lm,this._context,i,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=a9(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=a9(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=a9(document.createElement("div")),IX.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new h3(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new Cc(this._context,this._linesContent),this._viewZones=new Cj(this._context),this._viewParts.push(this._viewZones);let n=new Cg(this._context);this._viewParts.push(n);let _=new Cb(this._context);this._viewParts.push(_);let T=new hk(this._context);this._viewParts.push(T),T.addDynamicOverlay(new h0(this._context)),T.addDynamicOverlay(new CK(this._context)),T.addDynamicOverlay(new CE(this._context)),T.addDynamicOverlay(new h1(this._context)),T.addDynamicOverlay(new C$(this._context));let S=new hw(this._context);this._viewParts.push(S),S.addDynamicOverlay(new h2(this._context)),S.addDynamicOverlay(new CS(this._context)),S.addDynamicOverlay(new CT(this._context)),S.addDynamicOverlay(new LU(this._context)),this._glyphMarginWidgets=new h8(this._context),this._viewParts.push(this._glyphMarginWidgets);let R=new Ld(this._context);R.getDomNode().appendChild(this._viewZones.marginDomNode),R.getDomNode().appendChild(S.getDomNode()),R.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(R),this._contentWidgets=new hQ(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new Cz(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new Cm(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);let O=new CX(this._context);this._viewParts.push(O);let A=new hK(this._context);this._viewParts.push(A);let N=new Cp(this._context);if(this._viewParts.push(N),n){let e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(n.getDomNode(),e.insertBefore)}this._linesContent.appendChild(T.getDomNode()),this._linesContent.appendChild(O.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(R.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(_.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(N.getDomNode()),this._overflowGuardContainer.appendChild(A.domNode),this.domNode.appendChild(this._overflowGuardContainer),a?(a.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),a.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new LM(this._context,i,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){let e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes,s=[],x=0;for(let E of((s=(s=s.concat(e.getAllMarginDecorations().map(e=>{let t=e.options.glyphMargin?.position??of.U.Center;return x=Math.max(x,e.range.endLineNumber),{range:e.range,lane:t,persist:e.options.glyphMargin?.persistLane}}))).concat(this._glyphMarginWidgets.getWidgets().map(t=>{let s=e.validateRange(t.preference.range);return x=Math.max(x,s.endLineNumber),{range:s,lane:t.preference.lane}}))).sort((e,t)=>r3.e.compareRangesUsingStarts(e.range,t.range)),t.reset(x),s))t.push(E.lane,E.range,E.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>new I8(this._viewCursors.getLastRenderData()||[],this._textAreaHandler.getLastRenderData()),renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new cs.L(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){let e=this._context.configuration.options.get(146);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){let e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(143)+" "+(0,iR.m6)(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){for(let e of(null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose(),this._viewParts))e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new xZ.he;if(null===this._renderAnimationFrame){let e=this._createCoordinatedRendering();this._renderAnimationFrame=C4.INSTANCE.scheduleCoordinatedRendering({window:E1(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new xZ.he;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new xZ.he;return e.renderText()},prepareRender:(t,s)=>{if(this._store.isDisposed)throw new xZ.he;return e.prepareRender(t,s)},render:(t,s)=>{if(this._store.isDisposed)throw new xZ.he;return e.render(t,s)}})}}_flushAccumulatedAndRenderNow(){let e=this._createCoordinatedRendering();C5(()=>e.prepareRenderText());let t=C5(()=>e.renderText());if(t){let[s,x]=t;C5(()=>e.prepareRender(s,x)),C5(()=>e.render(s,x))}}_getViewPartsToRender(){let e=[],t=0;for(let s of this._viewParts)s.shouldRender()&&(e[t++]=s);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;let e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}eb.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===e.length)return null;let t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);let s=new C2(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(s),this._viewLines.shouldRender()&&(this._viewLines.renderText(s),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new Iv(this._context.viewLayout,s,this._viewLines)]},prepareRender:(e,t)=>{for(let s of e)s.prepareRender(t)},render:(e,t)=>{for(let s of e)s.render(t),s.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){let s=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),x=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);this._flushAccumulatedAndRenderNow();let E=this._viewLines.visibleRangeForPosition(new cs.L(x.lineNumber,x.column));return E?E.left:-1}getTargetAtClientPoint(e,t){let s=this._pointerHandler.getTargetAtClientPoint(e,t);return s?hW.convertViewToModelMouseTarget(s,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new CV(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t)for(let e of(this._viewLines.forceShouldRender(),this._viewParts))e.forceShouldRender();e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){this._contentWidgets.setWidgetPosition(e.widget,e.position?.position??null,e.position?.secondaryPosition??null,e.position?.preference??null,e.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){this._overlayWidgets.setWidgetPosition(e.widget,e.position)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){let t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function C5(e){try{return e()}catch(e){return(0,xZ.dL)(e),null}}C7=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([(h=rc.TG,function(e,t){h(e,t,6)})],C7);class C4{static{this.INSTANCE=new C4}constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{let t=this._coordinatedRenderings.indexOf(e);if(-1!==t&&(this._coordinatedRenderings.splice(t,1),0===this._coordinatedRenderings.length)){for(let[e,t]of this._animationFrameRunners)t.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){this._animationFrameRunners.has(e)||this._animationFrameRunners.set(e,E(e,()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()},100))}_onRenderScheduled(){let e=this._coordinatedRenderings.slice(0);for(let t of(this._coordinatedRenderings=[],e))C5(()=>t.prepareRenderText());let t=[];for(let s=0,x=e.length;s<x;s++){let x=e[s];t[s]=C5(()=>x.renderText())}for(let s=0,x=e.length;s<x;s++){let x=e[s],E=t[s];if(!E)continue;let[a,r]=E;C5(()=>x.prepareRender(a,r))}for(let s=0,x=e.length;s<x;s++){let x=e[s],E=t[s];if(!E)continue;let[a,r]=E;C5(()=>x.render(a,r))}}}var C6=x(13896);class C8{constructor(e,t,s,x,E){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=s,this.breakOffsetsVisibleColumn=x,this.wrappedTextIndentLength=E}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){let t=e>0?this.breakOffsets[e-1]:0,s=this.breakOffsets[e]-t;return e>0&&(s+=this.wrappedTextIndentLength),s}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let s=0===e?t:this.breakOffsets[e-1]+t;if(null!==this.injectionOffsets)for(let e=0;e<this.injectionOffsets.length;e++)if(s>this.injectionOffsets[e])s<this.injectionOffsets[e]+this.injectionOptions[e].content.length?s=this.injectionOffsets[e]:s-=this.injectionOptions[e].content.length;else break;return s}translateToOutputPosition(e,t=2){let s=e;if(null!==this.injectionOffsets)for(let x=0;x<this.injectionOffsets.length&&!(e<this.injectionOffsets[x])&&(1===t||e!==this.injectionOffsets[x]);x++)s+=this.injectionOptions[x].content.length;return this.offsetInInputWithInjectionsToOutputPosition(s,t)}offsetInInputWithInjectionsToOutputPosition(e,t=2){let s=0,x=this.breakOffsets.length-1,E=0,a=0;for(;s<=x;){E=s+(x-s)/2|0;let r=this.breakOffsets[E];if(a=E>0?this.breakOffsets[E-1]:0,0===t){if(e<=a)x=E-1;else if(e>r)s=E+1;else break}else if(e<a)x=E-1;else if(e>=r)s=E+1;else break}let r=e-a;return E>0&&(r+=this.wrappedTextIndentLength),new lt(E,r)}normalizeOutputPosition(e,t,s){if(null!==this.injectionOffsets){let x=this.outputPositionToOffsetInInputWithInjections(e,t),E=this.normalizeOffsetInInputWithInjectionsAroundInjections(x,s);if(E!==x)return this.offsetInInputWithInjectionsToOutputPosition(E,s)}if(0===s){if(e>0&&t===this.getMinOutputOffset(e))return new lt(e-1,this.getMaxOutputOffset(e-1))}else if(1===s&&e<this.getOutputLineCount()-1&&t===this.getMaxOutputOffset(e))return new lt(e+1,this.getMinOutputOffset(e+1));return new lt(e,t)}outputPositionToOffsetInInputWithInjections(e,t){return e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){let s=this.getInjectedTextAtOffset(e);if(!s)return e;if(2===t){if(e===s.offsetInInputWithInjections+s.length&&C9(this.injectionOptions[s.injectedTextIndex].cursorStops))return s.offsetInInputWithInjections+s.length;{let e=s.offsetInInputWithInjections;if(le(this.injectionOptions[s.injectedTextIndex].cursorStops))return e;let t=s.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[s.injectedTextIndex]&&!C9(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!le(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t||4===t){let e=s.offsetInInputWithInjections+s.length,t=s.injectedTextIndex;for(;t+1<this.injectionOffsets.length&&this.injectionOffsets[t+1]===this.injectionOffsets[t];)e+=this.injectionOptions[t+1].content.length,t++;return e}if(0===t||3===t){let e=s.offsetInInputWithInjections,t=s.injectedTextIndex;for(;t-1>=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}(0,C6.vE)(t)}getInjectedText(e,t){let s=this.outputPositionToOffsetInInputWithInjections(e,t),x=this.getInjectedTextAtOffset(s);return x?{options:this.injectionOptions[x.injectedTextIndex]}:null}getInjectedTextAtOffset(e){let t=this.injectionOffsets,s=this.injectionOptions;if(null!==t){let x=0;for(let E=0;E<t.length;E++){let a=s[E].content.length,r=t[E]+x,i=t[E]+x+a;if(r>e)break;if(e<=i)return{injectedTextIndex:E,offsetInInputWithInjections:r,length:a};x+=a}}}}function C9(e){return null==e||e===of.RM.Right||e===of.RM.Both}function le(e){return null==e||e===of.RM.Left||e===of.RM.Both}class lt{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new cs.L(e+this.outputLineIndex,this.outputOffset+1)}}var ls=x(3539);let lx=r$("domLineBreaksComputer",{createHTML:e=>e});class lE{static create(e){return new lE(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,s,x,E){let a=[],r=[];return{addRequest:(e,t,s)=>{a.push(e),r.push(t)},finalize:()=>(function(e,t,s,x,E,a,r,i){function n(e){let s=i[e];if(!s)return null;{let x=ls.gk.applyInjectedText(t[e],s),E=s.map(e=>e.options);return new C8(s.map(e=>e.column-1),E,[x.length],[],0)}}if(-1===E){let e=[];for(let s=0,x=t.length;s<x;s++)e[s]=n(s);return e}let _=Math.round(E*s.typicalHalfwidthCharacterWidth),T=Math.round(x*(3===a?2:2===a?1:0)),S=Math.ceil(s.spaceWidth*T),R=document.createElement("div");re(R,s);let O=new oF.HT(1e4),A=[],N=[],o=[],I=[],L=[];for(let e=0;e<t.length;e++){let E=ls.gk.applyInjectedText(t[e],i[e]),r=0,n=0,T=_;if(0!==a){if(-1===(r=xg.LC(E)))r=0;else{for(let e=0;e<r;e++){let t=9===E.charCodeAt(e)?x-n%x:1;n+=t}let e=Math.ceil(s.spaceWidth*n);e+s.typicalFullwidthCharacterWidth>_?(r=0,n=0):T=_-e}}let R=E.substr(r),h=function(e,t,s,x,E,a){if(0!==a){let e=String(a);E.appendString('<div style="text-indent: -'),E.appendString(e),E.appendString("px; padding-left: "),E.appendString(e),E.appendString("px; box-sizing: border-box; width:")}else E.appendString('<div style="width:');E.appendString(String(x)),E.appendString('px;">');let r=e.length,i=t,n=0,_=[],T=[],S=0<r?e.charCodeAt(0):0;E.appendString("<span>");for(let t=0;t<r;t++){0!==t&&t%16384==0&&E.appendString("</span><span>"),_[t]=n,T[t]=i;let x=S;S=t+1<r?e.charCodeAt(t+1):0;let a=1,R=1;switch(x){case 9:R=a=s-i%s;for(let e=1;e<=a;e++)e<a?E.appendCharCode(160):E.appendASCIICharCode(32);break;case 32:32===S?E.appendCharCode(160):E.appendASCIICharCode(32);break;case 60:E.appendString("&lt;");break;case 62:E.appendString("&gt;");break;case 38:E.appendString("&amp;");break;case 0:E.appendString("&#00;");break;case 65279:case 8232:case 8233:case 133:E.appendCharCode(65533);break;default:xg.K7(x)&&R++,x<32?E.appendCharCode(9216+x):E.appendCharCode(x)}n+=a,i+=R}return E.appendString("</span>"),_[e.length]=n,T[e.length]=i,E.appendString("</div>"),[_,T]}(R,n,x,T,O,S);A[e]=r,N[e]=n,o[e]=R,I[e]=h[0],L[e]=h[1]}let h=O.build(),C=lx?.createHTML(h)??h;R.innerHTML=C,R.style.position="absolute",R.style.top="10000","keepAll"===r?(R.style.wordBreak="keep-all",R.style.overflowWrap="anywhere"):(R.style.wordBreak="inherit",R.style.overflowWrap="break-word"),e.document.body.appendChild(R);let l=document.createRange(),u=Array.prototype.slice.call(R.children,0),D=[];for(let e=0;e<t.length;e++){let t,s;let x=function(e,t,s,x){if(s.length<=1)return null;let E=Array.prototype.slice.call(t.children,0),a=[];try{(function e(t,s,x,E,a,r,i,n){if(E===r||(a=a||la(t,s,x[E],x[E+1]),i=i||la(t,s,x[r],x[r+1]),.1>=Math.abs(a[0].top-i[0].top)))return;if(E+1===r){n.push(r);return}let _=E+(r-E)/2|0,T=la(t,s,x[_],x[_+1]);e(t,s,x,E,a,_,T,n),e(t,s,x,_,T,r,i,n)})(e,E,x,0,null,s.length-1,null,a)}catch(e){return console.log(e),null}return 0===a.length?null:(a.push(s.length),a)}(l,u[e],o[e],I[e]);if(null===x){D[e]=n(e);continue}let E=A[e],a=N[e]+T,r=L[e],_=[];for(let e=0,t=x.length;e<t;e++)_[e]=r[x[e]];if(0!==E)for(let e=0,t=x.length;e<t;e++)x[e]+=E;let S=i[e];S?(t=S.map(e=>e.options),s=S.map(e=>e.column-1)):(t=null,s=null),D[e]=new C8(s,t,x,_,a)}return R.remove(),D})((0,ru.cW)(this.targetWindow.deref()),a,e,t,s,x,E,r)}}}function la(e,t,s,x){return e.setStart(t[s/16384|0].firstChild,s%16384),e.setEnd(t[x/16384|0].firstChild,x%16384),e.getClientRects()}class lr extends xf.JT{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new xf.b2),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,s){for(let x of(this._editor=e,this._instantiationService=s,t)){if(this._pending.has(x.id)){(0,xZ.dL)(Error(`Cannot have two contributions with the same id ${x.id}`));continue}this._pending.set(x.id,x)}this._instantiateSome(0),this._register(ar(E1(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(ar(E1(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(ar(E1(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){let e={};for(let[t,s]of this._instances)"function"==typeof s.saveViewState&&(e[t]=s.saveViewState());return e}restoreViewState(e){for(let[t,s]of this._instances)"function"==typeof s.restoreViewState&&s.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return ar(E1(this._editor?.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(e){if(!this._finishedInstantiation[e])for(let t of(this._finishedInstantiation[e]=!0,this._findPendingContributionsByInstantiation(e)))this._instantiateById(t.id)}_findPendingContributionsByInstantiation(e){let t=[];for(let[,s]of this._pending)s.instantiation===e&&t.push(s);return t}_instantiateById(e){let t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw Error("Cannot instantiate contributions before being initialized!");try{let e=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,e),"function"==typeof e.restoreViewState&&0!==t.instantiation&&console.warn(`Editor contribution '${t.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(e){(0,xZ.dL)(e)}}}}class li{constructor(e,t,s,x,E,a,r){this.id=e,this.label=t,this.alias=s,this.metadata=x,this._precondition=E,this._run=a,this._contextKeyService=r}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}var ln=x(74635),l_=x(64245);class lc{static create(e){return new lc(e.get(135),e.get(134))}constructor(e,t){this.classifier=new lT(e,t)}createLineBreaksComputer(e,t,s,x,E){let a=[],r=[],i=[];return{addRequest:(e,t,s)=>{a.push(e),r.push(t),i.push(s)},finalize:()=>{let n=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,_=[];for(let e=0,T=a.length;e<T;e++){let T=r[e],S=i[e];!S||S.injectionOptions||T?_[e]=function(e,t,s,x,E,a,r,i){let n,_;let T=ls.gk.applyInjectedText(t,s);if(s&&s.length>0?(n=s.map(e=>e.options),_=s.map(e=>e.column-1)):(n=null,_=null),-1===E)return n?new C8(_,n,[T.length],[],0):null;let S=T.length;if(S<=1)return n?new C8(_,n,[T.length],[],0):null;let R="keepAll"===i,O=lN(T,x,E,a,r),A=E-O,N=[],o=[],I=0,L=0,h=0,C=E,l=T.charCodeAt(0),u=e.get(l),D=lO(l,0,x,a),M=1;xg.ZG(l)&&(D+=1,l=T.charCodeAt(1),u=e.get(l),M++);for(let t=M;t<S;t++){let s,E;let r=t,i=T.charCodeAt(t);xg.ZG(i)?(t++,s=0,E=2):(s=e.get(i),E=lO(i,D,x,a)),lA(l,u,i,s,R)&&(L=r,h=D),(D+=E)>C&&((0===L||D-h>A)&&(L=r,h=D-E),N[I]=L,o[I]=h,I++,C=h+A,L=0),l=i,u=s}return 0!==I||s&&0!==s.length?(N[I]=S,o[I]=D,new C8(_,n,N,o,O)):null}(this.classifier,a[e],T,t,s,n,x,E):_[e]=function(e,t,s,x,E,a,r,i){if(-1===E)return null;let n=s.length;if(n<=1)return null;let _="keepAll"===i,T=t.breakOffsets,S=t.breakOffsetsVisibleColumn,R=lN(s,x,E,a,r),O=E-R,A=lS,N=lR,o=0,I=0,L=0,h=E,C=T.length,l=0;{let e=Math.abs(S[l]-h);for(;l+1<C;){let t=Math.abs(S[l+1]-h);if(t>=e)break;e=t,l++}}for(;l<C;){let t=l<0?0:T[l],E=l<0?0:S[l];I>t&&(t=I,E=L);let r=0,i=0,R=0,u=0;if(E<=h){let L=E,C=0===t?0:s.charCodeAt(t-1),l=0===t?0:e.get(C),D=!0;for(let E=t;E<n;E++){let t,n;let T=E,S=s.charCodeAt(E);if(xg.ZG(S)?(E++,t=0,n=2):(t=e.get(S),n=lO(S,L,x,a)),T>I&&lA(C,l,S,t,_)&&(r=T,i=L),(L+=n)>h){T>I?(R=T,u=L-n):(R=E+1,u=L),L-i>O&&(r=0),D=!1;break}C=S,l=t}if(D){o>0&&(A[o]=T[T.length-1],N[o]=S[T.length-1],o++);break}}if(0===r){let n=E,T=s.charCodeAt(t),S=e.get(T),A=!1;for(let x=t-1;x>=I;x--){let t,E;let N=x+1,o=s.charCodeAt(x);if(9===o){A=!0;break}if(xg.YK(o)?(x--,t=0,E=2):(t=e.get(o),E=xg.K7(o)?a:1),n<=h){if(0===R&&(R=N,u=n),n<=h-O)break;if(lA(o,t,T,S,_)){r=N,i=n;break}}n-=E,T=o,S=t}if(0!==r){let e=O-(u-i);if(e<=x){let t=s.charCodeAt(R);e-(xg.ZG(t)?2:lO(t,u,x,a))<0&&(r=0)}}if(A){l--;continue}}if(0===r&&(r=R,i=u),r<=I){let e=s.charCodeAt(I);xg.ZG(e)?(r=I+2,i=L+2):(r=I+1,i=L+lO(e,L,x,a))}for(I=r,A[o]=r,L=i,N[o]=i,o++,h=i+O;l<0||l<C&&S[l]<i;)l++;let D=Math.abs(S[l]-h);for(;l+1<C;){let e=Math.abs(S[l+1]-h);if(e>=D)break;D=e,l++}}return 0===o?null:(A.length=o,N.length=o,lS=t.breakOffsets,lR=t.breakOffsetsVisibleColumn,t.breakOffsets=A,t.breakOffsetsVisibleColumn=N,t.wrappedTextIndentLength=R,t)}(this.classifier,S,a[e],t,s,n,x,E)}return lS.length=0,lR.length=0,_}}}}class lT extends l_.N{constructor(e,t){super(0);for(let t=0;t<e.length;t++)this.set(e.charCodeAt(t),1);for(let e=0;e<t.length;e++)this.set(t.charCodeAt(e),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let lS=[],lR=[];function lO(e,t,s,x){return 9===e?s-t%s:xg.K7(e)||e<32?x:1}function lA(e,t,s,x,E){return 32!==s&&(2===t&&2!==x||1!==t&&1===x||!E&&3===t&&2!==x||!E&&3===x&&1!==t)}function lN(e,t,s,x,E){let a=0;if(0!==E){let r=xg.LC(e);if(-1!==r){for(let s=0;s<r;s++){let x=9===e.charCodeAt(s)?t-a%t:1;a+=x}let i=3===E?2:2===E?1:0;for(let e=0;e<i;e++){let e=t-a%t;a+=e}a+x>s&&(a=0)}}return a}var lo=x(51083);class lI{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Lk(new r3.e(1,1,1,1),0,0,new cs.L(1,1),0),new Lk(new r3.e(1,1,1,1),0,0,new cs.L(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new LX(this.modelState,this.viewState)}readSelectionFromMarkers(e){let t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?Ln.Y.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):Ln.Y.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,s){this._setState(e,t,s)}static _validatePositionWithCache(e,t,s,x){return t.equals(s)?x:e.normalizePosition(t,2)}static _validateViewState(e,t){let s=t.position,x=t.selectionStart.getStartPosition(),E=t.selectionStart.getEndPosition(),a=e.normalizePosition(s,2),r=this._validatePositionWithCache(e,x,s,a),i=this._validatePositionWithCache(e,E,x,r);return s.equals(a)&&x.equals(r)&&E.equals(i)?t:new Lk(r3.e.fromPositions(r,i),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+x.column-r.column,a,t.leftoverVisibleColumns+s.column-a.column)}_setState(e,t,s){if(s&&(s=lI._validateViewState(e.viewModel,s)),t){let s=e.model.validateRange(t.selectionStart),x=t.selectionStart.equalsRange(s)?t.selectionStartLeftoverVisibleColumns:0,E=e.model.validatePosition(t.position),a=t.position.equals(E)?t.leftoverVisibleColumns:0;t=new Lk(s,t.selectionStartKind,x,E,a)}else{if(!s)return;let x=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(s.selectionStart)),E=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(s.position));t=new Lk(x,s.selectionStartKind,s.selectionStartLeftoverVisibleColumns,E,s.leftoverVisibleColumns)}if(s){let x=e.coordinatesConverter.validateViewRange(s.selectionStart,t.selectionStart),E=e.coordinatesConverter.validateViewPosition(s.position,t.position);s=new Lk(x,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,E,t.leftoverVisibleColumns)}else{let x=e.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),E=e.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),a=new r3.e(x.lineNumber,x.column,E.lineNumber,E.column),r=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);s=new Lk(a,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,r,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=s,this._updateTrackedRange(e)}}class lL{constructor(e){this.context=e,this.cursors=[new lI(e)],this.lastAddedCursorIndex=0}dispose(){for(let e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(let e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(let e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(let e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return(0,lo.vm)(this.cursors,(0,sD.tT)(e=>e.viewState.position,cs.L.compare)).viewState.position}getBottomMostViewPosition(){return(0,lo.BS)(this.cursors,(0,sD.tT)(e=>e.viewState.position,cs.L.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(LX.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){null!==e&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){let t=this.cursors.length-1,s=e.length;if(t<s){let e=s-t;for(let t=0;t<e;t++)this._addSecondaryCursor()}else if(t>s){let e=t-s;for(let t=0;t<e;t++)this._removeSecondaryCursor(this.cursors.length-2)}for(let t=0;t<s;t++)this.cursors[t+1].setState(this.context,e[t].modelState,e[t].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new lI(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return 1===this.cursors.length||0===this.lastAddedCursorIndex?0:this.lastAddedCursorIndex}_removeSecondaryCursor(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(1===this.cursors.length)return;let e=this.cursors.slice(0),t=[];for(let s=0,x=e.length;s<x;s++)t.push({index:s,selection:e[s].modelState.selection});t.sort((0,sD.tT)(e=>e.selection,r3.e.compareRangesUsingStarts));for(let s=0;s<t.length-1;s++){let x=t[s],E=t[s+1],a=x.selection,r=E.selection;if(this.context.cursorConfig.multiCursorMergeOverlapping&&(r.isEmpty()||a.isEmpty()?r.getStartPosition().isBeforeOrEqual(a.getEndPosition()):r.getStartPosition().isBefore(a.getEndPosition()))){let a=x.index<E.index?s:s+1,r=x.index<E.index?s+1:s,i=t[r].index,n=t[a].index,_=t[r].selection,T=t[a].selection;if(!_.equalsSelection(T)){let s,x;let E=_.plusRange(T),r=_.selectionStartLineNumber===_.startLineNumber&&_.selectionStartColumn===_.startColumn,S=T.selectionStartLineNumber===T.startLineNumber&&T.selectionStartColumn===T.startColumn;i===this.lastAddedCursorIndex?(s=r,this.lastAddedCursorIndex=n):s=S,x=s?new Ln.Y(E.startLineNumber,E.startColumn,E.endLineNumber,E.endColumn):new Ln.Y(E.endLineNumber,E.endColumn,E.startLineNumber,E.startColumn),t[a].selection=x;let R=LX.fromModelSelection(x);e[n].setState(this.context,R.modelState,R.viewState)}for(let e of t)e.index>i&&e.index--;e.splice(i,1),t.splice(r,1),this._removeSecondaryCursor(i-1),s--}}}}class lh{constructor(e,t,s,x){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=s,this.cursorConfig=x}}class lC{constructor(){this.type=0}}class ll{constructor(){this.type=1}}class lu{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class lD{constructor(e,t,s){this.selections=e,this.modelSelections=t,this.reason=s,this.type=3}}class lM{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}class lP{constructor(){this.type=5}}class lU{constructor(e){this.type=6,this.isFocused=e}}class ld{constructor(){this.type=7}}class lY{constructor(){this.type=8}}class lp{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class lG{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class lB{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class lm{constructor(e,t,s,x,E,a,r){this.source=e,this.minimalReveal=t,this.range=s,this.selections=x,this.verticalType=E,this.revealHorizontal=a,this.scrollType=r,this.type=12}}class lf{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class lg{constructor(e){this.theme=e,this.type=14}}class lF{constructor(e){this.type=15,this.ranges=e}}class lH{constructor(){this.type=16}}class ly{constructor(){this.type=17}}class lV extends xf.JT{constructor(){super(),this._onEvent=this._register(new Ee.Q5),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,s=this._outgoingEvents.length;t<s;t++){let s=this._outgoingEvents[t].kind===e.kind?this._outgoingEvents[t].attemptToMerge(e):null;if(s){this._outgoingEvents[t]=s;return}}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;let e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,s=this._eventHandlers.length;t<s;t++)this._eventHandlers[t]===e&&console.warn("Detected duplicate listener in ViewEventDispatcher",e);this._eventHandlers.push(e)}removeViewEventHandler(e){for(let t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}}beginEmitViewEvents(){return this._collectorCnt++,1===this._collectorCnt&&(this._collector=new lX),this._collector}endEmitViewEvents(){if(this._collectorCnt--,0===this._collectorCnt){let e=this._collector.outgoingEvents,t=this._collector.viewEvents;for(let t of(this._collector=null,e))this._addOutgoingEvent(t);t.length>0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){let e=this._viewEventQueue;for(let t of(this._viewEventQueue=null,this._eventHandlers.slice(0)))t.handleEvents(e)}}}class lX{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class lb{constructor(e,t,s,x){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=s,this.contentHeight=x,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new lb(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class lv{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new lv(this.oldHasFocus,e.hasFocus)}}class lk{constructor(e,t,s,x,E,a,r,i){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=s,this._oldScrollTop=x,this.scrollWidth=E,this.scrollLeft=a,this.scrollHeight=r,this.scrollTop=i,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(e){return e.kind!==this.kind?null:new lk(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class lw{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class lW{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class lK{constructor(e,t,s,x,E,a,r){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=s,this.modelVersionId=x,this.source=E,this.reason=a,this.reachedMaxCursorCount=r}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let s=e.length;if(s!==t.length)return!1;for(let x=0;x<s;x++)if(!e[x].equalsSelection(t[x]))return!1;return!0}isNoOp(){return lK._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(e){return e.kind!==this.kind?null:new lK(this.oldSelections,e.selections,this.oldModelVersionId,e.modelVersionId,e.source,e.reason,this.reachedMaxCursorCount||e.reachedMaxCursorCount)}}class lQ{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class lJ{constructor(e){this.event=e,this.kind=7}isNoOp(){return!1}attemptToMerge(e){return null}}class lZ{constructor(e){this.event=e,this.kind=8}isNoOp(){return!1}attemptToMerge(e){return null}}class lz{constructor(e){this.event=e,this.kind=9}isNoOp(){return!1}attemptToMerge(e){return null}}class lq{constructor(e){this.event=e,this.kind=10}isNoOp(){return!1}attemptToMerge(e){return null}}class lj{constructor(e){this.event=e,this.kind=11}isNoOp(){return!1}attemptToMerge(e){return null}}class l${constructor(e){this.event=e,this.kind=12}isNoOp(){return!1}attemptToMerge(e){return null}}class l0 extends xf.JT{constructor(e,t,s,x){super(),this._model=e,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=t,this._coordinatesConverter=s,this.context=new lh(this._model,this._viewModel,this._coordinatesConverter,x),this._cursors=new lL(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=(0,xf.B9)(this._autoClosedActions),super.dispose()}updateConfiguration(e){this.context=new lh(this._model,this._viewModel,this._coordinatesConverter,e),this._cursors.updateContext(this.context)}onLineMappingChanged(e){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(e,"viewModel",0,this.getCursorStates())}setHasFocus(e){this._hasFocus=e}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let e=this._cursors.getSelections();for(let t=0;t<this._autoClosedActions.length;t++){let s=this._autoClosedActions[t];!s.isValid(e)&&(s.dispose(),this._autoClosedActions.splice(t,1),t--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(e,t,s,x){let E=!1,a=this.context.cursorConfig.multiCursorLimit;null!==x&&x.length>a&&(x=x.slice(0,a),E=!0);let r=l2.from(this._model,this);return this._cursors.setStates(x),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,s,r,E)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,s,x,E,a){let r=this._cursors.getViewPositions(),i=null,n=null;r.length>1?n=this._cursors.getViewSelections():i=r3.e.fromPositions(r[0],r[0]),e.emitViewEvent(new lm(t,s,i,n,x,E,a))}revealPrimary(e,t,s,x,E,a){let r=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new lm(t,s,null,r,x,E,a))}saveState(){let e=[],t=this._cursors.getSelections();for(let s=0,x=t.length;s<x;s++){let x=t[s];e.push({inSelectionMode:!x.isEmpty(),selectionStart:{lineNumber:x.selectionStartLineNumber,column:x.selectionStartColumn},position:{lineNumber:x.positionLineNumber,column:x.positionColumn}})}return e}restoreState(e,t){let s=[];for(let e=0,x=t.length;e<x;e++){let x=t[e],E=1,a=1;x.position&&x.position.lineNumber&&(E=x.position.lineNumber),x.position&&x.position.column&&(a=x.position.column);let r=E,i=a;x.selectionStart&&x.selectionStart.lineNumber&&(r=x.selectionStart.lineNumber),x.selectionStart&&x.selectionStart.column&&(i=x.selectionStart.column),s.push({selectionStartLineNumber:r,selectionStartColumn:i,positionLineNumber:E,positionColumn:a})}this.setStates(e,"restoreState",0,LX.fromModelSelections(s)),this.revealAll(e,"restoreState",!1,0,!0,1)}onModelContentChanged(e,t){if(t instanceof ls.D8){if(!this._isHandling){this._isHandling=!0;try{this.setStates(e,"modelChange",0,this.getCursorStates())}finally{this._isHandling=!1}}}else{let s=t.rawContentChangedEvent;if(this._knownModelVersionId=s.versionId,this._isHandling)return;let x=s.containsEvent(1);if(this._prevEditOperationType=0,x)this._cursors.dispose(),this._cursors=new lL(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,"model",1,null,!1);else if(this._hasFocus&&s.resultingSelection&&s.resultingSelection.length>0){let t=LX.fromModelSelections(s.resultingSelection);this.setStates(e,"modelChange",s.isUndoing?5:s.isRedoing?6:2,t)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{let t=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,LX.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;let e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),s=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:s.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,s)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,s,x){this.setStates(e,t,x,LX.fromModelSelections(s))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){let s=[],x=[];for(let E=0,a=e.length;E<a;E++)s.push({range:e[E],options:{description:"auto-closed-character",inlineClassName:"auto-closed-character",stickiness:1}}),x.push({range:t[E],options:{description:"auto-closed-enclosing",stickiness:1}});let E=this._model.deltaDecorations([],s),a=this._model.deltaDecorations([],x);this._autoClosedActions.push(new l1(this._model,E,a))}_executeEditOperation(e){if(!e)return;e.shouldPushStackElementBefore&&this._model.pushStackElement();let t=l3.executeCommands(this._model,this._cursors.getSelections(),e.commands);if(t){this._interpretCommandResult(t);let s=[],x=[];for(let t=0;t<e.commands.length;t++){let E=e.commands[t];E instanceof hN&&E.enclosingRange&&E.closeCharacterRange&&(s.push(E.closeCharacterRange),x.push(E.enclosingRange))}s.length>0&&this._pushAutoClosedAction(s,x),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,s,x,E){let a=l2.from(this._model,this);if(a.equals(x))return!1;let r=this._cursors.getSelections(),i=this._cursors.getViewSelections();if(e.emitViewEvent(new lD(i,r,s)),!x||x.cursorState.length!==a.cursorState.length||a.cursorState.some((e,t)=>!e.modelState.equals(x.cursorState[t].modelState))){let i=x?x.cursorState.map(e=>e.modelState.selection):null,n=x?x.modelVersionId:0;e.emitOutgoingEvent(new lK(i,r,n,a.modelVersionId,t||"keyboard",s,E))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;let t=[];for(let s=0,x=e.length;s<x;s++){let x=e[s];if(!x.text||x.text.indexOf("\n")>=0)return null;let E=x.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!E)return null;let a=E[1],r=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!r||1!==r.length)return null;let i=r[0].open,n=x.text.length-E[2].length-1,_=x.text.lastIndexOf(i,n-1);if(-1===_)return null;t.push([_,n])}return t}executeEdits(e,t,s,x){let E=null;"snippet"===t&&(E=this._findAutoClosingPairs(s)),E&&(s[0]._isTracked=!0);let a=[],r=[],i=this._model.pushEditOperations(this.getSelections(),s,e=>{if(E)for(let t=0,s=E.length;t<s;t++){let[s,x]=E[t],i=e[t],n=i.range.startLineNumber,_=i.range.startColumn-1+s,T=i.range.startColumn-1+x;a.push(new r3.e(n,T+1,n,T+2)),r.push(new r3.e(n,_+1,n,T+2))}let t=x(e);return t&&(this._isHandling=!0),t});i&&(this._isHandling=!1,this.setSelections(e,t,i,0)),a.length>0&&this._pushAutoClosedAction(a,r)}_executeEdit(e,t,s,x=0){if(this.context.cursorConfig.readOnly)return;let E=l2.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){(0,xZ.dL)(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,s,x,E,!1)&&this.revealAll(t,s,!1,0,!0,0)}getAutoClosedCharacters(){return l1.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new l5(this._model,this.getSelections())}endComposition(e,t){let s=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{"keyboard"===t&&this._executeEditOperation(hd.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,s,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,s){this._executeEdit(()=>{if("keyboard"===s){let e=t.length,s=0;for(;s<e;){let e=xg.vH(t,s),x=t.substr(s,e);this._executeEditOperation(hd.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),x)),s+=e}}else this._executeEditOperation(hd.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t))},e,s)}compositionType(e,t,s,x,E,a){if(0===t.length&&0===s&&0===x){if(0!==E){let t=this.getSelections().map(e=>{let t=e.getPosition();return new Ln.Y(t.lineNumber,t.column+E,t.lineNumber,t.column+E)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(hd.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,s,x,E))},e,a)}paste(e,t,s,x,E){this._executeEdit(()=>{this._executeEditOperation(hd.paste(this.context.cursorConfig,this._model,this.getSelections(),t,s,x||[]))},e,E,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(L$.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,s){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Lw(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,s)}executeCommands(e,t,s){this._executeEdit(()=>{this._executeEditOperation(new Lw(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,s)}}class l2{static from(e,t){return new l2(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,s=this.cursorState.length;t<s;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}}class l1{static getAllAutoClosedCharacters(e){let t=[];for(let s of e)t=t.concat(s.getAutoClosedCharactersRanges());return t}constructor(e,t,s){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=s}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let s=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);s&&e.push(s)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let s=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(s&&(t.push(s),s.startLineNumber!==s.endLineNumber))return!1}t.sort(r3.e.compareRangesUsingStarts),e.sort(r3.e.compareRangesUsingStarts);for(let s=0;s<e.length;s++)if(s>=t.length||!t[s].strictContainsRange(e[s]))return!1;return!0}}class l3{static executeCommands(e,t,s){let x={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},E=this._innerExecuteCommands(x,s);for(let e=0,t=x.trackedRanges.length;e<t;e++)x.model._setTrackedRange(x.trackedRanges[e],null,0);return E}static _innerExecuteCommands(e,t){if(this._arrayIsEmpty(t))return null;let s=this._getEditOperations(e,t);if(0===s.operations.length)return null;let x=s.operations,E=this._getLoserCursorMap(x);if(E.hasOwnProperty("0"))return console.warn("Ignoring commands"),null;let a=[];for(let e=0,t=x.length;e<t;e++)E.hasOwnProperty(x[e].identifier.major.toString())||a.push(x[e]);s.hadTrackedEditOperation&&a.length>0&&(a[0]._isTracked=!0);let r=e.model.pushEditOperations(e.selectionsBefore,a,s=>{let x=[];for(let t=0;t<e.selectionsBefore.length;t++)x[t]=[];for(let e of s)e.identifier&&x[e.identifier.major].push(e);let E=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let s=0;s<e.selectionsBefore.length;s++)x[s].length>0?(x[s].sort(E),a[s]=t[s].computeCursorState(e.model,{getInverseEditOperations:()=>x[s],getTrackedSelection:t=>{let s=parseInt(t,10),x=e.model._getTrackedRange(e.trackedRanges[s]);return 0===e.trackedRangesDirection[s]?new Ln.Y(x.startLineNumber,x.startColumn,x.endLineNumber,x.endColumn):new Ln.Y(x.endLineNumber,x.endColumn,x.startLineNumber,x.startColumn)}})):a[s]=e.selectionsBefore[s];return a});r||(r=e.selectionsBefore);let i=[];for(let e in E)E.hasOwnProperty(e)&&i.push(parseInt(e,10));for(let e of(i.sort((e,t)=>t-e),i))r.splice(e,1);return r}static _arrayIsEmpty(e){for(let t=0,s=e.length;t<s;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let s=[],x=!1;for(let E=0,a=t.length;E<a;E++){let a=t[E];if(a){let t=this._getEditOperationsFromCommand(e,E,a);s=s.concat(t.operations),x=x||t.hadTrackedEditOperation}}return{operations:s,hadTrackedEditOperation:x}}static _getEditOperationsFromCommand(e,t,s){let x=[],E=0,a=(e,a,r=!1)=>{r3.e.isEmpty(e)&&""===a||x.push({identifier:{major:t,minor:E++},range:e,text:a,forceMoveMarkers:r,isAutoWhitespaceEdit:s.insertsAutoWhitespace})},r=!1;try{s.getEditOperations(e.model,{addEditOperation:a,addTrackedEditOperation:(e,t,s)=>{r=!0,a(e,t,s)},trackSelection:(t,s)=>{let x;let E=Ln.Y.liftSelection(t);if(E.isEmpty()){if("boolean"==typeof s)x=s?2:3;else{let t=e.model.getLineMaxColumn(E.startLineNumber);x=E.startColumn===t?2:3}}else x=1;let a=e.trackedRanges.length,r=e.model._setTrackedRange(null,E,x);return e.trackedRanges[a]=r,e.trackedRangesDirection[a]=E.getDirection(),a.toString()}})}catch(e){return(0,xZ.dL)(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:x,hadTrackedEditOperation:r}}static _getLoserCursorMap(e){(e=e.slice(0)).sort((e,t)=>-r3.e.compareRangesUsingEnds(e.range,t.range));let t={};for(let s=1;s<e.length;s++){let x=e[s-1],E=e[s];if(r3.e.getStartPosition(x.range).isBefore(r3.e.getEndPosition(E.range))){let a;t[(a=x.identifier.major>E.identifier.major?x.identifier.major:E.identifier.major).toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<s&&s--,t--);s>0&&s--}}return t}}class l7{constructor(e,t,s){this.text=e,this.startSelection=t,this.endSelection=s}}class l5{static _capture(e,t){let s=[];for(let x of t){if(x.startLineNumber!==x.endLineNumber)return null;s.push(new l7(e.getLineContent(x.startLineNumber),x.startColumn-1,x.endColumn-1))}return s}constructor(e,t){this._original=l5._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;let s=l5._capture(e,t);if(!s||this._original.length!==s.length)return null;let x=[];for(let e=0,t=this._original.length;e<t;e++)x.push(l5._deduceOutcome(this._original[e],s[e]));return x}static _deduceOutcome(e,t){let s=Math.min(e.startSelection,t.startSelection,xg.Mh(e.text,t.text)),x=Math.min(e.text.length-e.endSelection,t.text.length-t.endSelection,xg.P1(e.text,t.text)),E=e.text.substring(s,e.text.length-x),a=t.text.substring(s,t.text.length-x);return new hY(E,e.startSelection-s,e.endSelection-s,a,t.startSelection-s,t.endSelection-s)}}class l4{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;let t=this._inserts,s=this._changes,x=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,s,x)}}class l6{constructor(e,t,s,x,E){this.id=e,this.afterLineNumber=t,this.ordinal=s,this.height=x,this.minWidth=E,this.prefixSum=0}}class l8{static{this.INSTANCE_COUNT=0}constructor(e,t,s,x){this._instanceId=xg.PJ(++l8.INSTANCE_COUNT),this._pendingChanges=new l4,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=e,this._lineHeight=t,this._paddingTop=s,this._paddingBottom=x}static findInsertionIndex(e,t,s){let x=0,E=e.length;for(;x<E;){let a=x+E>>>1;t===e[a].afterLineNumber?s<e[a].ordinal?E=a:x=a+1:t<e[a].afterLineNumber?E=a:x=a+1}return x}setLineHeight(e){this._checkPendingChanges(),this._lineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e){this._checkPendingChanges(),this._lineCount=e}changeWhitespace(e){let t=!1;try{let s={insertWhitespace:(e,s,x,E)=>{t=!0,e|=0,s|=0,x|=0,E|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new l6(a,e,s,x,E)),a},changeOneWhitespace:(e,s,x)=>{t=!0,s|=0,x|=0,this._pendingChanges.change({id:e,newAfterLineNumber:s,newHeight:x})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}};e(s)}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,s){if((e.length>0||s.length>0)&&(this._minWidth=-1),e.length+t.length+s.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of s){let t=this._findWhitespaceIndex(e.id);-1!==t&&this._removeWhitespace(t)}return}let x=new Set;for(let e of s)x.add(e.id);let E=new Map;for(let e of t)E.set(e.id,e);let a=e=>{let t=[];for(let s of e)if(!x.has(s.id)){if(E.has(s.id)){let e=E.get(s.id);s.afterLineNumber=e.newAfterLineNumber,s.height=e.newHeight}t.push(s)}return t},r=a(this._arr).concat(a(e));r.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){let t=l8.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){let t=this._arr;for(let s=0,x=t.length;s<x;s++)if(t[s].id===e)return s;return -1}_changeOneWhitespace(e,t,s){let x=this._findWhitespaceIndex(e);if(-1!==x&&(this._arr[x].height!==s&&(this._arr[x].height=s,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,x-1)),this._arr[x].afterLineNumber!==t)){let e=this._arr[x];this._removeWhitespace(x),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount-=t-e+1;for(let s=0,x=this._arr.length;s<x;s++){let x=this._arr[s].afterLineNumber;e<=x&&x<=t?this._arr[s].afterLineNumber=e-1:x>t&&(this._arr[s].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let s=0,x=this._arr.length;s<x;s++){let x=this._arr[s].afterLineNumber;e<=x&&(this._arr[s].afterLineNumber+=t-e+1)}}getWhitespacesTotalHeight(){return(this._checkPendingChanges(),0===this._arr.length)?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){this._checkPendingChanges(),e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);0===t&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let s=t;s<=e;s++)this._arr[s].prefixSum=this._arr[s-1].prefixSum+this._arr[s].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._checkPendingChanges(),this._lineHeight*this._lineCount+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){this._checkPendingChanges(),e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return -1===t?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,s=0,x=t.length-1;for(;s<=x;){let E=(x-s|0)/2|0,a=s+E|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;s=a+1|0}else x=a-1|0}return -1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return this._checkPendingChanges(),e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){return this._checkPendingChanges(),((e|=0)>1?this._lineHeight*(e-1):0)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){return this._checkPendingChanges(),e|=0,this._lineHeight*e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let e=0;for(let t=0,s=this._arr.length;t<s;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return this._checkPendingChanges(),e>this.getLinesTotalHeight()}isInTopPadding(e){return 0!==this._paddingTop&&(this._checkPendingChanges(),e<this._paddingTop)}isInBottomPadding(e){return 0!==this._paddingBottom&&(this._checkPendingChanges(),e>=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;let t=0|this._lineCount,s=this._lineHeight,x=1,E=t;for(;x<E;){let t=(x+E)/2|0,a=0|this.getVerticalOffsetForLineNumber(t);if(e>=a+s)x=t+1;else{if(e>=a)return t;E=t}}return x>t?t:x}getLinesViewportData(e,t){let s,x;this._checkPendingChanges(),e|=0,t|=0;let E=this._lineHeight,a=0|this.getLineNumberAtOrAfterVerticalOffset(e),r=0|this.getVerticalOffsetForLineNumber(a),i=0|this._lineCount,n=0|this.getFirstWhitespaceIndexAfterLineNumber(a),_=0|this.getWhitespacesCount();-1===n?(n=_,x=i+1,s=0):(x=0|this.getAfterLineNumberForWhitespaceIndex(n),s=0|this.getHeightForWhitespaceIndex(n));let T=r,S=T,R=0;r>=5e5&&(S-=R=Math.floor((R=5e5*Math.floor(r/5e5))/E)*E);let O=[],A=e+(t-e)/2,N=-1;for(let e=a;e<=i;e++){if(-1===N){let t=T,s=T+E;(t<=A&&A<s||t>A)&&(N=e)}for(T+=E,O[e-a]=S,S+=E;x===e;)S+=s,T+=s,++n>=_?x=i+1:(x=0|this.getAfterLineNumberForWhitespaceIndex(n),s=0|this.getHeightForWhitespaceIndex(n));if(T>=t){i=e;break}}-1===N&&(N=i);let o=0|this.getVerticalOffsetForLineNumber(i),I=a,L=i;return I<L&&r<e&&I++,I<L&&o+E>t&&L--,{bigNumbersDelta:R,startLineNumber:a,endLineNumber:i,relativeVerticalOffset:O,centeredLineNumber:N,completelyVisibleStartLineNumber:I,completelyVisibleEndLineNumber:L,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e);return(t>=1?this._lineHeight*t:0)+(e>0?this.getWhitespacesAccumulatedHeight(e-1):0)+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,s=this.getWhitespacesCount()-1;if(s<0)return -1;let x=this.getVerticalOffsetForWhitespaceIndex(s),E=this.getHeightForWhitespaceIndex(s);if(e>=x+E)return -1;for(;t<s;){let x=Math.floor((t+s)/2),E=this.getVerticalOffsetForWhitespaceIndex(x),a=this.getHeightForWhitespaceIndex(x);if(e>=E+a)t=x+1;else{if(e>=E)return x;s=x}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let s=this.getVerticalOffsetForWhitespaceIndex(t);if(s>e)return null;let x=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:s,height:x}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;let s=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),x=this.getWhitespacesCount()-1;if(s<0)return[];let E=[];for(let e=s;e<=x;e++){let s=this.getVerticalOffsetForWhitespaceIndex(e),x=this.getHeightForWhitespaceIndex(e);if(s>=t)break;E.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:s,height:x})}return E}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}}class l9{constructor(e,t,s,x){(e|=0)<0&&(e=0),(t|=0)<0&&(t=0),(s|=0)<0&&(s=0),(x|=0)<0&&(x=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=s,this.contentHeight=x,this.scrollHeight=Math.max(s,x)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class ue extends xf.JT{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new Ee.Q5),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new l9(0,0,0,0),this._scrollable=this._register(new i8({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let s=t.contentWidth!==e.contentWidth,x=t.contentHeight!==e.contentHeight;(s||x)&&this._onDidContentSizeChange.fire(new lb(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class ut extends xf.JT{constructor(e,t,s){super(),this._configuration=e;let x=this._configuration.options,E=x.get(146),a=x.get(84);this._linesLayout=new l8(t,x.get(67),a.top,a.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new ue(0,s)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new l9(E.contentWidth,0,E.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(115)?125:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){let e=t.get(84);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(146)){let e=t.get(146),s=e.contentWidth,x=e.height,E=this._scrollable.getScrollDimensions(),a=E.contentWidth;this._scrollable.setScrollDimensions(new l9(s,E.contentWidth,x,this._getContentHeight(s,x,a)))}else this._updateHeight();e.hasChanged(115)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let s=this._configuration.options.get(104);return 2===s.horizontal||e>=t?0:s.horizontalScrollbarSize}_getContentHeight(e,t,s){let x=this._configuration.options,E=this._linesLayout.getLinesTotalHeight();return x.get(106)?E+=Math.max(0,t-x.get(67)-x.get(84).bottom):x.get(104).ignoreHorizontalScrollbarInContentHeight||(E+=this._getHorizontalScrollbarHeight(e,s)),E}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,s=e.height,x=e.contentWidth;this._scrollable.setScrollDimensions(new l9(t,e.contentWidth,s,this._getContentHeight(t,s,x)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new oj(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new oj(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,s=e.get(147),x=e.get(50),E=e.get(146);if(s.isViewportWrapping){let s=e.get(73);return t>E.contentWidth+x.typicalHalfwidthCharacterWidth&&s.enabled&&"right"===s.side?t+E.verticalScrollbarWidth:t}{let s=e.get(105)*x.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+s+E.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new l9(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,s=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(s),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.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(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){1===t?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let s=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:s.scrollLeft+e,scrollTop:s.scrollTop+t})}}class us{constructor(e,t,s,x,E){this.editorId=e,this.model=t,this.configuration=s,this._linesCollection=x,this._coordinatesConverter=E,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(e){let t=e.id,s=this._decorationsCache[t];if(!s){let x;let E=e.range,a=e.options;if(a.isWholeLine){let e=this._coordinatesConverter.convertModelPositionToViewPosition(new cs.L(E.startLineNumber,1),0,!1,!0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new cs.L(E.endLineNumber,this.model.getLineMaxColumn(E.endLineNumber)),1);x=new r3.e(e.lineNumber,e.column,t.lineNumber,t.column)}else x=this._coordinatesConverter.convertModelRangeToViewRange(E,1);s=new o7(x,a),this._decorationsCache[t]=s}return s}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=null!==this._cachedModelDecorationsResolver;return(t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange))||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,s=!1){let x=new r3.e(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(x,t,s).inlineDecorations[0]}_getDecorationsInRange(e,t,s){let x=this._linesCollection.getDecorationsInRange(e,this.editorId,xn(this.configuration.options),t,s),E=e.startLineNumber,a=e.endLineNumber,r=[],i=0,n=[];for(let e=E;e<=a;e++)n[e-E]=[];for(let e=0,t=x.length;e<t;e++){var _,T;let t=x[e],s=t.options;if(_=this.model,(T=t).options.hideInCommentTokens&&ux(_,T.range,e=>1===e)||T.options.hideInStringTokens&&ux(_,T.range,e=>2===e))continue;let S=this._getOrCreateViewModelDecoration(t),R=S.range;if(r[i++]=S,s.inlineClassName){let e=new o1(R,s.inlineClassName,s.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(E,R.startLineNumber),x=Math.min(a,R.endLineNumber);for(let s=t;s<=x;s++)n[s-E].push(e)}if(s.beforeContentClassName&&E<=R.startLineNumber&&R.startLineNumber<=a){let e=new o1(new r3.e(R.startLineNumber,R.startColumn,R.startLineNumber,R.startColumn),s.beforeContentClassName,1);n[R.startLineNumber-E].push(e)}if(s.afterContentClassName&&E<=R.endLineNumber&&R.endLineNumber<=a){let e=new o1(new r3.e(R.endLineNumber,R.endColumn,R.endLineNumber,R.endColumn),s.afterContentClassName,2);n[R.endLineNumber-E].push(e)}}return{decorations:r,inlineDecorations:n}}}function ux(e,t,s){for(let x=t.startLineNumber;x<=t.endLineNumber;x++){let E=e.tokenization.getLineTokens(x),a=x===t.startLineNumber,r=x===t.endLineNumber,i=a?E.findTokenIndexAtOffset(t.startColumn-1):0;for(;i<E.getCount()&&!(r&&E.getStartOffset(i)>t.endColumn-1);){if(!s(E.getStandardTokenType(i)))return!1;i++}}return!0}function uE(e,t){return null!==e?new ua(e,t):t?ur.INSTANCE:ui.INSTANCE}class ua{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,s){let x;this._assertVisible();let E=s>0?this._projectionData.breakOffsets[s-1]:0,a=this._projectionData.breakOffsets[s];if(null!==this._projectionData.injectionOffsets){let s=this._projectionData.injectionOffsets.map((e,t)=>new ls.gk(0,0,e+1,this._projectionData.injectionOptions[t],0));x=ls.gk.applyInjectedText(e.getLineContent(t),s).substring(E,a)}else x=e.getValueInRange({startLineNumber:t,startColumn:E+1,endLineNumber:t,endColumn:a+1});return s>0&&(x=u_(this._projectionData.wrappedTextIndentLength)+x),x}getViewLineLength(e,t,s){return this._assertVisible(),this._projectionData.getLineLength(s)}getViewLineMinColumn(e,t,s){return this._assertVisible(),this._projectionData.getMinOutputOffset(s)+1}getViewLineMaxColumn(e,t,s){return this._assertVisible(),this._projectionData.getMaxOutputOffset(s)+1}getViewLineData(e,t,s){let x=[];return this.getViewLinesData(e,t,s,1,0,[!0],x),x[0]}getViewLinesData(e,t,s,x,E,a,r){let i;this._assertVisible();let n=this._projectionData,_=n.injectionOffsets,T=n.injectionOptions,S=null;if(_){S=[];let e=0,t=0;for(let s=0;s<n.getOutputLineCount();s++){let x=[];S[s]=x;let E=s>0?n.breakOffsets[s-1]:0,a=n.breakOffsets[s];for(;t<_.length;){let r=T[t].content.length,i=_[t]+e,S=i+r;if(i>a)break;if(E<S){let e=T[t];if(e.inlineClassName){let t=s>0?n.wrappedTextIndentLength:0,r=t+Math.max(i-E,0),_=t+Math.min(S-E,a-E);r!==_&&x.push(new o3(r,_,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(S<=a)e+=r,t++;else break}}}i=_?e.tokenization.getLineTokens(t).withInserted(_.map((e,t)=>({offset:e,text:T[t].content,tokenMetadata:_P.A.defaultTokenMetadata}))):e.tokenization.getLineTokens(t);for(let e=s;e<s+x;e++){let t=E+e-s;if(!a[t]){r[t]=null;continue}r[t]=this._getViewLineData(i,S?S[e]:null,e)}}_getViewLineData(e,t,s){this._assertVisible();let x=this._projectionData,E=s>0?x.wrappedTextIndentLength:0,a=s>0?x.breakOffsets[s-1]:0,r=x.breakOffsets[s],i=e.sliceAndInflate(a,r,E),n=i.getLineContent();s>0&&(n=u_(x.wrappedTextIndentLength)+n);let _=this._projectionData.getMinOutputOffset(s)+1,T=n.length+1;return new o0(n,s+1<this.getViewLineCount(),_,T,0===s?0:x.breakOffsetsVisibleColumn[s-1],i,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,s=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,s).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,s){let x=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,s).toPosition(x)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error("Not supported")}}class ur{static{this.INSTANCE=new ur}constructor(){}isVisible(){return!0}setVisible(e){return e?this:ui.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,s){return e.getLineContent(t)}getViewLineLength(e,t,s){return e.getLineLength(t)}getViewLineMinColumn(e,t,s){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,s){return e.getLineMaxColumn(t)}getViewLineData(e,t,s){let x=e.tokenization.getLineTokens(t),E=x.getLineContent();return new o0(E,!1,1,E.length+1,0,x.inflate(),null)}getViewLinesData(e,t,s,x,E,a,r){if(!a[E]){r[E]=null;return}r[E]=this.getViewLineData(e,t,0)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new cs.L(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,s){return t}getInjectedTextAt(e,t){return null}}class ui{static{this.INSTANCE=new ui}constructor(){}isVisible(){return!1}setVisible(e){return e?ur.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,s){throw Error("Not supported")}getViewLineLength(e,t,s){throw Error("Not supported")}getViewLineMinColumn(e,t,s){throw Error("Not supported")}getViewLineMaxColumn(e,t,s){throw Error("Not supported")}getViewLineData(e,t,s){throw Error("Not supported")}getViewLinesData(e,t,s,x,E,a,r){throw Error("Not supported")}getModelColumnOfViewPosition(e,t){throw Error("Not supported")}getViewPositionOfModelPosition(e,t){throw Error("Not supported")}getViewLineNumberOfModelPosition(e,t){throw Error("Not supported")}normalizePosition(e,t,s){throw Error("Not supported")}getInjectedTextAt(e,t){throw Error("Not supported")}}let un=[""];function u_(e){if(e>=un.length)for(let t=1;t<=e;t++)un[t]=Array(t+1).join(" ");return un[e]}var uc=x(52610);class uT{constructor(e,t,s,x,E,a,r,i,n,_){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=s,this._monospaceLineBreaksComputerFactory=x,this.fontInfo=E,this.tabSize=a,this.wrappingStrategy=r,this.wrappingColumn=i,this.wrappingIndent=n,this.wordBreak=_,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new uO(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let s=this.model.getLinesContent(),x=this.model.getInjectedTextDecorations(this._editorId),E=s.length,a=this.createLineBreaksComputer(),r=new sD.H9(ls.gk.fromDecorations(x));for(let e=0;e<E;e++){let x=r.takeWhile(t=>t.lineNumber===e+1);a.addRequest(s[e],x,t?t[e]:null)}let i=a.finalize(),n=[],_=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(r3.e.compareRangesUsingStarts),T=1,S=0,R=-1,O=0<_.length?S+1:E+2;for(let e=0;e<E;e++){let t=e+1;t===O&&(T=_[++R].startLineNumber,S=_[R].endLineNumber,O=R+1<_.length?S+1:E+2);let s=t>=T&&t<=S,x=uE(i[e],!s);n[e]=x.getViewLineCount(),this.modelLineProjections[e]=x}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new uc.Ck(n)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=function(e){if(0===e.length)return[];let t=e.slice();t.sort(r3.e.compareRangesUsingStarts);let s=[],x=t[0].startLineNumber,E=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>E+1?(s.push(new r3.e(x,1,E,1)),x=a.startLineNumber,E=a.endLineNumber):a.endLineNumber>E&&(E=a.endLineNumber)}return s.push(new r3.e(x,1,E,1)),s}(e.map(e=>this.model.validateRange(e))),s=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(r3.e.compareRangesUsingStarts);if(t.length===s.length){let e=!1;for(let x=0;x<t.length;x++)if(!t[x].equalsRange(s[x])){e=!0;break}if(!e)return!1}let x=t.map(e=>({range:e,options:ln.qx.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,x);let E=1,a=0,r=-1,i=0<t.length?a+1:this.modelLineProjections.length+2,n=!1;for(let e=0;e<this.modelLineProjections.length;e++){let s=e+1;s===i&&(E=t[++r].startLineNumber,a=t[r].endLineNumber,i=r+1<t.length?a+1:this.modelLineProjections.length+2);let x=!1;if(s>=E&&s<=a?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),x=!0):(n=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),x=!0)),x){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return n||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return!(e<1)&&!(e>this.modelLineProjections.length)&&this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,s,x,E){let a=this.fontInfo.equals(e),r=this.wrappingStrategy===t,i=this.wrappingColumn===s,n=this.wrappingIndent===x,_=this.wordBreak===E;if(a&&r&&i&&n&&_)return!1;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=s,this.wrappingIndent=x,this.wordBreak=E;let T=null;if(a&&r&&!i&&n&&_){T=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)T[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,T),!0}createLineBreaksComputer(){return("advanced"===this.wrappingStrategy?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,s){if(!e||e<=this._validModelVersionId)return null;let x=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,E=this.projectedModelLineLineCounts.getPrefixSum(s);return this.modelLineProjections.splice(t-1,s-t+1),this.projectedModelLineLineCounts.removeValues(t-1,s-t+1),new lG(x,E)}onModelLinesInserted(e,t,s,x){if(!e||e<=this._validModelVersionId)return null;let E=t>2&&!this.modelLineProjections[t-2].isVisible(),a=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,r=0,i=[],n=[];for(let e=0,t=x.length;e<t;e++){let t=uE(x[e],!E);i.push(t);let s=t.getViewLineCount();r+=s,n[e]=s}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(i).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,n),new lB(a,a+r-1)}onModelLineChanged(e,t,s){if(null!==e&&e<=this._validModelVersionId)return[!1,null,null,null];let x=t-1,E=this.modelLineProjections[x].getViewLineCount(),a=uE(s,this.modelLineProjections[x].isVisible());this.modelLineProjections[x]=a;let r=this.modelLineProjections[x].getViewLineCount(),i=!1,n=0,_=-1,T=0,S=-1,R=0,O=-1;return E>r?(O=(R=(_=(n=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1)+r-1)+1)+(E-r)-1,i=!0):E<r?(S=(T=(_=(n=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1)+E-1)+1)+(r-E)-1,i=!0):_=(n=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1)+r-1,this.projectedModelLineLineCounts.setValue(x,r),[i,n<=_?new lp(n,_-n+1):null,T<=S?new lB(T,S):null,R<=O?new lG(R,O):null]}acceptVersionId(e){this._validModelVersionId=e,1!==this.modelLineProjections.length||this.modelLineProjections[0].isVisible()||this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:0|e}getActiveIndentGuide(e,t,s){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),s=this._toValidViewLineNumber(s);let x=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),E=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(s,this.getViewLineMinColumn(s)),r=this.model.guides.getActiveIndentGuide(x.lineNumber,E.lineNumber,a.lineNumber),i=this.convertModelPositionToViewPosition(r.startLineNumber,1),n=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:i.lineNumber,endLineNumber:n.lineNumber,indent:r.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1);return new uS(t.index+1,t.remainder)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],s=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),x=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,s);return new cs.L(e.modelLineNumber,x)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],s=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),x=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,s);return new cs.L(e.modelLineNumber,x)}getViewLineInfosGroupedByModelRanges(e,t){let s=this.getViewLineInfo(e),x=this.getViewLineInfo(t),E=[],a=this.getModelStartPositionOfViewLine(s),r=[];for(let e=s.modelLineNumber;e<=x.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let E=e===s.modelLineNumber?s.modelLineWrappedLineIdx:0,a=e===x.modelLineNumber?x.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=E;t<a;t++)r.push(new uS(e,t))}if(!t.isVisible()&&a){let t=new cs.L(e-1,this.model.getLineMaxColumn(e-1)+1),s=r3.e.fromPositions(a,t);E.push(new uR(s,r)),r=[],a=null}else t.isVisible()&&!a&&(a=new cs.L(e,1))}if(a){let e=r3.e.fromPositions(a,this.getModelEndPositionOfViewLine(x));E.push(new uR(e,r))}return E}getViewLinesBracketGuides(e,t,s,x){let E=s?this.convertViewPositionToModelPosition(s.lineNumber,s.column):null,a=[];for(let s of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=s.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,s.modelRange.endLineNumber,E,x);for(let x of s.viewLines){let s=t[x.modelLineNumber-e].map(e=>{if(-1!==e.forWrappedLinesAfterColumn&&this.modelLineProjections[x.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=x.modelLineWrappedLineIdx||-1!==e.forWrappedLinesBeforeOrAtColumn&&this.modelLineProjections[x.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<x.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(-1!==e.column){let s=this.modelLineProjections[x.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(s.lineNumber===x.modelLineWrappedLineIdx)t=s.column;else if(s.lineNumber<x.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(x);else if(s.lineNumber>x.modelLineWrappedLineIdx)return}let s=this.convertModelPositionToViewPosition(x.modelLineNumber,e.horizontalLine.endColumn),E=this.modelLineProjections[x.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return E.lineNumber===x.modelLineWrappedLineIdx?new Cx.UO(e.visibleColumn,t,e.className,new Cx.vW(e.horizontalLine.top,s.column),-1,-1):E.lineNumber<x.modelLineWrappedLineIdx?void 0:-1===e.visibleColumn?new Cx.UO(e.visibleColumn,t,e.className,new Cx.vW(e.horizontalLine.top,this.getMaxColumnOfViewLine(x)),-1,-1):void 0});a.push(s.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let s=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),x=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),E=[],a=[],r=[],i=s.lineNumber-1,n=x.lineNumber-1,_=null;for(let e=i;e<=n;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let x=t.getViewLineNumberOfModelPosition(0,e===i?s.column:1),E=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),n=E-x+1,T=0;n>1&&1===t.getViewLineMinColumn(this.model,e+1,E)&&(T=0===x?1:2),a.push(n),r.push(T),null===_&&(_=new cs.L(e+1,0))}else null!==_&&(E=E.concat(this.model.guides.getLinesIndentGuides(_.lineNumber,e)),_=null)}null!==_&&(E=E.concat(this.model.guides.getLinesIndentGuides(_.lineNumber,x.lineNumber)),_=null);let T=t-e+1,S=Array(T),R=0;for(let e=0,t=E.length;e<t;e++){let t,s=E[e],x=Math.min(T-R,a[e]),i=r[e];t=2===i?0:1===i?1:x;for(let e=0;e<x;e++)e===t&&(s=0),S[R++]=s}return S}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLinesData(e,t,s){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let x=this.projectedModelLineLineCounts.getIndexOf(e-1),E=e,a=x.index,r=x.remainder,i=[];for(let x=a,n=this.model.getLineCount();x<n;x++){let n=this.modelLineProjections[x];if(!n.isVisible())continue;let _=x===a?r:0,T=n.getViewLineCount()-_,S=!1;if(E+T>t&&(S=!0,T=t-E+1),n.getViewLinesData(this.model,x+1,_,T,E-e,s,i),E+=T,S)break}return i}validateViewPosition(e,t,s){e=this._toValidViewLineNumber(e);let x=this.projectedModelLineLineCounts.getIndexOf(e-1),E=x.index,a=x.remainder,r=this.modelLineProjections[E],i=r.getViewLineMinColumn(this.model,E+1,a),n=r.getViewLineMaxColumn(this.model,E+1,a);t<i&&(t=i),t>n&&(t=n);let _=r.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new cs.L(E+1,_)).equals(s)?new cs.L(e,t):this.convertModelPositionToViewPosition(s.lineNumber,s.column)}validateViewRange(e,t){let s=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),x=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new r3.e(s.lineNumber,s.column,x.lineNumber,x.column)}convertViewPositionToModelPosition(e,t){let s=this.getViewLineInfo(e),x=this.modelLineProjections[s.modelLineNumber-1].getModelColumnOfViewPosition(s.modelLineWrappedLineIdx,t);return this.model.validatePosition(new cs.L(s.modelLineNumber,x))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new r3.e(t.lineNumber,t.column,s.lineNumber,s.column)}convertModelPositionToViewPosition(e,t,s=2,x=!1,E=!1){let a=this.model.validatePosition(new cs.L(e,t)),r=a.lineNumber,i=a.column,n=r-1,_=!1;if(E)for(;n<this.modelLineProjections.length&&!this.modelLineProjections[n].isVisible();)n++,_=!0;else for(;n>0&&!this.modelLineProjections[n].isVisible();)n--,_=!0;if(0===n&&!this.modelLineProjections[n].isVisible())return new cs.L(x?0:1,1);let T=1+this.projectedModelLineLineCounts.getPrefixSum(n);return _?E?this.modelLineProjections[n].getViewPositionOfModelPosition(T,1,s):this.modelLineProjections[n].getViewPositionOfModelPosition(T,this.model.getLineMaxColumn(n+1),s):this.modelLineProjections[r-1].getViewPositionOfModelPosition(T,i,s)}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let s=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return r3.e.fromPositions(s)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),s=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new r3.e(t.lineNumber,t.column,s.lineNumber,s.column)}}getViewLineNumberOfModelPosition(e,t){let s=e-1;if(this.modelLineProjections[s].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(s);return this.modelLineProjections[s].getViewLineNumberOfModelPosition(e,t)}for(;s>0&&!this.modelLineProjections[s].isVisible();)s--;if(0===s&&!this.modelLineProjections[s].isVisible())return 1;let x=1+this.projectedModelLineLineCounts.getPrefixSum(s);return this.modelLineProjections[s].getViewLineNumberOfModelPosition(x,this.model.getLineMaxColumn(s+1))}getDecorationsInRange(e,t,s,x,E){let a=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),r=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(r.lineNumber-a.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new r3.e(a.lineNumber,1,r.lineNumber,r.column),t,s,x,E);let i=[],n=a.lineNumber-1,_=r.lineNumber-1,T=null;for(let e=n;e<=_;e++)if(this.modelLineProjections[e].isVisible())null===T&&(T=new cs.L(e+1,e===n?a.column:1));else if(null!==T){let E=this.model.getLineMaxColumn(e);i=i.concat(this.model.getDecorationsInRange(new r3.e(T.lineNumber,T.column,e,E),t,s,x)),T=null}null!==T&&(i=i.concat(this.model.getDecorationsInRange(new r3.e(T.lineNumber,T.column,r.lineNumber,r.column),t,s,x)),T=null),i.sort((e,t)=>{let s=r3.e.compareRangesUsingStarts(e.range,t.range);return 0===s?e.id<t.id?-1:e.id>t.id?1:0:s});let S=[],R=0,O=null;for(let e of i){let t=e.id;O!==t&&(O=t,S[R++]=e)}return S}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let s=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[s.modelLineNumber-1].normalizePosition(s.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return 0===t.modelLineWrappedLineIdx?this.model.getLineIndentColumn(t.modelLineNumber):0}}class uS{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class uR{constructor(e,t){this.modelRange=e,this.viewLines=t}}class uO{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,s,x){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,s,x)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class uA{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new uN(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,s,x){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,s,x)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,s){return new lG(t,s)}onModelLinesInserted(e,t,s,x){return new lB(t,s)}onModelLineChanged(e,t,s){return[!1,new lp(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,s){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,s){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let s=t-e+1,x=Array(s);for(let e=0;e<s;e++)x[e]=0;return x}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),s=t.getLineContent();return new o0(s,!1,1,s.length+1,0,t.inflate(),null)}getViewLinesData(e,t,s){let x=this.model.getLineCount();e=Math.min(Math.max(1,e),x),t=Math.min(Math.max(1,t),x);let E=[];for(let x=e;x<=t;x++){let t=x-e;E[t]=s[t]?this.getViewLineData(x):null}return E}getDecorationsInRange(e,t,s,x,E){return this.model.getDecorationsInRange(e,t,s,x,E)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}}class uN{constructor(e){this._lines=e}_validPosition(e){return this._lines.model.validatePosition(e)}_validRange(e){return this._lines.model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._lines.model.getLineCount();return!(e.lineNumber<1)&&!(e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}let uo=of.U.Right;class uI{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*uo/8))}reset(e){let t=Math.ceil((e+1)*uo/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,s){s&&(this.persist|=1<<e-1);for(let s=t.startLineNumber;s<=t.endLineNumber;s++){let t=uo*s+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(s))}}getLanesAtLine(e){let t=[],s=uo*e;for(let e=0;e<uo;e++)(this.persist&1<<e||this.lanes[s>>>3]&1<<s%8)&&t.push(e+1),s++;return t.length?t:[of.U.Center]}countAtLine(e){let t=uo*e,s=0;for(let e=0;e<uo;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&s++,t++;return s}}class uL extends xf.JT{constructor(e,t,s,x,E,a,r,i,n,_){if(super(),this.languageConfigurationService=r,this._themeService=i,this._attachedView=n,this._transactionalTarget=_,this.hiddenAreasModel=new ul,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=s,this._eventDispatcher=new lV,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new x9.pY(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=uh.create(this.model),this.glyphLanes=new uI(0),this.model.isTooLargeForTokenization())this._lines=new uA(this.model);else{let e=this._configuration.options,t=e.get(50),s=e.get(140),a=e.get(147),r=e.get(139),i=e.get(130);this._lines=new uT(this._editorId,this.model,x,E,t,this.model.getOptions().tabSize,s,a.wrappingColumn,r,i)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new l0(s,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new ut(this._configuration,this.getLineCount(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new lf(e)),this._eventDispatcher.emitOutgoingEvent(new lk(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new us(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(CO.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new lH)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new lg(e))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new r3.e(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new lU(e)),this._eventDispatcher.emitOutgoingEvent(new lv(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new lC)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new ll)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new cs.L(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new uD(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new uD(null,0)}_onConfigurationChanged(e,t){let s=this._captureStableViewport(),x=this._configuration.options,E=x.get(50),a=x.get(140),r=x.get(147),i=x.get(139),n=x.get(130);this._lines.setWrappingSettings(E,a,r.wrappingColumn,i,n)&&(e.emitViewEvent(new lP),e.emitViewEvent(new lY),e.emitViewEvent(new lM(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(92)&&(this._decorations.reset(),e.emitViewEvent(new lM(null))),t.hasChanged(99)&&(this._decorations.reset(),e.emitViewEvent(new lM(null))),e.emitViewEvent(new lu(t)),this.viewLayout.onConfigurationChanged(t),s.recoverViewportStart(this.coordinatesConverter,this.viewLayout),LV.shouldRecreate(t)&&(this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents(),s=!1,x=!1,E=e instanceof ls.fV?e.rawContentChangedEvent.changes:e.changes,a=e instanceof ls.fV?e.rawContentChangedEvent.versionId:null,r=this._lines.createLineBreaksComputer();for(let e of E)switch(e.changeType){case 4:for(let t=0;t<e.detail.length;t++){let s=e.detail[t],x=e.injectedTexts[t];x&&(x=x.filter(e=>!e.ownerId||e.ownerId===this._editorId)),r.addRequest(s,x,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter(e=>!e.ownerId||e.ownerId===this._editorId)),r.addRequest(e.detail,t,null)}}let i=r.finalize(),n=new sD.H9(i);for(let e of E)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new lP),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),s=!0;break;case 3:{let x=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);null!==x&&(t.emitViewEvent(x),this.viewLayout.onLinesDeleted(x.fromLineNumber,x.toLineNumber)),s=!0;break}case 4:{let x=n.takeCount(e.detail.length),E=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,x);null!==E&&(t.emitViewEvent(E),this.viewLayout.onLinesInserted(E.fromLineNumber,E.toLineNumber)),s=!0;break}case 2:{let s=n.dequeue(),[E,r,i,_]=this._lines.onModelLineChanged(a,e.lineNumber,s);x=E,r&&t.emitViewEvent(r),i&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber)),_&&(t.emitViewEvent(_),this.viewLayout.onLinesDeleted(_.fromLineNumber,_.toLineNumber))}}null!==a&&this._lines.acceptVersionId(a),this.viewLayout.onHeightMaybeChanged(),!s&&x&&(t.emitViewEvent(new lY),t.emitViewEvent(new lM(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),s=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:s+this._viewportStart.startLineDelta},1)}}try{let t=this._eventDispatcher.beginEmitViewEvents();e instanceof ls.fV&&t.emitOutgoingEvent(new lq(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let s=0,x=e.ranges.length;s<x;s++){let x=e.ranges[s],E=this.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(x.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(x.toLineNumber,this.model.getLineMaxColumn(x.toLineNumber))).lineNumber;t[s]={fromLineNumber:E,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new lF(t)),this._eventDispatcher.emitOutgoingEvent(new l$(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new ld),this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new lz(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new lZ(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new lP),e.emitViewEvent(new lY),e.emitViewEvent(new lM(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new lj(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new lM(e)),this._eventDispatcher.emitOutgoingEvent(new lJ(e))}))}setHiddenAreas(e,t){this.hiddenAreasModel.setHiddenAreas(t,e);let s=this.hiddenAreasModel.getMergedRanges();if(s===this.previousHiddenAreas)return;this.previousHiddenAreas=s;let x=this._captureStableViewport(),E=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();(E=this._lines.setHiddenAreas(s))&&(e.emitViewEvent(new lP),e.emitViewEvent(new lY),e.emitViewEvent(new lM(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());let t=x.viewportStartModelPosition?.lineNumber;t&&s.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||x.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),E&&this._eventDispatcher.emitOutgoingEvent(new lW)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(146),t=this._configuration.options.get(67),s=Math.max(20,Math.round(e.height/t)),x=this.viewLayout.getLinesViewportData(),E=Math.max(1,x.completelyVisibleStartLineNumber-s),a=Math.min(this.getLineCount(),x.completelyVisibleEndLineNumber+s);return this._toModelVisibleRanges(new r3.e(E,this.getLineMinColumn(E),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),s=this._lines.getHiddenAreas();if(0===s.length)return[t];let x=[],E=0,a=t.startLineNumber,r=t.startColumn,i=t.endLineNumber,n=t.endColumn;for(let e=0,t=s.length;e<t;e++){let t=s[e].startLineNumber,n=s[e].endLineNumber;n<a||t>i||(a<t&&(x[E++]=new r3.e(a,r,t-1,this.model.getLineMaxColumn(t-1))),a=n+1,r=1)}return(a<i||a===i&&r<n)&&(x[E++]=new r3.e(a,r,i,n)),x}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,s=e.completelyVisibleEndLineNumber;return new r3.e(t,this.getLineMinColumn(t),s,this.getLineMaxColumn(s))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),s=t.completelyVisibleStartLineNumber,x=t.completelyVisibleEndLineNumber;return new r3.e(s,this.getLineMinColumn(s),x,this.getLineMaxColumn(x))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,s=this.viewLayout.getLineNumberAtVerticalOffset(t),x=this.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(s,this.getLineMinColumn(s))),E=this.viewLayout.getVerticalOffsetForLineNumber(s)-t;return{scrollLeft:e.scrollLeft,firstPosition:x,firstPositionDeltaTop:E}}reduceRestoreState(e){if(void 0===e.firstPosition)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),s=this.coordinatesConverter.convertModelPositionToViewPosition(t),x=this.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:x}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,s){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,s){return this._lines.getActiveIndentGuide(e,t,s)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,s,x){return this._lines.getViewLinesBracketGuides(e,t,s,x)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=xg.LC(this.getLineContent(e));return -1===t?0:t+1}getLineLastNonWhitespaceColumn(e){let t=xg.ow(this.getLineContent(e));return -1===t?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewportViewLineRenderingData(e,t){let s=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return this._getViewLineRenderingData(t,s)}getViewLineRenderingData(e){let t=this._decorations.getInlineDecorationsOnLine(e);return this._getViewLineRenderingData(e,t)}_getViewLineRenderingData(e,t){let s=this.model.mightContainRTL(),x=this.model.mightContainNonBasicASCII(),E=this.getTabSize(),a=this._lines.getViewLineData(e);return a.inlineDecorations&&(t=[...t,...a.inlineDecorations.map(t=>t.toInlineDecoration(e))]),new o2(a.minColumn,a.maxColumn,a.content,a.continuesWithWrappedLine,s,x,a.tokens,t,E,a.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,s){let x=this._lines.getViewLinesData(e,t,s);return new o$(this.getTabSize(),x)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,xn(this._configuration.options)),s=new uC;for(let x of t){let t=x.options,E=t.overviewRuler;if(!E)continue;let a=E.position;if(0===a)continue;let r=E.getColor(e.value),i=this.coordinatesConverter.getViewLineNumberOfModelPosition(x.range.startLineNumber,x.range.startColumn),n=this.coordinatesConverter.getViewLineNumberOfModelPosition(x.range.endLineNumber,x.range.endColumn);s.accept(r,t.zIndex,i,n,a)}return s.asArray}_invalidateDecorationsColorCache(){for(let e of this.model.getOverviewRulerDecorations()){let t=e.options.overviewRuler;t?.invalidateCachedColor();let s=e.options.minimap;s?.invalidateCachedColor()}}getValueInRange(e,t){let s=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(s,t)}getValueLengthInRange(e,t){let s=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(s,t)}modifyPosition(e,t){let s=this.coordinatesConverter.convertViewPositionToModelPosition(e),x=this.model.modifyPosition(s,t);return this.coordinatesConverter.convertModelPositionToViewPosition(x)}deduceModelPositionRelativeToViewPosition(e,t,s){let x=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=s:t+=s);let E=this.model.getOffsetAt(x)+t;return this.model.getPositionAt(E)}getPlainTextToCopy(e,t,s){let x=s?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(r3.e.compareRangesUsingStarts);let E=!1,a=!1;for(let t of e)t.isEmpty()?E=!0:a=!0;if(!a){if(!t)return"";let s=e.map(e=>e.startLineNumber),E="";for(let e=0;e<s.length;e++)e>0&&s[e-1]===s[e]||(E+=this.model.getLineContent(s[e])+x);return E}if(E&&t){let t=[],x=0;for(let E of e){let e=E.startLineNumber;E.isEmpty()?e!==x&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(E,s?2:0)),x=e}return 1===t.length?t[0]:t}let r=[];for(let t of e)t.isEmpty()||r.push(this.model.getValueInRange(t,s?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(e,t){let s;let x=this.model.getLanguageId();if(x===_M.bd||1!==e.length)return null;let E=e[0];if(E.isEmpty()){if(!t)return null;let e=E.startLineNumber;E=new r3.e(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}let a=this._configuration.options.get(50),r=this._getColorMap();return/[:;\\\/<>]/.test(a.fontFamily)||a.fontFamily===xd.fontFamily?s=xd.fontFamily:(s=(s=a.fontFamily).replace(/"/g,"'"),!/[,']/.test(s)&&/[+ ]/.test(s)&&(s=`'${s}'`),s=`${s}, ${xd.fontFamily}`),{mode:x,html:`<div style="color: ${r[1]};background-color: ${r[2]};font-family: ${s};font-weight: ${a.fontWeight};font-size: ${a.fontSize}px;line-height: ${a.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(E,r)+"</div>"}}_getHTMLToCopy(e,t){let s=e.startLineNumber,x=e.startColumn,E=e.endLineNumber,a=e.endColumn,r=this.getTabSize(),i="";for(let e=s;e<=E;e++){let n=this.model.tokenization.getLineTokens(e),_=n.getLineContent(),T=e===s?x-1:0,S=e===E?a-1:_.length;""===_?i+="<br>":i+=function(e,t,s,x,E,a,r){let i="<div>",n=x,_=0,T=!0;for(let S=0,R=t.getCount();S<R;S++){let R=t.getEndOffset(S);if(R<=x)continue;let O="";for(;n<R&&n<E;n++){let t=e.charCodeAt(n);switch(t){case 9:{let e=a-(n+_)%a;for(_+=e-1;e>0;)r&&T?(O+="&#160;",T=!1):(O+=" ",T=!0),e--;break}case 60:O+="&lt;",T=!1;break;case 62:O+="&gt;",T=!1;break;case 38:O+="&amp;",T=!1;break;case 0:O+="&#00;",T=!1;break;case 65279:case 8232:case 8233:case 133:O+="�",T=!1;break;case 13:O+="&#8203",T=!1;break;case 32:r&&T?(O+="&#160;",T=!1):(O+=" ",T=!0);break;default:O+=String.fromCharCode(t),T=!1}}if(i+=`<span style="${t.getInlineStyle(S,s)}">${O}</span>`,R>E||n>=E)break}return i+"</div>"}(_,n.inflate(),t,T,S,r,sP.ED)}return i}_getColorMap(){let e=_U.RW.getColorMap(),t=["#000000"];if(e)for(let s=1,x=e.length;s<x;s++)t[s]=cq.Il.Format.CSS.formatHex(e[s]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,s){return this._withViewEventsCollector(x=>this._cursor.setStates(x,e,t,s))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,s=0){this._withViewEventsCollector(x=>this._cursor.setSelections(x,e,t,s))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new lQ);return}this._withViewEventsCollector(e)}executeEdits(e,t,s){this._executeCursorEdit(x=>this._cursor.executeEdits(x,e,t,s))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(s=>this._cursor.type(s,e,t))}compositionType(e,t,s,x,E){this._executeCursorEdit(a=>this._cursor.compositionType(a,e,t,s,x,E))}paste(e,t,s,x){this._executeCursorEdit(E=>this._cursor.paste(E,e,t,s,x))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(s=>this._cursor.executeCommand(s,e,t))}executeCommands(e,t){this._executeCursorEdit(s=>this._cursor.executeCommands(s,e,t))}revealAllCursors(e,t,s=!1){this._withViewEventsCollector(x=>this._cursor.revealAll(x,e,s,0,t,0))}revealPrimaryCursor(e,t,s=!1){this._withViewEventsCollector(x=>this._cursor.revealPrimary(x,e,s,0,t,0))}revealTopMostCursor(e){let t=this._cursor.getTopMostViewPosition(),s=new r3.e(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new lm(e,!1,s,null,0,!0,0)))}revealBottomMostCursor(e){let t=this._cursor.getBottomMostViewPosition(),s=new r3.e(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new lm(e,!1,s,null,0,!0,0)))}revealRange(e,t,s,x,E){this._withViewEventsCollector(a=>a.emitViewEvent(new lm(e,!1,s,null,x,t,E)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new ly),this._eventDispatcher.emitOutgoingEvent(new lw))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>{try{let t=this._eventDispatcher.beginEmitViewEvents();return e(t)}finally{this._eventDispatcher.endEmitViewEvents()}})}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}}class uh{static create(e){let t=e._setTrackedRange(null,new r3.e(1,1,1,1),1);return new uh(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,s,x,E){this._model=e,this._viewLineNumber=t,this._isValid=s,this._modelTrackedRange=x,this._startLineDelta=E}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){let s=e.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(t,e.getLineMinColumn(t))),x=e.model._setTrackedRange(this._modelTrackedRange,new r3.e(s.lineNumber,s.column,s.lineNumber,s.column),1),E=e.viewLayout.getVerticalOffsetForLineNumber(t),a=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=x,this._startLineDelta=a-E}invalidate(){this._isValid=!1}}class uC{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,s,x,E){let a=this._asMap[e];if(a){let e=a.data,t=e[e.length-3],r=e[e.length-1];if(t===E&&r+1>=s){x>r&&(e[e.length-1]=x);return}e.push(E,s,x)}else{let a=new o5(e,t,[E,s,x]);this._asMap[e]=a,this.asArray.push(a)}}}class ul{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){let s=this.hiddenAreas.get(e);s&&uu(s,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;let e=Array.from(this.hiddenAreas.values()).reduce((e,t)=>(function(e,t){let s=[],x=0,E=0;for(;x<e.length&&E<t.length;){let a=e[x],r=t[E];if(a.endLineNumber<r.startLineNumber-1)s.push(e[x++]);else if(r.endLineNumber<a.startLineNumber-1)s.push(t[E++]);else{let e=Math.min(a.startLineNumber,r.startLineNumber),t=Math.max(a.endLineNumber,r.endLineNumber);s.push(new r3.e(e,1,t,1)),x++,E++}}for(;x<e.length;)s.push(e[x++]);for(;E<t.length;)s.push(t[E++]);return s})(e,t),[]);return uu(this.ranges,e)||(this.ranges=e),this.ranges}}function uu(e,t){if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(!e[s].equalsRange(t[s]))return!1;return!0}class uD{constructor(e,t){this.viewportStartModelPosition=e,this.startLineDelta=t}recoverViewportStart(e,t){if(!this.viewportStartModelPosition)return;let s=e.convertModelPositionToViewPosition(this.viewportStartModelPosition),x=t.getVerticalOffsetForLineNumber(s.lineNumber);t.setScrollPosition({scrollTop:x+this.startLineDelta},1)}}var uM=function(e,t){return function(s,x){t(s,x,e)}};let uP=class extends xf.JT{static{ej=this}static{this.dropIntoEditorDecorationOptions=ln.qx.register({description:"workbench-dnd-target",className:"dnd-target"})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(e,t,s,x,E,a,r,i,n,_,T,S){let R;super(),this.languageConfigurationService=T,this._deliveryQueue=(0,Ee.Sp)(),this._contributions=this._register(new lr),this._onDidDispose=this._register(new Ee.Q5),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new uY({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new uY({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new up(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new up(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new up(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new up(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new up(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onBeginUpdate=this._register(new Ee.Q5),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new Ee.Q5),this.onEndUpdate=this._onEndUpdate.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),E.willCreateCodeEditor();let O={...t};for(let t of(this._domElement=e,this._overflowWidgetsDomNode=O.overflowWidgetsDomNode,delete O.overflowWidgetsDomNode,this._id=++uU,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=s.telemetryData,this._configuration=this._register(this._createConfiguration(s.isSimpleWidget||!1,s.contextMenuId??(s.isSimpleWidget?rm.SimpleEditorContext:rm.EditorContext),O,_)),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(146)){let e=t.get(146);this._onDidLayoutChange.fire(e)}})),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=n,this._codeEditorService=E,this._commandService=a,this._themeService=i,this._register(new uG(this,this._contextKeyService)),this._register(new uB(this,this._contextKeyService,S)),this._instantiationService=this._register(x.createChild(new NJ([rP.i6,this._contextKeyService]))),this._modelData=null,this._focusTracker=new um(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},R=Array.isArray(s.contributions)?s.contributions:Z.getEditorContributions(),this._contributions.initialize(this,R,this._instantiationService),Z.getEditorActions())){if(this._actions.has(t.id)){(0,xZ.dL)(Error(`Cannot have two actions with the same id ${t.id}`));continue}let e=new li(t.id,t.label,t.alias,t.metadata,t.precondition??void 0,e=>this._instantiationService.invokeFunction(s=>Promise.resolve(t.runEditorCommand(s,this,e))),this._contextKeyService);this._actions.set(e.id,e)}let A=()=>!this._configuration.options.get(92)&&this._configuration.options.get(36).enabled;this._register(new a$(this._domElement,{onDragOver:e=>{if(!A())return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!A()||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){this._modelData?.view.writeScreenReaderContent(e)}_createConfiguration(e,t,s,x){return new IC(e,t,s,this._domElement,x)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return om.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(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?L0.getWordAtPosition(this._modelData.model,this._configuration.options.get(132),this._configuration.options.get(131),e):null}getValue(e=null){if(!this._modelData)return"";let t=!!e&&!!e.preserveBOM,s=0;return e&&e.lineEnding&&"\n"===e.lineEnding?s=1:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(s=2),this._modelData.model.getValue(s,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){try{if(this._beginUpdate(),null===this._modelData&&null===e||this._modelData&&this._modelData.model===e)return;let t={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:e?.uri||null};this._onWillChangeModel.fire(t);let s=this.hasTextFocus(),x=this._detachModel();this._attachModel(e),s&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(t),this._postDetachModelCleanup(x),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){let t=this._decorationTypeSubtypes[e];for(let s in t)this._removeDecorationType(e+"-"+s)}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(e,t,s,x){let E=e.model.validatePosition({lineNumber:t,column:s}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(E);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(a.lineNumber,x)}getTopForLineNumber(e,t=!1){return this._modelData?ej._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?ej._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,s,x=!1){let E=e.model.validatePosition({lineNumber:t,column:s}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(E);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(a.lineNumber,x)}getBottomForLineNumber(e,t=!1){if(!this._modelData)return -1;let s=this._modelData.model.getLineMaxColumn(e);return ej._getVerticalOffsetAfterPosition(this._modelData,e,s,t)}setHiddenAreas(e,t){this._modelData?.viewModel.setHiddenAreas(e.map(e=>r3.e.lift(e)),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;let t=this._modelData.model.validatePosition(e),s=this._modelData.model.getOptions().tabSize;return I7.i.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,s)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!cs.L.isIPosition(e))throw Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,s,x){if(!this._modelData)return;if(!r3.e.isIRange(e))throw Error("Invalid arguments");let E=this._modelData.model.validateRange(e),a=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(E);this._modelData.viewModel.revealRange("api",s,a,t,x)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,s){if("number"!=typeof e)throw Error("Invalid arguments");this._sendRevealRange(new r3.e(e,1,e,1),t,!1,s)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,s,x){if(!cs.L.isIPosition(e))throw Error("Invalid arguments");this._sendRevealRange(new r3.e(e.lineNumber,e.column,e.lineNumber,e.column),t,s,x)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){let s=Ln.Y.isISelection(e),x=r3.e.isIRange(e);if(!s&&!x)throw Error("Invalid arguments");if(s)this._setSelectionImpl(e,t);else if(x){let s={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(s,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;let s=new Ln.Y(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[s])}revealLines(e,t,s=0){this._revealLines(e,t,0,s)}revealLinesInCenter(e,t,s=0){this._revealLines(e,t,1,s)}revealLinesInCenterIfOutsideViewport(e,t,s=0){this._revealLines(e,t,2,s)}revealLinesNearTop(e,t,s=0){this._revealLines(e,t,5,s)}_revealLines(e,t,s,x){if("number"!=typeof e||"number"!=typeof t)throw Error("Invalid arguments");this._sendRevealRange(new r3.e(e,1,t,1),s,!1,x)}revealRange(e,t=0,s=!1,x=!0){this._revealRange(e,s?1:0,x,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,s,x){if(!r3.e.isIRange(e))throw Error("Invalid arguments");this._sendRevealRange(r3.e.lift(e),t,s,x)}setSelections(e,t="api",s=0){if(this._modelData){if(!e||0===e.length)throw Error("Invalid arguments");for(let t=0,s=e.length;t<s;t++)if(!Ln.Y.isISelection(e[t]))throw Error("Invalid arguments");this._modelData.viewModel.setSelections(t,e,s)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,t=1){if(this._modelData){if("number"!=typeof e)throw Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:e},t)}}setScrollTop(e,t=1){if(this._modelData){if("number"!=typeof e)throw Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:e},t)}}setScrollPosition(e,t=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(e,t)}hasPendingScrollAnimation(){return!!this._modelData&&this._modelData.viewModel.viewLayout.hasPendingScrollAnimation()}saveViewState(){if(!this._modelData)return null;let e=this._contributions.saveViewState();return{cursorState:this._modelData.viewModel.saveCursorState(),viewState:this._modelData.viewModel.saveState(),contributionsState:e}}restoreViewState(e){if(this._modelData&&this._modelData.hasRealView&&e&&e.cursorState&&e.viewState){let t=e.cursorState;Array.isArray(t)?t.length>0&&this._modelData.viewModel.restoreCursorState(t):this._modelData.viewModel.restoreCursorState([t]),this._contributions.restoreViewState(e.contributionsState||{});let s=this._modelData.viewModel.reduceRestoreState(e.viewState);this._modelData.view.restoreState(s)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){return this.getActions().filter(e=>e.isSupported())}getAction(e){return this._actions.get(e)||null}trigger(e,t,s){s=s||{};try{switch(this._beginUpdate(),t){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(e);return;case"type":{let t=s;this._type(e,t.text||"");return}case"replacePreviousChar":{let t=s;this._compositionType(e,t.text||"",t.replaceCharCnt||0,0,0);return}case"compositionType":{let t=s;this._compositionType(e,t.text||"",t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0);return}case"paste":{let t=s;this._paste(e,t.text||"",t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent);return}case"cut":this._cut(e);return}let x=this.getAction(t);if(x){Promise.resolve(x.run(s)).then(void 0,xZ.dL);return}if(!this._modelData||this._triggerEditorCommand(e,t,s))return;this._triggerCommand(t,s)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&0!==t.length&&("keyboard"===e&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),"keyboard"===e&&this._onDidType.fire(t))}_compositionType(e,t,s,x,E){this._modelData&&this._modelData.viewModel.compositionType(t,s,x,E,e)}_paste(e,t,s,x,E,a){if(!this._modelData)return;let r=this._modelData.viewModel,i=r.getSelection().getStartPosition();r.paste(t,s,x,e);let n=r.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire({clipboardEvent:a,range:new r3.e(i.lineNumber,i.column,n.lineNumber,n.column),languageId:E})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,s){let x=Z.getEditorCommand(t);return!!x&&((s=s||{}).source=e,this._instantiationService.invokeFunction(e=>{Promise.resolve(x.runEditorCommand(e,this,s)).then(void 0,xZ.dL)}),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!(!this._modelData||this._configuration.options.get(92))&&(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!(!this._modelData||this._configuration.options.get(92))&&(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,s){let x;return!(!this._modelData||this._configuration.options.get(92))&&(x=s?Array.isArray(s)?()=>s:s:()=>null,this._modelData.viewModel.executeEdits(e,t,x),!0)}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new uf(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,xn(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,xn(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?0===e.length&&0===t.length?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&0!==e.length&&this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){let t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(e=>e.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(146)}createOverviewRuler(e){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(e):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||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(e){let t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id:"+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let s=this._contentWidgets[t];s.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(s)}}removeContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){let t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let s=this._overlayWidgets[t];s.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(s)}}removeOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){let t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let s=this._glyphMarginWidgets[t];s.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(s)}}removeGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(e,t):null}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;let t=this._modelData.model.validatePosition(e),s=this._configuration.options,x=s.get(146);return{top:ej._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+x.glyphMarginWidth+x.lineNumbersWidth+x.decorationsWidth-this.getScrollLeft(),height:s.get(67)}}getOffsetForColumn(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(e,t):-1}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){re(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}let t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());let s=e.onBeforeAttached(),x=new uL(this._id,this._configuration,e,lE.create(E1(this._domElement)),lc.create(this._configuration.options),e=>a(E1(this._domElement),e),this.languageConfigurationService,this._themeService,s,{batchChanges:e=>{try{return this._beginUpdate(),e()}finally{this._endUpdate()}}});t.push(e.onWillDispose(()=>this.setModel(null))),t.push(x.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(t.reachedMaxCursorCount){let e=this.getOption(80),t=sY.NC("cursors.maximum","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.",e);this._notificationService.prompt(iM.Warning,t,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:sY.NC("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}let e=[];for(let s=0,x=t.selections.length;s<x;s++)e[s]=t.selections[s].getPosition();let s={position:e[0],secondaryPositions:e.slice(1),reason:t.reason,source:t.source};this._onDidChangeCursorPosition.fire(s);let x={selection:t.selections[0],secondarySelections:t.selections.slice(1),modelVersionId:t.modelVersionId,oldSelections:t.oldSelections,oldModelVersionId:t.oldModelVersionId,source:t.source,reason:t.reason};this._onDidChangeCursorSelection.fire(x);break}case 7:this._onDidChangeModelDecorations.fire(t.event);break;case 8:this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._onDidChangeModelLanguage.fire(t.event);break;case 9:this._onDidChangeModelLanguageConfiguration.fire(t.event);break;case 10:this._onDidChangeModelContent.fire(t.event);break;case 11:this._onDidChangeModelOptions.fire(t.event);break;case 12:this._onDidChangeModelTokens.fire(t.event)}}));let[E,r]=this._createView(x);if(r){this._domElement.appendChild(E.domNode.domNode);let t=Object.keys(this._contentWidgets);for(let e=0,s=t.length;e<s;e++){let s=t[e];E.addContentWidget(this._contentWidgets[s])}t=Object.keys(this._overlayWidgets);for(let e=0,s=t.length;e<s;e++){let s=t[e];E.addOverlayWidget(this._overlayWidgets[s])}t=Object.keys(this._glyphMarginWidgets);for(let e=0,s=t.length;e<s;e++){let s=t[e];E.addGlyphMarginWidget(this._glyphMarginWidgets[s])}E.render(!1,!0),E.domNode.domNode.setAttribute("data-uri",e.uri.toString())}this._modelData=new ud(e,x,E,r,t,s)}_createView(e){let t;t=this.isSimpleWidget?{paste:(e,t,s,x)=>{this._paste("keyboard",e,t,s,x)},type:e=>{this._type("keyboard",e)},compositionType:(e,t,s,x)=>{this._compositionType("keyboard",e,t,s,x)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(e,t,s,x)=>{this._commandService.executeCommand("paste",{text:e,pasteOnNewLine:t,multicursorText:s,mode:x})},type:e=>{this._commandService.executeCommand("type",{text:e})},compositionType:(e,t,s,x)=>{s||x?this._commandService.executeCommand("compositionType",{text:e,replacePrevCharCnt:t,replaceNextCharCnt:s,positionDelta:x}):this._commandService.executeCommand("replacePreviousChar",{text:e,replaceCharCnt:t})},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};let s=new hW(e.coordinatesConverter);return s.onKeyDown=e=>this._onKeyDown.fire(e),s.onKeyUp=e=>this._onKeyUp.fire(e),s.onContextMenu=e=>this._onContextMenu.fire(e),s.onMouseMove=e=>this._onMouseMove.fire(e),s.onMouseLeave=e=>this._onMouseLeave.fire(e),s.onMouseDown=e=>this._onMouseDown.fire(e),s.onMouseUp=e=>this._onMouseUp.fire(e),s.onMouseDrag=e=>this._onMouseDrag.fire(e),s.onMouseDrop=e=>this._onMouseDrop.fire(e),s.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),s.onMouseWheel=e=>this._onMouseWheel.fire(e),[new C7(t,this._configuration,this._themeService.getColorTheme(),e,s,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;let e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),t&&this._domElement.contains(t)&&t.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return null!==this._modelData}showDropIndicatorAt(e){let t=[{range:new r3.e(e.lineNumber,e.column,e.lineNumber,e.column),options:ej.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,0===this._updateCounter&&this._onEndUpdate.fire()}};uP=ej=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([uM(3,rc.TG),uM(4,rT),uM(5,rD),uM(6,rP.i6),uM(7,iR.XE),uM(8,iP),uM(9,_g),uM(10,r7.c_),uM(11,r8.ILanguageFeaturesService)],uP);let uU=0;class ud{constructor(e,t,s,x,E,a){this.model=e,this.viewModel=t,this.view=s,this.hasRealView=x,this.listenersToRemove=E,this.attachedView=a}dispose(){(0,xf.B9)(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class uY extends xf.JT{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new Ee.Q5(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new Ee.Q5(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){let t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class up extends Ee.Q5{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class uG extends xf.JT{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=eK.editorSimpleInput.bindTo(t),this._editorFocus=eK.focus.bindTo(t),this._textInputFocus=eK.textInputFocus.bindTo(t),this._editorTextFocus=eK.editorTextFocus.bindTo(t),this._tabMovesFocus=eK.tabMovesFocus.bindTo(t),this._editorReadonly=eK.readOnly.bindTo(t),this._inDiffEditor=eK.inDiffEditor.bindTo(t),this._editorColumnSelection=eK.columnSelection.bindTo(t),this._hasMultipleSelections=eK.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=eK.hasNonEmptySelection.bindTo(t),this._canUndo=eK.canUndo.bindTo(t),this._canRedo=eK.canRedo.bindTo(t),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(Ih.onDidChangeTabFocus(e=>this._tabMovesFocus.set(e))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let e=this._editor.getOptions();this._tabMovesFocus.set(Ih.getTabFocusMode()),this._editorReadonly.set(e.get(92)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){let e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.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(){let e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}}class uB extends xf.JT{constructor(e,t,s){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=s,this._langId=eK.languageId.bindTo(t),this._hasCompletionItemProvider=eK.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=eK.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=eK.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=eK.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=eK.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=eK.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=eK.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=eK.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=eK.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=eK.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=eK.hasReferenceProvider.bindTo(t),this._hasRenameProvider=eK.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=eK.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=eK.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=eK.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=eK.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=eK.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=eK.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=eK.isInEmbeddedEditor.bindTo(t);let x=()=>this._update();this._register(e.onDidChangeModel(x)),this._register(e.onDidChangeModelLanguage(x)),this._register(s.completionProvider.onDidChange(x)),this._register(s.codeActionProvider.onDidChange(x)),this._register(s.codeLensProvider.onDidChange(x)),this._register(s.definitionProvider.onDidChange(x)),this._register(s.declarationProvider.onDidChange(x)),this._register(s.implementationProvider.onDidChange(x)),this._register(s.typeDefinitionProvider.onDidChange(x)),this._register(s.hoverProvider.onDidChange(x)),this._register(s.documentHighlightProvider.onDidChange(x)),this._register(s.documentSymbolProvider.onDidChange(x)),this._register(s.referenceProvider.onDidChange(x)),this._register(s.renameProvider.onDidChange(x)),this._register(s.documentFormattingEditProvider.onDidChange(x)),this._register(s.documentRangeFormattingEditProvider.onDidChange(x)),this._register(s.signatureHelpProvider.onDidChange(x)),this._register(s.inlayHintsProvider.onDidChange(x)),x()}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._isInEmbeddedEditor.reset()})}_update(){let e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===E$.lg.walkThroughSnippet||e.uri.scheme===E$.lg.vscodeChatCodeBlock)})}}class um extends xf.JT{constructor(e,t){super(),this._onChange=this._register(new Ee.Q5),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(aH(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),t&&(this._overflowWidgetsDomNode=this._register(aH(t)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){let e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){return this._hadFocus??!1}}class uf{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,s){return this._editor.onDidChangeModelDecorations(s=>{this._isChangingDecorations||e.call(t,s)},s)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];let e=this._editor.getModel(),t=[];for(let s of this._decorationIds){let x=e.getDecorationRange(s);x&&t.push(x)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){0!==this._decorationIds.length&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(s=>{t=s.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}}let ug=encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='"),uF=encodeURIComponent("'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>");function uH(e){return ug+encodeURIComponent(e.toString())+uF}let uy=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="'),uV=encodeURIComponent('"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>');(0,iR.Ic)((e,t)=>{let s=e.getColor(iv.lXJ);s&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${uH(s)}") repeat-x bottom left; }`);let x=e.getColor(iv.uoC);x&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${uH(x)}") repeat-x bottom left; }`);let E=e.getColor(iv.c63);E&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${uH(E)}") repeat-x bottom left; }`);let a=e.getColor(iv.Dut);a&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${uy+encodeURIComponent(a.toString())+uV}") no-repeat bottom left; }`);let r=e.getColor(A4.zu);r&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${r.rgba.a}; }`)});var uX=x(81568);x(96819);class ub{static capture(e){if(0===e.getScrollTop()||e.hasPendingScrollAnimation())return new ub(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,s=0,x=e.getVisibleRanges();if(x.length>0){t=x[0].getStartPosition();let E=e.getTopForPosition(t.lineNumber,t.column);s=e.getScrollTop()-E}return new ub(e.getScrollTop(),e.getContentHeight(),t,s,e.getPosition())}constructor(e,t,s,x,E){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=s,this._visiblePositionScrollDelta=x,this._cursorPosition=E}restore(e){if((this._initialContentHeight!==e.getContentHeight()||this._initialScrollTop!==e.getScrollTop())&&this._visiblePosition){let t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;let t=e.getPosition();if(!this._cursorPosition||!t)return;let s=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+s,1)}}var uv=x(90780);function uk(e,t){let s=new xf.SL,x=e.createDecorationsCollection();return s.add((0,Ts.UV)({debugName:()=>`Apply decorations from ${t.debugName}`},e=>{let s=t.read(e);x.set(s)})),s.add({dispose:()=>{x.clear()}}),s}function uw(e,t){return e.appendChild(t),(0,xf.OF)(()=>{t.remove()})}class uW extends xf.JT{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(e,t){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new IO(e,t)),this._width=(0,Ts.uh)(this,this.elementSizeObserver.getWidth()),this._height=(0,Ts.uh)(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(e=>(0,Ts.PS)(e=>{this._width.set(this.elementSizeObserver.getWidth(),e),this._height.set(this.elementSizeObserver.getHeight(),e)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){this._automaticLayout=e,e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function uK(e,t,s){let x,E=t.get(),a=E,r=E,i=(0,Ts.uh)("animatedValue",E),n=-1;return s.add((0,Ts.nJ)({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(e,s)=>(e.didChange(t)&&(s.animate=s.animate||e.change),!0)},(s,_)=>{void 0!==x&&(e.cancelAnimationFrame(x),x=void 0),a=r,E=t.read(s),n=Date.now()-(_.animate?0:300),function t(){var s,_;let T=Date.now()-n;r=Math.floor((s=a,_=E-a,300===T?s+_:_*(-Math.pow(2,-10*T/300)+1)+s)),T<300?x=e.requestAnimationFrame(t):r=E,i.set(r,void 0)}()})),i}class uQ extends xf.JT{constructor(e,t,s){super(),this._register(new uZ(e,s)),this._register(uz(s,{height:t.actualHeight,top:t.actualTop}))}}class uJ{get afterLineNumber(){return this._afterLineNumber.get()}constructor(e,t){this._afterLineNumber=e,this.heightInPx=t,this.domNode=document.createElement("div"),this._actualTop=(0,Ts.uh)(this,void 0),this._actualHeight=(0,Ts.uh)(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=e=>{this._actualTop.set(e,void 0)},this.onComputedHeight=e=>{this._actualHeight.set(e,void 0)}}}class uZ{static{this._counter=0}constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId=`managedOverlayWidget-${uZ._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function uz(e,t){return(0,Ts.EH)(s=>{for(let[x,E]of Object.entries(t))E&&"object"==typeof E&&"read"in E&&(E=E.read(s)),"number"==typeof E&&(E=`${E}px`),x=x.replace(/[A-Z]/g,e=>"-"+e.toLowerCase()),e.style[x]=E})}function uq(e,t,s,x){let E=new xf.SL,a=[];return E.add((0,Ts.gp)((E,r)=>{let i=t.read(E),n=new Map,_=new Map;s&&s(!0),e.changeViewZones(e=>{for(let t of a)e.removeZone(t),x?.delete(t);for(let t of(a.length=0,i)){let s=e.addZone(t);t.setZoneId&&t.setZoneId(s),a.push(s),x?.add(s),n.set(t,s)}}),s&&s(!1),r.add((0,Ts.nJ)({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(e,t){let s=_.get(e.changedObservable);return void 0!==s&&t.zoneIds.push(s),!0}},(t,x)=>{for(let e of i)e.onChange&&(_.set(e.onChange,n.get(e)),e.onChange.read(t));s&&s(!0),e.changeViewZones(e=>{for(let t of x.zoneIds)e.layoutZone(t)}),s&&s(!1)}))})),E.add({dispose(){s&&s(!0),e.changeViewZones(e=>{for(let t of a)e.removeZone(t)}),x?.clear(),s&&s(!1)}}),E}function uj(e,t){let s=(0,lo.dF)(t,t=>t.original.startLineNumber<=e.lineNumber);if(!s)return r3.e.fromPositions(e);if(s.original.endLineNumberExclusive<=e.lineNumber){let t=e.lineNumber-s.original.endLineNumberExclusive+s.modified.endLineNumberExclusive;return r3.e.fromPositions(new cs.L(t,e.column))}if(!s.innerChanges)return r3.e.fromPositions(new cs.L(s.modified.startLineNumber,1));let x=(0,lo.dF)(s.innerChanges,t=>t.originalRange.getStartPosition().isBeforeOrEqual(e));if(!x){let t=e.lineNumber-s.original.startLineNumber+s.modified.startLineNumber;return r3.e.fromPositions(new cs.L(t,e.column))}if(x.originalRange.containsPosition(e))return x.modifiedRange;{var E;let t=(E=x.originalRange.getEndPosition()).lineNumber===e.lineNumber?new uv.A(0,e.column-E.column):new uv.A(e.lineNumber-E.lineNumber,e.column-1);return r3.e.fromPositions(t.addToPosition(x.modifiedRange.getEndPosition()))}}class u${static create(e,t){return new u0(e,e,t)}static createWithDisposable(e,t,s){let x=new xf.SL;return x.add(t),x.add(e),new u0(e,x,s)}}class u0 extends u${constructor(e,t,s){super(),this.object=e,this._disposable=t,this._debugOwner=s,this._refCount=1,this._isDisposed=!1,this._owners=[],s&&this._addOwner(s)}_addOwner(e){e&&this._owners.push(e)}createNewRef(e){return this._refCount++,e&&this._addOwner(e),new u2(this,e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(e){if(this._refCount--,0===this._refCount&&this._disposable.dispose(),e){let t=this._owners.indexOf(e);-1!==t&&this._owners.splice(t,1)}}}class u2 extends u${constructor(e,t){super(),this._base=e,this._debugOwner=t,this._isDisposed=!1}get object(){return this._base.object}createNewRef(e){return this._base.createNewRef(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}var u1=x(98434);x(44748);var u3=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},u7=function(e,t){return function(s,x){t(s,x,e)}};let u5=NE("diff-review-insert",i7.l.add,(0,sY.NC)("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),u4=NE("diff-review-remove",i7.l.remove,(0,sY.NC)("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),u6=NE("diff-review-close",i7.l.close,(0,sY.NC)("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer.")),u8=class extends xf.JT{static{this._ttPolicy=r$("diffReview",{createHTML:e=>e})}constructor(e,t,s,x,E,a,r,i,n){super(),this._parentNode=e,this._visible=t,this._setVisible=s,this._canClose=x,this._width=E,this._height=a,this._diffs=r,this._models=i,this._instantiationService=n,this._state=(0,Ts.Be)(this,(e,t)=>{let s=this._visible.read(e);if(this._parentNode.style.visibility=s?"visible":"hidden",!s)return null;let x=t.add(this._instantiationService.createInstance(u9,this._diffs,this._models,this._setVisible,this._canClose)),E=t.add(this._instantiationService.createInstance(Da,this._parentNode,x,this._width,this._height,this._models));return{model:x,view:E}}).recomputeInitiallyAndOnChange(this._store)}next(){(0,Ts.PS)(e=>{let t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){(0,Ts.PS)(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){(0,Ts.PS)(e=>{this._setVisible(!1,e)})}};u8=u3([u7(8,rc.TG)],u8);let u9=class extends xf.JT{constructor(e,t,s,x,E){super(),this._diffs=e,this._models=t,this._setVisible=s,this.canClose=x,this._accessibilitySignalService=E,this._groups=(0,Ts.uh)(this,[]),this._currentGroupIdx=(0,Ts.uh)(this,0),this._currentElementIdx=(0,Ts.uh)(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((e,t)=>this._groups.read(t)[e]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((e,t)=>this.currentGroup.read(t)?.lines[e]),this._register((0,Ts.EH)(e=>{let t=this._diffs.read(e);if(!t){this._groups.set([],void 0);return}let s=function(e,t,s){let x=[];for(let E of(0,sD.mw)(e,(e,t)=>t.modified.startLineNumber-e.modified.endLineNumberExclusive<6)){let e=[];e.push(new Dt);let a=new it.z(Math.max(1,E[0].original.startLineNumber-3),Math.min(E[E.length-1].original.endLineNumberExclusive+3,t+1)),r=new it.z(Math.max(1,E[0].modified.startLineNumber-3),Math.min(E[E.length-1].modified.endLineNumberExclusive+3,s+1));(0,sD.zy)(E,(t,s)=>{let x=new it.z(t?t.original.endLineNumberExclusive:a.startLineNumber,s?s.original.startLineNumber:a.endLineNumberExclusive),E=new it.z(t?t.modified.endLineNumberExclusive:r.startLineNumber,s?s.modified.startLineNumber:r.endLineNumberExclusive);x.forEach(t=>{e.push(new DE(t,E.startLineNumber+(t-x.startLineNumber)))}),s&&(s.original.forEach(t=>{e.push(new Ds(s,t))}),s.modified.forEach(t=>{e.push(new Dx(s,t))}))});let i=E[0].modified.join(E[E.length-1].modified),n=E[0].original.join(E[E.length-1].original);x.push(new De(new ie.f0(i,n),e))}return x}(t,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());(0,Ts.PS)(e=>{let t=this._models.getModifiedPosition();if(t){let x=s.findIndex(e=>t?.lineNumber<e.range.modified.endLineNumberExclusive);-1!==x&&this._currentGroupIdx.set(x,e)}this._groups.set(s,e)})})),this._register((0,Ts.EH)(e=>{let t=this.currentElement.read(e);t?.type===e$.Deleted?this._accessibilitySignalService.playSignal(N6.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):t?.type===e$.Added&&this._accessibilitySignalService.playSignal(N6.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register((0,Ts.EH)(e=>{let t=this.currentElement.read(e);if(t&&t.type!==e$.Header){let e=t.modifiedLineNumber??t.diff.modified.startLineNumber;this._models.modifiedSetSelection(r3.e.fromPositions(new cs.L(e,1)))}}))}_goToGroupDelta(e,t){let s=this.groups.get();s&&!(s.length<=1)&&(0,Ts.c8)(t,t=>{this._currentGroupIdx.set(u1.q.ofLength(s.length).clipCyclic(this._currentGroupIdx.get()+e),t),this._currentElementIdx.set(0,t)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){let t=this.currentGroup.get();t&&!(t.lines.length<=1)&&(0,Ts.PS)(s=>{this._currentElementIdx.set(u1.q.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),s)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){let t=this.currentGroup.get();if(!t)return;let s=t.lines.indexOf(e);-1!==s&&(0,Ts.PS)(e=>{this._currentElementIdx.set(s,e)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);let e=this.currentElement.get();e&&(e.type===e$.Deleted?this._models.originalReveal(r3.e.fromPositions(new cs.L(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==e$.Header?r3.e.fromPositions(new cs.L(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};u9=u3([u7(4,N7)],u9),function(e){e[e.Header=0]="Header",e[e.Unchanged=1]="Unchanged",e[e.Deleted=2]="Deleted",e[e.Added=3]="Added"}(e$||(e$={}));class De{constructor(e,t){this.range=e,this.lines=t}}class Dt{constructor(){this.type=e$.Header}}class Ds{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=e$.Deleted,this.modifiedLineNumber=void 0}}class Dx{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=e$.Added,this.originalLineNumber=void 0}}class DE{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=e$.Unchanged}}let Da=class extends xf.JT{constructor(e,t,s,x,E,a){super(),this._element=e,this._model=t,this._width=s,this._height=x,this._models=E,this._languageService=a,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";let r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new Ss(r)),this._register((0,Ts.EH)(e=>{this._actionBar.clear(),this._model.canClose.read(e)&&this._actionBar.push(new rO("diffreview.close",(0,sY.NC)("label.close","Close"),"close-diff-review "+rh.k.asClassName(u6),!0,async()=>t.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 ni(this._content,{})),aX(this.domNode,this._scrollbar.getDomNode(),r),this._register((0,Ts.EH)(e=>{this._height.read(e),this._width.read(e),this._scrollbar.scanDomNode()})),this._register((0,xf.OF)(()=>{aX(this.domNode)})),this._register(uz(this.domNode,{width:this._width,height:this._height})),this._register(uz(this._content,{width:this._width,height:this._height})),this._register((0,Ts.gp)((e,t)=>{this._model.currentGroup.read(e),this._render(t)})),this._register(aa(this.domNode,"keydown",e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._model.goToNextLine()),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._model.goToPreviousLine()),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this._model.close()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){let t=this._models.getOriginalOptions(),s=this._models.getModifiedOptions(),x=document.createElement("div");x.className="diff-review-table",x.setAttribute("role","list"),x.setAttribute("aria-label",(0,sY.NC)("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),re(x,s.get(50)),aX(this._content,x);let E=this._models.getOriginalModel(),a=this._models.getModifiedModel();if(!E||!a)return;let r=E.getOptions(),i=a.getOptions(),n=s.get(67),_=this._model.currentGroup.get();for(let T of _?.lines||[]){let S;if(!_)break;if(T.type===e$.Header){let e=document.createElement("div");e.className="diff-review-row",e.setAttribute("role","listitem");let t=_.range,s=this._model.currentGroupIndex.get(),x=this._model.groups.get().length,E=e=>0===e?(0,sY.NC)("no_lines_changed","no lines changed"):1===e?(0,sY.NC)("one_line_changed","1 line changed"):(0,sY.NC)("more_lines_changed","{0} lines changed",e),a=E(t.original.length),r=E(t.modified.length);e.setAttribute("aria-label",(0,sY.NC)({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",s+1,x,t.original.startLineNumber,a,t.modified.startLineNumber,r));let i=document.createElement("div");i.className="diff-review-cell diff-review-summary",i.appendChild(document.createTextNode(`${s+1}/${x}: @@ -${t.original.startLineNumber},${t.original.length} +${t.modified.startLineNumber},${t.modified.length} @@`)),e.appendChild(i),S=e}else S=this._createRow(T,n,this._width.get(),t,E,r,s,a,i);x.appendChild(S);let R=(0,Ts.nK)(e=>this._model.currentElement.read(e)===T);e.add((0,Ts.EH)(e=>{let t=R.read(e);S.tabIndex=t?0:-1,t&&S.focus()})),e.add(aE(S,"focus",()=>{this._model.goToLine(T)}))}this._scrollbar.scanDomNode()}_createRow(e,t,s,x,E,a,r,i,n){let _;let T=x.get(146),S=T.glyphMarginWidth+T.lineNumbersWidth,R=r.get(146),O=10+R.glyphMarginWidth+R.lineNumbersWidth,A="diff-review-row",N="",o=null;switch(e.type){case e$.Added:A="diff-review-row line-insert",N=" char-insert",o=u5;break;case e$.Deleted:A="diff-review-row line-delete",N=" char-delete",o=u4}let I=document.createElement("div");I.style.minWidth=s+"px",I.className=A,I.setAttribute("role","listitem"),I.ariaLevel="";let L=document.createElement("div");L.className="diff-review-cell",L.style.height=`${t}px`,I.appendChild(L);let h=document.createElement("span");h.style.width=S+"px",h.style.minWidth=S+"px",h.className="diff-review-line-number"+N,void 0!==e.originalLineNumber?h.appendChild(document.createTextNode(String(e.originalLineNumber))):h.innerText="\xa0",L.appendChild(h);let C=document.createElement("span");C.style.width=O+"px",C.style.minWidth=O+"px",C.style.paddingRight="10px",C.className="diff-review-line-number"+N,void 0!==e.modifiedLineNumber?C.appendChild(document.createTextNode(String(e.modifiedLineNumber))):C.innerText="\xa0",L.appendChild(C);let l=document.createElement("span");if(l.className="diff-review-spacer",o){let e=document.createElement("span");e.className=rh.k.asClassName(o),e.innerText="\xa0\xa0",l.appendChild(e)}else l.innerText="\xa0\xa0";if(L.appendChild(l),void 0!==e.modifiedLineNumber){let t=this._getLineHtml(i,r,n.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);u8._ttPolicy&&(t=u8._ttPolicy.createHTML(t)),L.insertAdjacentHTML("beforeend",t),_=i.getLineContent(e.modifiedLineNumber)}else{let t=this._getLineHtml(E,x,a.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);u8._ttPolicy&&(t=u8._ttPolicy.createHTML(t)),L.insertAdjacentHTML("beforeend",t),_=E.getLineContent(e.originalLineNumber)}0===_.length&&(_=(0,sY.NC)("blankLine","blank"));let u="";switch(e.type){case e$.Unchanged:u=e.originalLineNumber===e.modifiedLineNumber?(0,sY.NC)({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",_,e.originalLineNumber):(0,sY.NC)("equalLine","{0} original line {1} modified line {2}",_,e.originalLineNumber,e.modifiedLineNumber);break;case e$.Added:u=(0,sY.NC)("insertLine","+ {0} modified line {1}",_,e.modifiedLineNumber);break;case e$.Deleted:u=(0,sY.NC)("deleteLine","- {0} original line {1}",_,e.originalLineNumber)}return I.setAttribute("aria-label",u),I}_getLineHtml(e,t,s,x,E){let a=e.getLineContent(x),r=t.get(50),i=_P.A.createEmpty(a,E),n=o2.isBasicASCII(a,e.mightContainNonBasicASCII()),_=o2.containsRTL(a,n,e.mightContainRTL());return oZ(new ok(r.isMonospace&&!t.get(33),r.canUseHalfwidthRightwardsArrow,a,!1,n,_,0,i,[],s,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,t.get(118),t.get(100),t.get(95),t.get(51)!==sq.OFF,null)).html}};Da=u3([u7(5,_D.O)],Da);class Dr{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}(0,iv.P6G)("diffEditor.move.border","#8b8b8b9c",(0,sY.NC)("diffEditor.move.border","The border color for text that got moved in the diff editor.")),(0,iv.P6G)("diffEditor.moveActive.border","#FFA500",(0,sY.NC)("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor.")),(0,iv.P6G)("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},(0,sY.NC)("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));let Di=NE("diff-insert",i7.l.add,(0,sY.NC)("diffInsertIcon","Line decoration for inserts in the diff editor.")),Dn=NE("diff-remove",i7.l.remove,(0,sY.NC)("diffRemoveIcon","Line decoration for removals in the diff editor.")),D_=ln.qx.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+rh.k.asClassName(Di),marginClassName:"gutter-insert"}),Dc=ln.qx.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+rh.k.asClassName(Dn),marginClassName:"gutter-delete"}),DT=ln.qx.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),DS=ln.qx.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),DR=ln.qx.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),DO=ln.qx.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),DA=ln.qx.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),DN=ln.qx.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),Do=ln.qx.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),DI=ln.qx.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});var DL=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},Dh=function(e,t){return function(s,x){t(s,x,e)}};let DC=(0,rc.yh)("diffProviderFactoryService"),Dl=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(Du,e)}};Dl=DL([Dh(0,rc.TG)],Dl),(0,iA.z)(DC,Dl,1);let Du=class{static{e0=this}static{this.diffCache=new Map}constructor(e,t,s){this.editorWorkerService=t,this.telemetryService=s,this.onDidChangeEventEmitter=new Ee.Q5,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(e,t,s,x){if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(e,t,s,x);if(e.isDisposed()||t.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return 1===t.getLineCount()&&1===t.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new ie.gB(new it.z(1,2),new it.z(1,t.getLineCount()+1),[new ie.iy(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};let E=JSON.stringify([e.uri.toString(),t.uri.toString()]),a=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(s)]),r=e0.diffCache.get(E);if(r&&r.context===a)return r.result;let i=r6.G.create(),n=await this.editorWorkerService.computeDiff(e.uri,t.uri,s,this.diffAlgorithm),_=i.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:_,timedOut:n?.quitEarly??!0,detectedMoves:s.computeMoves?n?.moves.length??0:-1}),x.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!n)throw Error("no diff result available");return e0.diffCache.size>10&&e0.diffCache.delete(e0.diffCache.keys().next().value),e0.diffCache.set(E,{result:n,context:a}),n}setOptions(e){let t=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,"string"!=typeof e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),t=!0),t&&this.onDidChangeEventEmitter.fire()}};Du=e0=DL([Dh(1,SL.IEditorWorkerService),Dh(2,rV)],Du);var DD=x(58173);function DM(){return DD.OB&&!!DD.OB.VSCODE_DEV}function DP(e){if(!DM())return{dispose(){}};{let t=function(){R||(R=new Set);let e=globalThis;return e.$hotReload_applyNewExports||(e.$hotReload_applyNewExports=e=>{let t={config:{mode:void 0},...e},s=[];for(let e of R){let x=e(t);x&&s.push(x)}if(s.length>0)return e=>{let t=!1;for(let x of s)x(e)&&(t=!0);return t}}),R}();return t.add(e),{dispose(){t.delete(e)}}}}function DU(e,t){var s;return s=[e],DM()&&(0,Ts.aq)("reload",e=>DP(({oldExports:t})=>{if([...Object.values(t)].some(e=>s.includes(e)))return t=>(e(void 0),!0)})).read(t),e}DM()&&DP(({oldExports:e,newSrc:t,config:s})=>{if("patch-prototype"===s.mode)return t=>{for(let s in t){let x=t[s];if(console.log(`[hot-reload] Patching prototype methods of '${s}'`,{exportedItem:x}),"function"==typeof x&&x.prototype){let E=e[s];if(E){for(let e of Object.getOwnPropertyNames(x.prototype)){let t=Object.getOwnPropertyDescriptor(x.prototype,e),a=Object.getOwnPropertyDescriptor(E.prototype,e);t?.value?.toString()!==a?.value?.toString()&&console.log(`[hot-reload] Patching prototype method '${s}.${e}'`),Object.defineProperty(E.prototype,e,t)}t[s]=E}}}return!0}});var Dd=x(63152),DY=x(88121),Dp=x(28312),DG=x(8804);let DB=class extends xf.JT{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,s){super(),this.model=e,this._options=t,this._diffProviderFactoryService=s,this._isDiffUpToDate=(0,Ts.uh)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,Ts.uh)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,Ts.uh)(this,void 0),this.unchangedRegions=(0,Ts.nK)(this,e=>this._options.hideUnchangedRegions.read(e)?this._unchangedRegions.read(e)?.regions??[]:((0,Ts.PS)(e=>{for(let t of this._unchangedRegions.get()?.regions||[])t.collapseAll(e)}),[])),this.movedTextToCompare=(0,Ts.uh)(this,void 0),this._activeMovedText=(0,Ts.uh)(this,void 0),this._hoveredMovedText=(0,Ts.uh)(this,void 0),this.activeMovedText=(0,Ts.nK)(this,e=>this.movedTextToCompare.read(e)??this._hoveredMovedText.read(e)??this._activeMovedText.read(e)),this._cancellationTokenSource=new _Z.AU,this._diffProvider=(0,Ts.nK)(this,e=>{let t=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(e)}),s=(0,Ts.aq)("onDidChange",t.onDidChange);return{diffProvider:t,onChangeSignal:s}}),this._register((0,xf.OF)(()=>this._cancellationTokenSource.cancel()));let x=(0,Ts.GN)("contentChangedSignal"),E=this._register(new x9.pY(()=>x.trigger(void 0),200));this._register((0,Ts.EH)(t=>{let s=this._unchangedRegions.read(t);if(!s||s.regions.some(e=>e.isDragged.read(t)))return;let x=s.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?it.z.fromRangeInclusive(e):void 0),E=s.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?it.z.fromRangeInclusive(e):void 0),a=s.regions.map((e,s)=>x[s]&&E[s]?new Dg(x[s].startLineNumber,E[s].startLineNumber,x[s].length,e.visibleLineCountTop.read(t),e.visibleLineCountBottom.read(t)):void 0).filter(ru.$K),r=[],i=!1;for(let e of(0,sD.mw)(a,(e,s)=>e.getHiddenModifiedRange(t).endLineNumberExclusive===s.getHiddenModifiedRange(t).startLineNumber))if(e.length>1){i=!0;let t=e.reduce((e,t)=>e+t.lineCount,0),s=new Dg(e[0].originalLineNumber,e[0].modifiedLineNumber,t,e[0].visibleLineCountTop.get(),e[e.length-1].visibleLineCountBottom.get());r.push(s)}else r.push(e[0]);if(i){let t=e.original.deltaDecorations(s.originalDecorationIds,r.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),x=e.modified.deltaDecorations(s.modifiedDecorationIds,r.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));(0,Ts.PS)(e=>{this._unchangedRegions.set({regions:r,originalDecorationIds:t,modifiedDecorationIds:x},e)})}}));let a=(t,s,x)=>{let E;let a=Dg.fromDiffs(t.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(x),this._options.hideUnchangedRegionsContextLineCount.read(x)),r=this._unchangedRegions.get();if(r){let t=r.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?it.z.fromRangeInclusive(e):void 0),s=r.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?it.z.fromRangeInclusive(e):void 0),a=(function(e,t){let s;return e.filter(e=>{let x=t(e,s);return s=e,x})})(r.regions.map((e,x)=>{if(!t[x]||!s[x])return;let E=t[x].length;return new Dg(t[x].startLineNumber,s[x].startLineNumber,E,Math.min(e.visibleLineCountTop.get(),E),Math.min(e.visibleLineCountBottom.get(),E-e.visibleLineCountTop.get()))}).filter(ru.$K),(e,t)=>!t||e.modifiedLineNumber>=t.modifiedLineNumber+t.lineCount&&e.originalLineNumber>=t.originalLineNumber+t.lineCount).map(e=>new ie.f0(e.getHiddenOriginalRange(x),e.getHiddenModifiedRange(x)));a=ie.f0.clip(a,it.z.ofLength(1,e.original.getLineCount()),it.z.ofLength(1,e.modified.getLineCount())),E=ie.f0.inverse(a,e.original.getLineCount(),e.modified.getLineCount())}let i=[];if(E)for(let e of a){let t=E.filter(t=>t.original.intersectsStrict(e.originalUnchangedRange)&&t.modified.intersectsStrict(e.modifiedUnchangedRange));i.push(...e.setVisibleRanges(t,s))}else i.push(...a);let n=e.original.deltaDecorations(r?.originalDecorationIds||[],i.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),_=e.modified.deltaDecorations(r?.modifiedDecorationIds||[],i.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:i,originalDecorationIds:n,modifiedDecorationIds:_},s)};this._register(e.modified.onDidChangeContent(t=>{if(this._diff.get()){let s=DY.Q.fromModelContentChanges(t.changes),x=DH(this._lastDiff,s,e.original,e.modified);x&&(this._lastDiff=x,(0,Ts.PS)(e=>{this._diff.set(Dm.fromDiffResult(this._lastDiff),e),a(x,e);let t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified)):void 0,e)}))}this._isDiffUpToDate.set(!1,void 0),E.schedule()})),this._register(e.original.onDidChangeContent(t=>{if(this._diff.get()){let s=DY.Q.fromModelContentChanges(t.changes),x=DF(this._lastDiff,s,e.original,e.modified);x&&(this._lastDiff=x,(0,Ts.PS)(e=>{this._diff.set(Dm.fromDiffResult(this._lastDiff),e),a(x,e);let t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified)):void 0,e)}))}this._isDiffUpToDate.set(!1,void 0),E.schedule()})),this._register((0,Ts.gp)(async(t,s)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(t),this._options.hideUnchangedRegionsContextLineCount.read(t),E.cancel(),x.read(t);let r=this._diffProvider.read(t);r.onChangeSignal.read(t),DU(Dd.DW,t),DU(DG.xG,t),this._isDiffUpToDate.set(!1,void 0);let i=[];s.add(e.original.onDidChangeContent(e=>{let t=DY.Q.fromModelContentChanges(e.changes);i=(0,Dp.o)(i,t)}));let n=[];s.add(e.modified.onDidChangeContent(e=>{let t=DY.Q.fromModelContentChanges(e.changes);n=(0,Dp.o)(n,t)}));let _=await r.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(t),maxComputationTimeMs:this._options.maxComputationTimeMs.read(t),computeMoves:this._options.showMoves.read(t)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||e.original.isDisposed()||e.modified.isDisposed()||(_=DH(_=DF(_=function(e,t,s){return{changes:e.changes.map(e=>new ie.gB(e.original,e.modified,e.innerChanges?e.innerChanges.map(e=>{let x,E;return x=e.originalRange,E=e.modifiedRange,1===x.startColumn&&1===E.startColumn&&(1!==x.endColumn||1!==E.endColumn)&&x.endColumn===t.getLineMaxColumn(x.endLineNumber)&&E.endColumn===s.getLineMaxColumn(E.endLineNumber)&&x.endLineNumber<t.getLineCount()&&E.endLineNumber<s.getLineCount()&&(x=x.setEndPosition(x.endLineNumber+1,1),E=E.setEndPosition(E.endLineNumber+1,1)),new ie.iy(x,E)}):void 0)),moves:e.moves,identical:e.identical,quitEarly:e.quitEarly}}(_,e.original,e.modified),i,e.original,e.modified)??_,n,e.original,e.modified)??_,(0,Ts.PS)(e=>{a(_,e),this._lastDiff=_;let t=Dm.fromDiffResult(_);this._diff.set(t,e),this._isDiffUpToDate.set(!0,e);let s=this.movedTextToCompare.get();this.movedTextToCompare.set(s?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(s.lineRangeMapping.modified)):void 0,e)}))}))}ensureModifiedLineIsVisible(e,t,s){if(this.diff.get()?.mappings.length!==0){for(let x of this._unchangedRegions.get()?.regions||[])if(x.getHiddenModifiedRange(void 0).contains(e)){x.showModifiedLine(e,t,s);return}}}ensureOriginalLineIsVisible(e,t,s){if(this.diff.get()?.mappings.length!==0){for(let x of this._unchangedRegions.get()?.regions||[])if(x.getHiddenOriginalRange(void 0).contains(e)){x.showOriginalLine(e,t,s);return}}}async waitForDiff(){await (0,Ts.F_)(this.isDiffUpToDate,e=>e)}serializeState(){let e=this._unchangedRegions.get();return{collapsedRegions:e?.regions.map(e=>({range:e.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){let t=e.collapsedRegions?.map(e=>it.z.deserialize(e.range)),s=this._unchangedRegions.get();s&&t&&(0,Ts.PS)(e=>{for(let x of s.regions)for(let s of t)if(x.modifiedUnchangedRange.intersect(s)){x.setHiddenModifiedRange(s,e);break}})}};DB=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([function(e,t){DC(e,t,2)}],DB);class Dm{static fromDiffResult(e){return new Dm(e.changes.map(e=>new Df(e)),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,s,x){this.mappings=e,this.movedTexts=t,this.identical=s,this.quitEarly=x}}class Df{constructor(e){this.lineRangeMapping=e}}class Dg{static fromDiffs(e,t,s,x,E){let a=ie.gB.inverse(e,t,s),r=[];for(let e of a){let a=e.original.startLineNumber,i=e.modified.startLineNumber,n=e.original.length,_=1===a&&1===i,T=a+n===t+1&&i+n===s+1;(_||T)&&n>=E+x?(_&&!T&&(n-=E),T&&!_&&(a+=E,i+=E,n-=E),r.push(new Dg(a,i,n,0,0))):n>=2*E+x&&(a+=E,i+=E,n-=2*E,r.push(new Dg(a,i,n,0,0)))}return r}get originalUnchangedRange(){return it.z.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return it.z.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,s,x,E){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=s,this._visibleLineCountTop=(0,Ts.uh)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,Ts.uh)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,Ts.nK)(this,e=>this.visibleLineCountTop.read(e)+this.visibleLineCountBottom.read(e)===this.lineCount&&!this.isDragged.read(e)),this.isDragged=(0,Ts.uh)(this,void 0);let a=Math.max(Math.min(x,this.lineCount),0),r=Math.max(Math.min(E,this.lineCount-x),0);(0,C6.wN)(x===a),(0,C6.wN)(E===r),this._visibleLineCountTop.set(a,void 0),this._visibleLineCountBottom.set(r,void 0)}setVisibleRanges(e,t){let s=[],x=new it.i(e.map(e=>e.modified)).subtractFrom(this.modifiedUnchangedRange),E=this.originalLineNumber,a=this.modifiedLineNumber,r=this.modifiedLineNumber+this.lineCount;if(0===x.ranges.length)this.showAll(t),s.push(this);else{let e=0;for(let i of x.ranges){let n=e===x.ranges.length-1;e++;let _=(n?r:i.endLineNumberExclusive)-a,T=new Dg(E,a,_,0,0);T.setHiddenModifiedRange(i,t),s.push(T),E=T.originalUnchangedRange.endLineNumberExclusive,a=T.modifiedUnchangedRange.endLineNumberExclusive}}return s}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return it.z.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return it.z.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){let s=e.startLineNumber-this.modifiedLineNumber,x=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(s,x,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){let s=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,s),t)}showMoreBelow(e=10,t){let s=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,s),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,s){let x=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),E=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;0===t&&x<E||1===t?this._visibleLineCountTop.set(this._visibleLineCountTop.get()+x,s):this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+E,s)}showOriginalLine(e,t,s){let x=e-this.originalLineNumber,E=this.originalLineNumber+this.lineCount-e;0===t&&x<E||1===t?this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+E-x,this.getMaxVisibleLineCountTop()),s):this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+x-E,this.getMaxVisibleLineCountBottom()),s)}collapseAll(e){this._visibleLineCountTop.set(0,e),this._visibleLineCountBottom.set(0,e)}setState(e,t,s){e=Math.max(Math.min(e,this.lineCount),0),t=Math.max(Math.min(t,this.lineCount-e),0),this._visibleLineCountTop.set(e,s),this._visibleLineCountBottom.set(t,s)}}function DF(e,t,s,x){}function DH(e,t,s,x){}class Dy extends xf.JT{get visibility(){return this._visibility}set visibility(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?"visible":"hidden")}constructor(e,t,s,x,E,a,r,i,n){super(),this._getViewZoneId=e,this._marginDomNode=t,this._modifiedEditor=s,this._diff=x,this._editor=E,this._viewLineCounts=a,this._originalTextModel=r,this._contextMenuService=i,this._clipboardService=n,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=rh.k.asClassName(i7.l.lightBulb)+" lightbulb-glyph",this._diffActions.style.position="absolute";let _=this._modifiedEditor.getOption(67);this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${_}px`,this._diffActions.style.lineHeight=`${_}px`,this._marginDomNode.appendChild(this._diffActions);let T=0,S=s.getOption(128)&&!sP.gn,R=(e,t)=>{this._contextMenuService.showContextMenu({domForShadowRoot:S?s.getDomNode()??void 0:void 0,getAnchor:()=>({x:e,y:t}),getActions:()=>{let e=[],t=x.modified.isEmpty;return e.push(new rO("diff.clipboard.copyDeletedContent",t?x.original.length>1?(0,sY.NC)("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):(0,sY.NC)("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):x.original.length>1?(0,sY.NC)("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):(0,sY.NC)("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,async()=>{let e=this._originalTextModel.getValueInRange(x.original.toExclusiveRange());await this._clipboardService.writeText(e)})),x.original.length>1&&e.push(new rO("diff.clipboard.copyDeletedLineContent",t?(0,sY.NC)("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",x.original.startLineNumber+T):(0,sY.NC)("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",x.original.startLineNumber+T),void 0,!0,async()=>{let e=this._originalTextModel.getLineContent(x.original.startLineNumber+T);""===e&&(e=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"),await this._clipboardService.writeText(e)})),s.getOption(92)||e.push(new rO("diff.inline.revertChange",(0,sY.NC)("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),e},autoSelectFirstItem:!0})};this._register(aa(this._diffActions,"mousedown",e=>{if(!e.leftButton)return;let{top:t,height:s}=aR(this._diffActions),x=Math.floor(_/3);e.preventDefault(),R(e.posx,t+s+x)})),this._register(s.onMouseMove(e=>{(8===e.target.type||5===e.target.type)&&e.target.detail.viewZoneId===this._getViewZoneId()?(T=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,_),this.visibility=!0):this.visibility=!1})),this._register(s.onMouseDown(e=>{e.event.leftButton&&(8===e.target.type||5===e.target.type)&&e.target.detail.viewZoneId===this._getViewZoneId()&&(e.event.preventDefault(),T=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,_),R(e.event.posx,e.event.posy+_))}))}_updateLightBulbPosition(e,t,s){let{top:x}=aR(e),E=Math.floor((t-x)/s);if(this._diffActions.style.top=`${E*s}px`,this._viewLineCounts){let e=0;for(let t=0;t<this._viewLineCounts.length;t++)if(E<(e+=this._viewLineCounts[t]))return t}return E}}let DV=r$("diffEditorWidget",{createHTML:e=>e});class DX{constructor(e,t,s,x){this.lineTokens=e,this.lineBreakData=t,this.mightContainNonBasicASCII=s,this.mightContainRTL=x}}class Db{static fromEditor(e){let t=e.getOptions(),s=t.get(50),x=t.get(146);return new Db(e.getModel()?.getOptions().tabSize||0,s,t.get(33),s.typicalHalfwidthCharacterWidth,t.get(105),t.get(67),x.decorationsWidth,t.get(118),t.get(100),t.get(95),t.get(51))}constructor(e,t,s,x,E,a,r,i,n,_,T){this.tabSize=e,this.fontInfo=t,this.disableMonospaceOptimizations=s,this.typicalHalfwidthCharacterWidth=x,this.scrollBeyondLastColumn=E,this.lineHeight=a,this.lineDecorationsWidth=r,this.stopRenderingLineAfter=i,this.renderWhitespace=n,this.renderControlCharacters=_,this.fontLigatures=T}}function Dv(e,t,s,x,E,a,r,i){i.appendString('<div class="view-line'),x||i.appendString(" char-delete"),i.appendString('" style="top:'),i.appendString(String(e*r.lineHeight)),i.appendString('px;width:1000000px;">');let n=t.getLineContent(),_=o2.isBasicASCII(n,E),T=o2.containsRTL(n,_,a),S=oQ(new ok(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,n,!1,_,T,0,t,s,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==sq.OFF,null),i);return i.appendString("</div>"),S.characterMapping.getHorizontalOffset(S.characterMapping.length)}var Dk=function(e,t){return function(s,x){t(s,x,e)}};let Dw=class extends xf.JT{constructor(e,t,s,x,E,a,r,i,n,_){super(),this._targetWindow=e,this._editors=t,this._diffModel=s,this._options=x,this._diffEditorWidget=E,this._canIgnoreViewZoneUpdateEvent=a,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=i,this._clipboardService=n,this._contextMenuService=_,this._originalTopPadding=(0,Ts.uh)(this,0),this._originalScrollOffset=(0,Ts.uh)(this,0),this._originalScrollOffsetAnimated=uK(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=(0,Ts.uh)(this,0),this._modifiedScrollOffset=(0,Ts.uh)(this,0),this._modifiedScrollOffsetAnimated=uK(this._targetWindow,this._modifiedScrollOffset,this._store);let T=(0,Ts.uh)("invalidateAlignmentsState",0),S=this._register(new x9.pY(()=>{T.set(T.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||S.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||S.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(e=>{(e.hasChanged(147)||e.hasChanged(67))&&S.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(e=>{(e.hasChanged(147)||e.hasChanged(67))&&S.schedule()}));let R=this._diffModel.map(e=>e?(0,Ts.rD)(this,e.model.original.onDidChangeTokens,()=>2===e.model.original.tokenization.backgroundTokenizationState):void 0).map((e,t)=>e?.read(t)),O=(0,Ts.nK)(e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);if(!t||!s)return null;T.read(e);let x=this._options.renderSideBySide.read(e);return DW(this._editors.original,this._editors.modified,s.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,x)}),A=(0,Ts.nK)(e=>{let t=this._diffModel.read(e)?.movedTextToCompare.read(e);if(!t)return null;T.read(e);let s=t.changes.map(e=>new Df(e));return DW(this._editors.original,this._editors.modified,s,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function N(){let e=document.createElement("div");return e.className="diagonal-fill",e}let o=this._register(new xf.SL);this.viewZones=(0,Ts.Be)(this,(e,t)=>{o.clear();let s=O.read(e)||[],x=[],a=[],r=this._modifiedTopPadding.read(e);r>0&&a.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:r,showInHiddenAreas:!0,suppressMouseDown:!0});let i=this._originalTopPadding.read(e);i>0&&x.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:i,showInHiddenAreas:!0,suppressMouseDown:!0});let n=this._options.renderSideBySide.read(e),_=n?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer();if(_){let e=this._editors.original.getModel();for(let t of s)if(t.diff)for(let s=t.originalRange.startLineNumber;s<t.originalRange.endLineNumberExclusive;s++){if(s>e.getLineCount())return{orig:x,mod:a};_?.addRequest(e.getLineContent(s),null,null)}}let T=_?.finalize()??[],S=0,I=this._editors.modified.getOption(67),L=this._diffModel.read(e)?.movedTextToCompare.read(e),h=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,C=this._editors.original.getModel()?.mightContainRTL()??!1,l=Db.fromEditor(this._editors.modified);for(let r of s)if(!r.diff||n||this._options.useTrueInlineDiffRendering.read(e)&&DQ(r.diff)){let s=r.modifiedHeightInPx-r.originalHeightInPx;if(s>0){if(L?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(r.originalRange.endLineNumberExclusive-1))continue;x.push({afterLineNumber:r.originalRange.endLineNumberExclusive-1,domNode:N(),heightInPx:s,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let x;if(L?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(r.modifiedRange.endLineNumberExclusive-1))continue;r.diff&&r.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(x=function(){let e=document.createElement("div");return e.className="arrow-revert-change "+rh.k.asClassName(i7.l.arrowRight),t.add(aE(e,"mousedown",e=>e.stopPropagation())),t.add(aE(e,"click",e=>{e.stopPropagation(),E.revert(r.diff)})),ak("div",{},e)}()),a.push({afterLineNumber:r.modifiedRange.endLineNumberExclusive-1,domNode:N(),heightInPx:-s,marginDomNode:x,showInHiddenAreas:!0,suppressMouseDown:!0})}}else{if(!r.originalRange.isEmpty){let t;R.read(e);let s=document.createElement("div");s.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");let E=this._editors.original.getModel();if(r.originalRange.endLineNumberExclusive-1>E.getLineCount())return{orig:x,mod:a};let i=new DX(r.originalRange.mapToLineArray(e=>E.tokenization.getLineTokens(e)),r.originalRange.mapToLineArray(e=>T[S++]),h,C),n=[];for(let e of r.diff.innerChanges||[])n.push(new o1(e.originalRange.delta(-(r.diff.original.startLineNumber-1)),DN.className,0));let _=function(e,t,s,x){re(x,t.fontInfo);let E=s.length>0,a=new oF.HT(1e4),r=0,i=0,n=[];for(let x=0;x<e.lineTokens.length;x++){let _=x+1,T=e.lineTokens[x],S=e.lineBreakData[x],R=oH.filter(s,_,1,Number.MAX_SAFE_INTEGER);if(S){let s=0;for(let x of S.breakOffsets)r=Math.max(r,Dv(i,T.sliceAndInflate(s,x,0),oH.extractWrapped(R,s,x),E,e.mightContainNonBasicASCII,e.mightContainRTL,t,a)),i++,s=x;n.push(S.breakOffsets.length)}else n.push(1),r=Math.max(r,Dv(i,T,R,E,e.mightContainNonBasicASCII,e.mightContainRTL,t,a)),i++}r+=t.scrollBeyondLastColumn;let _=a.build(),T=DV?DV.createHTML(_):_;return x.innerHTML=T,{heightInLines:i,minWidthInPx:r*t.typicalHalfwidthCharacterWidth,viewLineCounts:n}}(i,l,n,s),O=document.createElement("div");if(O.className="inline-deleted-margin-view-zone",re(O,l.fontInfo),this._options.renderIndicators.read(e))for(let e=0;e<_.heightInLines;e++){let t=document.createElement("div");t.className=`delete-sign ${rh.k.asClassName(Dn)}`,t.setAttribute("style",`position:absolute;top:${e*I}px;width:${l.lineDecorationsWidth}px;height:${I}px;right:0;`),O.appendChild(t)}o.add(new Dy(()=>(0,ru.cW)(t),O,this._editors.modified,r.diff,this._diffEditorWidget,_.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let e=0;e<_.viewLineCounts.length;e++){let t=_.viewLineCounts[e];t>1&&x.push({afterLineNumber:r.originalRange.startLineNumber+e,domNode:N(),heightInPx:(t-1)*I,showInHiddenAreas:!0,suppressMouseDown:!0})}a.push({afterLineNumber:r.modifiedRange.startLineNumber-1,domNode:s,heightInPx:_.heightInLines*I,minWidthInPx:_.minWidthInPx,marginDomNode:O,setZoneId(e){t=e},showInHiddenAreas:!0,suppressMouseDown:!0})}let t=document.createElement("div");t.className="gutter-delete",x.push({afterLineNumber:r.originalRange.endLineNumberExclusive-1,domNode:N(),heightInPx:r.modifiedHeightInPx,marginDomNode:t,showInHiddenAreas:!0,suppressMouseDown:!0})}for(let t of A.read(e)??[]){if(!L?.lineRangeMapping.original.intersect(t.originalRange)||!L?.lineRangeMapping.modified.intersect(t.modifiedRange))continue;let e=t.modifiedHeightInPx-t.originalHeightInPx;e>0?x.push({afterLineNumber:t.originalRange.endLineNumberExclusive-1,domNode:N(),heightInPx:e,showInHiddenAreas:!0,suppressMouseDown:!0}):a.push({afterLineNumber:t.modifiedRange.endLineNumberExclusive-1,domNode:N(),heightInPx:-e,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:x,mod:a}});let I=!1;this._register(this._editors.original.onDidScrollChange(e=>{e.scrollLeftChanged&&!I&&(I=!0,this._editors.modified.setScrollLeft(e.scrollLeft),I=!1)})),this._register(this._editors.modified.onDidScrollChange(e=>{e.scrollLeftChanged&&!I&&(I=!0,this._editors.original.setScrollLeft(e.scrollLeft),I=!1)})),this._originalScrollTop=(0,Ts.rD)(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,Ts.rD)(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register((0,Ts.EH)(e=>{let t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)})),this._register((0,Ts.EH)(e=>{let t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)})),this._register((0,Ts.EH)(e=>{let t=this._diffModel.read(e)?.movedTextToCompare.read(e),s=0;if(t){let e=this._editors.original.getTopForLineNumber(t.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();s=this._editors.modified.getTopForLineNumber(t.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-e}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 DW(e,t,s,x,E,a){let r=new sD.H9(DK(e,x)),i=new sD.H9(DK(t,E)),n=e.getOption(67),_=t.getOption(67),T=[],S=0,R=0;function O(e,t){for(;;){let s=r.peek(),x=i.peek();if(s&&s.lineNumber>=e&&(s=void 0),x&&x.lineNumber>=t&&(x=void 0),!s&&!x)break;let E=s?s.lineNumber-S:Number.MAX_VALUE,a=x?x.lineNumber-R:Number.MAX_VALUE;E<a?(r.dequeue(),x={lineNumber:s.lineNumber-S+R,heightInPx:0}):E>a?(i.dequeue(),s={lineNumber:x.lineNumber-R+S,heightInPx:0}):(r.dequeue(),i.dequeue()),T.push({originalRange:it.z.ofLength(s.lineNumber,1),modifiedRange:it.z.ofLength(x.lineNumber,1),originalHeightInPx:n+s.heightInPx,modifiedHeightInPx:_+x.heightInPx,diff:void 0})}}for(let t of s){let s=t.lineRangeMapping;O(s.original.startLineNumber,s.modified.startLineNumber);let x=!0,E=s.modified.startLineNumber,N=s.original.startLineNumber;function A(e,s,a=!1){if(e<N||s<E)return;if(x)x=!1;else if(!a&&(e===N||s===E))return;let S=new it.z(N,e),R=new it.z(E,s);if(S.isEmpty&&R.isEmpty)return;let O=r.takeWhile(t=>t.lineNumber<e)?.reduce((e,t)=>e+t.heightInPx,0)??0,A=i.takeWhile(e=>e.lineNumber<s)?.reduce((e,t)=>e+t.heightInPx,0)??0;T.push({originalRange:S,modifiedRange:R,originalHeightInPx:S.length*n+O,modifiedHeightInPx:R.length*_+A,diff:t.lineRangeMapping}),N=e,E=s}if(a)for(let t of s.innerChanges||[]){t.originalRange.startColumn>1&&t.modifiedRange.startColumn>1&&A(t.originalRange.startLineNumber,t.modifiedRange.startLineNumber);let s=e.getModel(),x=t.originalRange.endLineNumber<=s.getLineCount()?s.getLineMaxColumn(t.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;t.originalRange.endColumn<x&&A(t.originalRange.endLineNumber,t.modifiedRange.endLineNumber)}A(s.original.endLineNumberExclusive,s.modified.endLineNumberExclusive,!0),S=s.original.endLineNumberExclusive,R=s.modified.endLineNumberExclusive}return O(Number.MAX_VALUE,Number.MAX_VALUE),T}function DK(e,t){let s=[],x=[],E=-1!==e.getOption(147).wrappingColumn,a=e._getViewModel().coordinatesConverter,r=e.getOption(67);if(E)for(let t=1;t<=e.getModel().getLineCount();t++){let e=a.getModelLineViewLineCount(t);e>1&&x.push({lineNumber:t,heightInPx:r*(e-1)})}for(let x of e.getWhitespaces()){if(t.has(x.id))continue;let e=0===x.afterLineNumber?0:a.convertViewPositionToModelPosition(new cs.L(x.afterLineNumber,1)).lineNumber;s.push({lineNumber:e,heightInPx:x.height})}return function(e,t,s,x){if(0===e.length)return t;if(0===t.length)return e;let E=[],a=0,r=0;for(;a<e.length&&r<t.length;){let i=e[a],n=t[r],_=s(i),T=s(n);_<T?(E.push(i),a++):(_>T?E.push(n):(E.push(x(i,n)),a++),r++)}for(;a<e.length;)E.push(e[a]),a++;for(;r<t.length;)E.push(t[r]),r++;return E}(s,x,e=>e.lineNumber,(e,t)=>({lineNumber:e.lineNumber,heightInPx:e.heightInPx+t.heightInPx}))}function DQ(e){return!!e.innerChanges&&e.innerChanges.every(e=>DJ(e.modifiedRange)&&DJ(e.originalRange)||e.originalRange.equalsRange(new r3.e(1,1,1,1)))}function DJ(e){return e.startLineNumber===e.endLineNumber}Dw=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([Dk(8,Nm),Dk(9,iJ)],Dw);class DZ extends xf.JT{static{this.movedCodeBlockPadding=4}constructor(e,t,s,x,E){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=s,this._modifiedEditorLayoutInfo=x,this._editors=E,this._originalScrollTop=(0,Ts.rD)(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,Ts.rD)(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=(0,Ts.aq)("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=(0,Ts.uh)(this,0),this._modifiedViewZonesChangedSignal=(0,Ts.aq)("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=(0,Ts.aq)("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=(0,Ts.Be)(this,(e,t)=>{this._element.replaceChildren();let s=this._diffModel.read(e),x=s?.diff.read(e)?.movedTexts;if(!x||0===x.length){this.width.set(0,void 0);return}this._viewZonesChanged.read(e);let E=this._originalEditorLayoutInfo.read(e),a=this._modifiedEditorLayoutInfo.read(e);if(!E||!a){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(e),this._originalViewZonesChangedSignal.read(e);let r=x.map(t=>{function s(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}let x=s(t.lineRangeMapping.original,this._editors.original),E=this._originalScrollTop.read(e),a=s(t.lineRangeMapping.modified,this._editors.modified),r=this._modifiedScrollTop.read(e),i=x-E,n=a-r,_=Math.min(x,a),T=Math.max(x,a);return{range:new u1.q(_,T),from:i,to:n,fromWithoutScroll:x,toWithoutScroll:a,move:t}});r.sort((0,sD.f_)((0,sD.tT)(e=>e.fromWithoutScroll>e.toWithoutScroll,sD.nW),(0,sD.tT)(e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll,sD.fv)));let i=Dz.compute(r.map(e=>e.range)),n=E.verticalScrollbarWidth,_=(i.getTrackCount()-1)*10+20,T=n+_+(a.contentLeft-DZ.movedCodeBlockPadding),S=0;for(let e of r){let x=n+10+10*i.getTrack(S),E=a.glyphMarginWidth+a.lineNumbersWidth,r=document.createElementNS("http://www.w3.org/2000/svg","rect");r.classList.add("arrow-rectangle"),r.setAttribute("x",`${T-E}`),r.setAttribute("y",`${e.to-9}`),r.setAttribute("width",`${E}`),r.setAttribute("height","18"),this._element.appendChild(r);let _=document.createElementNS("http://www.w3.org/2000/svg","g"),R=document.createElementNS("http://www.w3.org/2000/svg","path");R.setAttribute("d",`M 0 ${e.from} L ${x} ${e.from} L ${x} ${e.to} L ${T-15} ${e.to}`),R.setAttribute("fill","none"),_.appendChild(R);let O=document.createElementNS("http://www.w3.org/2000/svg","polygon");O.classList.add("arrow"),t.add((0,Ts.EH)(t=>{R.classList.toggle("currentMove",e.move===s.activeMovedText.read(t)),O.classList.toggle("currentMove",e.move===s.activeMovedText.read(t))})),O.setAttribute("points",`${T-15},${e.to-7.5} ${T},${e.to} ${T-15},${e.to+7.5}`),_.appendChild(O),this._element.appendChild(_),S++}this.width.set(_,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((0,xf.OF)(()=>this._element.remove())),this._register((0,Ts.EH)(e=>{let t=this._originalEditorLayoutInfo.read(e),s=this._modifiedEditorLayoutInfo.read(e);t&&s&&(this._element.style.left=`${t.width-t.verticalScrollbarWidth}px`,this._element.style.height=`${t.height}px`,this._element.style.width=`${t.verticalScrollbarWidth+t.contentLeft-DZ.movedCodeBlockPadding+this.width.read(e)}px`)})),this._register((0,Ts.jx)(this._state));let a=(0,Ts.nK)(e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);return s?s.movedTexts.map(e=>({move:e,original:new uJ((0,Ts.Dz)(e.lineRangeMapping.original.startLineNumber-1),18),modified:new uJ((0,Ts.Dz)(e.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(uq(this._editors.original,a.map(e=>e.map(e=>e.original)))),this._register(uq(this._editors.modified,a.map(e=>e.map(e=>e.modified)))),this._register((0,Ts.gp)((e,t)=>{for(let s of a.read(e))t.add(new Dq(this._editors.original,s.original,s.move,"original",this._diffModel.get())),t.add(new Dq(this._editors.modified,s.modified,s.move,"modified",this._diffModel.get()))}));let r=(0,Ts.aq)("original.onDidFocusEditorWidget",e=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),i=(0,Ts.aq)("modified.onDidFocusEditorWidget",e=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),n="modified";this._register((0,Ts.nJ)({createEmptyChangeSummary:()=>void 0,handleChange:(e,t)=>(e.didChange(r)&&(n="original"),e.didChange(i)&&(n="modified"),!0)},e=>{let t;r.read(e),i.read(e);let s=this._diffModel.read(e);if(!s)return;let x=s.diff.read(e);if(x&&"original"===n){let s=this._editors.originalCursor.read(e);s&&(t=x.movedTexts.find(e=>e.lineRangeMapping.original.contains(s.lineNumber)))}if(x&&"modified"===n){let s=this._editors.modifiedCursor.read(e);s&&(t=x.movedTexts.find(e=>e.lineRangeMapping.modified.contains(s.lineNumber)))}t!==s.movedTextToCompare.get()&&s.movedTextToCompare.set(void 0,void 0),s.setActiveMovedText(t)}))}}class Dz{static compute(e){let t=[],s=[];for(let x of e){let e=t.findIndex(e=>!e.intersectsStrict(x));-1===e&&(t.length>=6?e=(0,lo.Y0)(t,(0,sD.tT)(e=>e.intersectWithRangeLength(x),sD.fv)):(e=t.length,t.push(new u1.M))),t[e].addRange(x),s.push(e)}return new Dz(t.length,s)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class Dq extends uQ{constructor(e,t,s,x,E){let a;let r=a2("div.diff-hidden-lines-widget");super(e,t,r.root),this._editor=e,this._move=s,this._kind=x,this._diffModel=E,this._nodes=a2("div.diff-moved-code-block",{style:{marginRight:"4px"}},[a2("div.text-content@textContent"),a2("div.action-bar@actionBar")]),r.root.appendChild(this._nodes.root);let i=(0,Ts.rD)(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(uz(this._nodes.root,{paddingRight:i.map(e=>e.verticalScrollbarWidth)})),a=s.changes.length>0?"original"===this._kind?(0,sY.NC)("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,sY.NC)("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?(0,sY.NC)("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,sY.NC)("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);let n=this._register(new Ss(this._nodes.actionBar,{highlightToggledItems:!0})),_=new rO("",a,"",!1);n.push(_,{icon:!1,label:!0});let T=new rO("","Compare",rh.k.asClassName(i7.l.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===s?void 0:this._move,void 0)});this._register((0,Ts.EH)(e=>{let t=this._diffModel.movedTextToCompare.read(e)===s;T.checked=t})),n.push(T,{icon:!1,label:!0})}}class Dj extends xf.JT{constructor(e,t,s,x){super(),this._editors=e,this._diffModel=t,this._options=s,this._decorations=(0,Ts.nK)(this,e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);if(!s)return null;let x=this._diffModel.read(e).movedTextToCompare.read(e),E=this._options.renderIndicators.read(e),a=this._options.showEmptyDecorations.read(e),r=[],i=[];if(!x)for(let x of s.mappings)if(x.lineRangeMapping.original.isEmpty||r.push({range:x.lineRangeMapping.original.toInclusiveRange(),options:E?Dc:DS}),x.lineRangeMapping.modified.isEmpty||i.push({range:x.lineRangeMapping.modified.toInclusiveRange(),options:E?D_:DT}),x.lineRangeMapping.modified.isEmpty||x.lineRangeMapping.original.isEmpty)x.lineRangeMapping.original.isEmpty||r.push({range:x.lineRangeMapping.original.toInclusiveRange(),options:Do}),x.lineRangeMapping.modified.isEmpty||i.push({range:x.lineRangeMapping.modified.toInclusiveRange(),options:DO});else{let s=this._options.useTrueInlineDiffRendering.read(e)&&DQ(x.lineRangeMapping);for(let e of x.lineRangeMapping.innerChanges||[])if(x.lineRangeMapping.original.contains(e.originalRange.startLineNumber)&&r.push({range:e.originalRange,options:e.originalRange.isEmpty()&&a?DI:DN}),x.lineRangeMapping.modified.contains(e.modifiedRange.startLineNumber)&&i.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()&&a&&!s?DA:DR}),s){let s=t.model.original.getValueInRange(e.originalRange);i.push({range:e.modifiedRange,options:{description:"deleted-text",before:{content:s,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(x)for(let e of x.changes){let t=e.original.toInclusiveRange();t&&r.push({range:t,options:E?Dc:DS});let s=e.modified.toInclusiveRange();for(let t of(s&&i.push({range:s,options:E?D_:DT}),e.innerChanges||[]))r.push({range:t.originalRange,options:DN}),i.push({range:t.modifiedRange,options:DR})}let n=this._diffModel.read(e).activeMovedText.read(e);for(let e of s.movedTexts)r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(e===n?" currentMove":""),blockPadding:[DZ.movedCodeBlockPadding,0,DZ.movedCodeBlockPadding,DZ.movedCodeBlockPadding]}}),i.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(e===n?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:i}}),this._register(uk(this._editors.original,this._decorations.map(e=>e?.originalDecorations||[]))),this._register(uk(this._editors.modified,this._decorations.map(e=>e?.modifiedDecorations||[])))}}class D${resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=(0,uX.B5)(this,e=>{let t=this._sashRatio.read(e)??this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(t,e)},(e,t)=>{let s=this.dimensions.width.get();this._sashRatio.set(e/s,t)}),this._sashRatio=(0,Ts.uh)(this,void 0)}_computeSashLeft(e,t){let s=this.dimensions.width.read(t),x=Math.floor(this._options.splitViewDefaultRatio.read(t)*s),E=this._options.enableSplitViewResizing.read(t)?Math.floor(e*s):x;return s<=200?x:E<100?100:E>s-100?s-100:E}}class D0 extends xf.JT{constructor(e,t,s,x,E,a){super(),this._domNode=e,this._dimensions=t,this._enabled=s,this._boundarySashes=x,this.sashLeft=E,this._resetSash=a,this._sash=this._register(new Ro(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>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(e=>{this.sashLeft.set(this._startSashPosition+(e.currentX-e.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register((0,Ts.EH)(e=>{let t=this._boundarySashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)})),this._register((0,Ts.EH)(e=>{let t=this._enabled.read(e);this._sash.state=t?3:0,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()}))}}class D2 extends xf.JT{constructor(e,t,s){super(),this._editor=e,this._domNode=t,this.itemProvider=s,this.scrollTop=(0,Ts.rD)(this,this._editor.onDidScrollChange,e=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(e=>0===e),this.modelAttached=(0,Ts.rD)(this,this._editor.onDidChangeModel,e=>this._editor.hasModel()),this.editorOnDidChangeViewZones=(0,Ts.aq)("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=(0,Ts.aq)("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=(0,Ts.GN)("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";let x=this._domNode.appendChild(a2("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),E=new ResizeObserver(()=>{(0,Ts.PS)(e=>{this.domNodeSizeChanged.trigger(e)})});E.observe(this._domNode),this._register((0,xf.OF)(()=>E.disconnect())),this._register((0,Ts.EH)(e=>{x.className=this.isScrollTopZero.read(e)?"":"scroll-decoration"})),this._register((0,Ts.EH)(e=>this.render(e)))}dispose(){super.dispose(),aX(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);let t=this.scrollTop.read(e),s=this._editor.getVisibleRanges(),x=new Set(this.views.keys()),E=u1.q.ofStartAndLength(0,this._domNode.clientHeight);if(!E.isEmpty)for(let a of s){let s=new it.z(a.startLineNumber,a.endLineNumber+1),r=this.itemProvider.getIntersectingGutterItems(s,e);(0,Ts.PS)(e=>{for(let a of r){if(!a.range.intersect(s))continue;x.delete(a.id);let r=this.views.get(a.id);if(r)r.item.set(a,e);else{let e=document.createElement("div");this._domNode.appendChild(e);let t=(0,Ts.uh)("item",a),s=this.itemProvider.createView(t,e);r=new D1(t,s,e),this.views.set(a.id,r)}let i=a.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(a.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(a.range.startLineNumber-1,!1)-t,n=(1===a.range.endLineNumberExclusive?Math.max(i,this._editor.getTopForLineNumber(a.range.startLineNumber,!1)-t):Math.max(i,this._editor.getBottomForLineNumber(a.range.endLineNumberExclusive-1,!0)-t))-i;r.domNode.style.top=`${i}px`,r.domNode.style.height=`${n}px`,r.gutterItemView.layout(u1.q.ofStartAndLength(i,n),E)}})}for(let e of x){let t=this.views.get(e);t.gutterItemView.dispose(),t.domNode.remove(),this.views.delete(e)}}}class D1{constructor(e,t,s){this.item=e,this.gutterItemView=t,this.domNode=s}}class D3 extends rA{constructor(e){super(),this._getContext=e}runAction(e,t){let s=this._getContext();return super.runAction(e,s)}}var D7=x(21780);class D5 extends D7.MS{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){let e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new uv.A(e-1,t)}}x(28614);class D4 extends xf.JT{constructor(e,t,s={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new Ee.z5),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new xf.SL),s.hoverDelegate=s.hoverDelegate??this._register(cJ()),this.options=s,this.toggleMenuAction=this._register(new D6(()=>this.toggleMenuActionViewItem?.show(),s.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new Ss(this.element,{orientation:s.orientation,ariaLabel:s.ariaLabel,actionRunner:s.actionRunner,allowContextMenu:s.allowContextMenu,highlightToggledItems:s.highlightToggledItems,hoverDelegate:s.hoverDelegate,actionViewItemProvider:(e,x)=>{if(e.id===D6.ID)return this.toggleMenuActionViewItem=new TX(e,e.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:rh.k.asClassNameArray(s.moreIcon??i7.l.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(s.actionViewItemProvider){let t=s.actionViewItemProvider(e,x);if(t)return t}if(e instanceof ro){let s=new TX(e,e.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:e.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return s.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(s),this.disposables.add(this._onDidChangeDropdownVisibility.add(s.onDidChangeVisibility)),s}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();let s=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),s.push(this.toggleMenuAction)),s.forEach(e=>{this.actionBar.push(e,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(e)})})}getKeybindingLabel(e){let t=this.options.getKeyBinding?.(e);return t?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class D6 extends rO{static{this.ID="toolbar.toggle.more"}constructor(e,t){super(D6.ID,t=t||sY.NC("moreActions","More Actions..."),void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}var D8=x(49230),D9=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},Me=function(e,t){return function(s,x){t(s,x,e)}};let Mt=class extends D4{constructor(e,t,s,x,E,a,r,i){super(e,E,{getKeyBinding:e=>a.lookupKeybinding(e.id)??void 0,...t,allowContextMenu:!0,skipTelemetry:"string"==typeof t?.telemetrySource}),this._options=t,this._menuService=s,this._contextKeyService=x,this._contextMenuService=E,this._keybindingService=a,this._commandService=r,this._sessionDisposables=this._store.add(new xf.SL);let n=t?.telemetrySource;n&&this._store.add(this.actionBar.onDidRun(e=>i.publicLog2("workbenchActionExecuted",{id:e.action.id,from:n})))}setActions(e,t=[],s){this._sessionDisposables.clear();let x=e.slice(),E=t.slice(),a=[],r=0,i=[],n=!1;if(this._options?.hiddenItemStrategy!==-1)for(let e=0;e<x.length;e++){let t=x[e];(t instanceof ry||t instanceof rH)&&t.hideActions&&(a.push(t.hideActions.toggle),t.hideActions.toggle.checked&&r++,t.hideActions.isHidden&&(n=!0,x[e]=void 0,this._options?.hiddenItemStrategy!==0&&(i[e]=t)))}if(this._options?.overflowBehavior!==void 0){let e=(0,D8.j)(new Set(this._options.overflowBehavior.exempted),rl.$.map(x,e=>e?.id)),t=this._options.overflowBehavior.maxItems-e.size,s=0;for(let E=0;E<x.length;E++){let a=x[E];a&&(s++,!e.has(a.id)&&s>=t&&(x[E]=void 0,i[E]=a))}}(0,sD.Rs)(x),(0,sD.Rs)(i),super.setActions(x,rN.join(i,E)),(a.length>0||x.length>0)&&this._sessionDisposables.add(aE(this.getElement(),"contextmenu",e=>{let t=new x6(E1(this.getElement()),e),x=this.getItemAction(t.target);if(!x)return;t.preventDefault(),t.stopPropagation();let E=[];if(x instanceof ry&&x.menuKeybinding)E.push(x.menuKeybinding);else if(!(x instanceof rH||x instanceof D6)){let e=!!this._keybindingService.lookupKeybinding(x.id);E.push(NY(this._commandService,this._keybindingService,x.id,void 0,e))}if(a.length>0){let e=!1;if(1===r&&this._options?.hiddenItemStrategy===0){e=!0;for(let e=0;e<a.length;e++)if(a[e].checked){a[e]=rL({id:x.id,label:x.label,checked:!0,enabled:!1,run(){}});break}}if(!e&&(x instanceof ry||x instanceof rH)){if(!x.hideActions)return;E.push(x.hideActions.hide)}else E.push(rL({id:"label",label:(0,sY.NC)("hide","Hide"),enabled:!1,run(){}}))}let i=rN.join(E,a);this._options?.resetMenu&&!s&&(s=[this._options.resetMenu]),n&&s&&(i.push(new rN),i.push(rL({id:"resetThisMenu",label:(0,sY.NC)("resetThisMenu","Reset Menu"),run:()=>this._menuService.resetHiddenStates(s)}))),0!==i.length&&this._contextMenuService.showContextMenu({getAnchor:()=>t,getActions:()=>i,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:"string"==typeof this._options?.telemetrySource,contextKeyService:this._contextKeyService})}))}};Mt=D9([Me(2,rf),Me(3,rP.i6),Me(4,iJ),Me(5,iZ),Me(6,rD),Me(7,rV)],Mt);let Ms=class extends Mt{constructor(e,t,s,x,E,a,r,i,n){super(e,{resetMenu:t,...s},x,E,a,r,i,n),this._onDidChangeMenuItems=this._store.add(new Ee.Q5),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;let _=this._store.add(x.createMenu(t,E,{emitEventsForSubmenuChanges:!0})),T=()=>{let t=[],x=[];(function(e,t,s,x,E,a){let r,i,n,_,T;Array.isArray(e)?(T=e,r=t,i=s,n=x,_=E):(T=e.getActions(t),r=s,i=x,n=E,_=a),T6(T,r,!1,"string"==typeof i?e=>e===i:i,n,_)})(_,s?.menuOptions,{primary:t,secondary:x},s?.toolbarOptions?.primaryGroup,s?.toolbarOptions?.shouldInlineSubmenu,s?.toolbarOptions?.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",0===t.length&&0===x.length),super.setActions(t,x)};this._store.add(_.onDidChange(()=>{T(),this._onDidChangeMenuItems.fire(this)})),T()}setActions(){throw new xZ.he("This toolbar is populated from a menu.")}};Ms=D9([Me(3,rf),Me(4,rP.i6),Me(5,iJ),Me(6,iZ),Me(7,rD),Me(8,rV)],Ms);var Mx=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},ME=function(e,t){return function(s,x){t(s,x,e)}};let Ma=[],Mr=class extends xf.JT{constructor(e,t,s,x,E,a,r,i,n){super(),this._diffModel=t,this._editors=s,this._options=x,this._sashLayout=E,this._boundarySashes=a,this._instantiationService=r,this._contextKeyService=i,this._menuService=n,this._menu=this._register(this._menuService.createMenu(rm.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=(0,Ts.rD)(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(e=>e.length>0),this._showSash=(0,Ts.nK)(this,e=>this._options.renderSideBySide.read(e)&&this._hasActions.read(e)),this.width=(0,Ts.nK)(this,e=>this._hasActions.read(e)?35:0),this.elements=a2("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:"35px"}},[]),this._currentDiff=(0,Ts.nK)(this,e=>{let t=this._diffModel.read(e);if(!t)return;let s=t.diff.read(e)?.mappings,x=this._editors.modifiedCursor.read(e);if(x)return s?.find(e=>e.lineRangeMapping.modified.contains(x.lineNumber))}),this._selectedDiffs=(0,Ts.nK)(this,e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);if(!s)return Ma;let x=this._editors.modifiedSelections.read(e);if(x.every(e=>e.isEmpty()))return Ma;let E=new it.i(x.map(e=>it.z.fromRangeInclusive(e))),a=s.mappings.filter(e=>e.lineRangeMapping.innerChanges&&E.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>x.some(t=>r3.e.areIntersecting(e.modifiedRange,t)))}));return 0===a.length||a.every(e=>0===e.rangeMappings.length)?Ma:a}),this._register(function(e,t){return e.prepend(t),(0,xf.OF)(()=>{t.remove()})}(e,this.elements.root)),this._register(aE(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(uz(this.elements.root,{display:this._hasActions.map(e=>e?"block":"none")})),(0,uX.kA)(this,t=>this._showSash.read(t)?new D0(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,(0,uX.B5)(this,e=>this._sashLayout.sashLeft.read(e)-35,(e,t)=>this._sashLayout.sashLeft.set(e+35,t)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new D2(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>{let s=this._diffModel.read(t);if(!s)return[];let x=s.diff.read(t);if(!x)return[];let E=this._selectedDiffs.read(t);if(E.length>0)return[new Mi(ie.gB.fromRangeMappings(E.flatMap(e=>e.rangeMappings)),!0,rm.DiffEditorSelectionToolbar,void 0,s.model.original.uri,s.model.modified.uri)];let a=this._currentDiff.read(t);return x.mappings.map(e=>new Mi(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===a?.lineRangeMapping,rm.DiffEditorHunkToolbar,void 0,s.model.original.uri,s.model.modified.uri))},createView:(e,t)=>this._instantiationService.createInstance(Mn,e,t,this)})),this._register(aE(this.elements.gutter,af.MOUSE_WHEEL,e=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1}))}computeStagedValue(e){let t=e.innerChanges??[],s=new D5(this._editors.modifiedModel.get()),x=new D5(this._editors.original.getModel());return new D7.PY(t.map(e=>e.toTextEdit(s))).apply(x)}layout(e){this.elements.gutter.style.left=e+"px"}};Mr=Mx([ME(6,rc.TG),ME(7,rP.i6),ME(8,rf)],Mr);class Mi{constructor(e,t,s,x,E,a){this.mapping=e,this.showAlways=t,this.menuId=s,this.rangeOverride=x,this.originalUri=E,this.modifiedUri=a}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let Mn=class extends xf.JT{constructor(e,t,s,x){super(),this._item=e,this._elements=a2("div.gutterItem",{style:{height:"20px",width:"34px"}},[a2("div.background@background",{},[]),a2("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,e=>e.showAlways),this._menuId=this._item.map(this,e=>e.menuId),this._isSmall=(0,Ts.uh)(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;let E=this._register(x.createInstance(iK,"element",!0,{position:{hoverPosition:1}}));this._register(uw(t,this._elements.root)),this._register((0,Ts.EH)(e=>{let t=this._showAlways.read(e);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",t),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register((0,Ts.gp)((e,t)=>{this._elements.buttons.replaceChildren();let a=t.add(x.createInstance(Ms,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:E,toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:new D3(()=>{let e=this._item.get(),t=e.mapping;return{mapping:t,originalWithModifiedChanges:s.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));t.add(a.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let s=this._elements.buttons.clientHeight;this._isSmall.set(1===this._item.get().mapping.original.startLineNumber&&e.length<30,void 0),s=this._elements.buttons.clientHeight;let x=e.length/2-s/2,E=s,a=e.start+x,r=u1.q.tryCreate(E,t.endExclusive-E-s),i=u1.q.tryCreate(e.start+E,e.endExclusive-s-E);i&&r&&i.start<i.endExclusive&&(a=r.clip(a),a=i.clip(a)),this._elements.buttons.style.top=`${a-e.start}px`}};Mn=Mx([ME(3,rc.TG)],Mn);var M_=x(86869),Mc=x(81941);function MT(e){return MS.get(e)}class MS extends xf.JT{static{this._map=new Map}static get(e){let t=MS._map.get(e);if(!t){t=new MS(e),MS._map.set(e,t);let s=e.onDidDispose(()=>{let t=MS._map.get(e);t&&(MS._map.delete(e),t.dispose(),s.dispose())})}return t}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&(this._currentTransaction=new Mc.es(()=>{}))}_endUpdate(){if(this._updateCounter--,0===this._updateCounter){let e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=(0,Ts.uh)(this,this.editor.getModel()),this.model=this._model,this.isReadonly=(0,Ts.rD)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(92)),this._versionId=(0,Ts.Ku)({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=(0,Ts.Ku)({owner:this,equalsFn:(0,M_.Tx)((0,M_.ZC)(Ln.Y.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.isFocused=(0,Ts.rD)(this,e=>{let t=this.editor.onDidFocusEditorWidget(e),s=this.editor.onDidBlurEditorWidget(e);return{dispose(){t.dispose(),s.dispose()}}},()=>this.editor.hasWidgetFocus()),this.value=(0,uX.B5)(this,e=>(this.versionId.read(e),this.model.read(e)?.getValue()??""),(e,t)=>{let s=this.model.get();null!==s&&e!==s.getValue()&&s.setValue(e)}),this.valueIsEmpty=(0,Ts.nK)(this,e=>(this.versionId.read(e),this.editor.getModel()?.getValueLength()===0)),this.cursorSelection=(0,Ts.bk)({owner:this,equalsFn:(0,M_.Tx)(Ln.Y.selectionsEqual)},e=>this.selections.read(e)?.[0]??null),this.onDidType=(0,Ts.GN)(this),this.scrollTop=(0,Ts.rD)(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=(0,Ts.rD)(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=(0,Ts.rD)(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(e=>e.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(e=>e.decorationsLeft),this.contentWidth=(0,Ts.rD)(this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this._overlayWidgetCounter=0,this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(e=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,e)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(e=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(e=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}}))}forceUpdate(e){this._beginUpdate();try{if(this._forceUpdate(),!e)return;return e(this._currentTransaction)}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e){return(0,Ts.rD)(this,t=>this.editor.onDidChangeConfiguration(s=>{s.hasChanged(e)&&t(void 0)}),()=>this.editor.getOption(e))}setDecorations(e){let t=new xf.SL,s=this.editor.createDecorationsCollection();return t.add((0,Ts.UV)({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},t=>{let x=e.read(t);s.set(x)})),t.add({dispose:()=>{s.clear()}}),t}createOverlayWidget(e){let t="observableOverlayWidget"+this._overlayWidgetCounter++,s={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(s);let x=(0,Ts.EH)(t=>{e.position.read(t),e.minContentWidthInPx.read(t),this.editor.layoutOverlayWidget(s)});return(0,xf.OF)(()=>{x.dispose(),this.editor.removeOverlayWidget(s)})}}let MR=class extends xf.JT{static{e2=this}static{this._breadcrumbsSourceFactory=(0,Ts.uh)(e2,()=>({dispose(){},getBreadcrumbItems:(e,t)=>[]}))}static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,s,x){super(),this._editors=e,this._diffModel=t,this._options=s,this._instantiationService=x,this._modifiedOutlineSource=(0,uX.kA)(this,e=>{let t=this._editors.modifiedModel.read(e),s=e2._breadcrumbsSourceFactory.read(e);return t&&s?s(t,this._instantiationService):void 0}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(e=>{if(1===e.reason)return;let t=this._diffModel.get();(0,Ts.PS)(e=>{for(let s of this._editors.original.getSelections()||[])t?.ensureOriginalLineIsVisible(s.getStartPosition().lineNumber,0,e),t?.ensureOriginalLineIsVisible(s.getEndPosition().lineNumber,0,e)})})),this._register(this._editors.modified.onDidChangeCursorPosition(e=>{if(1===e.reason)return;let t=this._diffModel.get();(0,Ts.PS)(e=>{for(let s of this._editors.modified.getSelections()||[])t?.ensureModifiedLineIsVisible(s.getStartPosition().lineNumber,0,e),t?.ensureModifiedLineIsVisible(s.getEndPosition().lineNumber,0,e)})}));let E=this._diffModel.map((e,t)=>{let s=e?.unchangedRegions.read(t)??[];return 1===s.length&&1===s[0].modifiedLineNumber&&s[0].lineCount===this._editors.modifiedModel.read(t)?.getLineCount()?[]:s});this.viewZones=(0,Ts.Be)(this,(e,t)=>{let s=this._modifiedOutlineSource.read(e);if(!s)return{origViewZones:[],modViewZones:[]};let x=[],a=[],r=this._options.renderSideBySide.read(e),i=this._options.compactMode.read(e),n=E.read(e);for(let E=0;E<n.length;E++){let _=n[E];if(!_.shouldHideControls(e)&&(!i||0!==E&&E!==n.length-1)){if(i){{let e=new uJ((0,Ts.nK)(this,e=>_.getHiddenOriginalRange(e).startLineNumber-1),12);x.push(e),t.add(new MO(this._editors.original,e,_,!r))}{let e=new uJ((0,Ts.nK)(this,e=>_.getHiddenModifiedRange(e).startLineNumber-1),12);a.push(e),t.add(new MO(this._editors.modified,e,_))}}else{{let e=new uJ((0,Ts.nK)(this,e=>_.getHiddenOriginalRange(e).startLineNumber-1),24);x.push(e),t.add(new MA(this._editors.original,e,_,_.originalUnchangedRange,!r,s,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}{let e=new uJ((0,Ts.nK)(this,e=>_.getHiddenModifiedRange(e).startLineNumber-1),24);a.push(e),t.add(new MA(this._editors.modified,e,_,_.modifiedUnchangedRange,!1,s,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}}}}return{origViewZones:x,modViewZones:a}});let a={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},r={description:"Fold Unchanged",glyphMarginHoverMessage:new n3(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,sY.NC)("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+rh.k.asClassName(i7.l.fold),zIndex:10001};this._register(uk(this._editors.original,(0,Ts.nK)(this,e=>{let t=E.read(e),s=t.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:a}));for(let x of t)x.shouldHideControls(e)&&s.push({range:r3.e.fromPositions(new cs.L(x.originalLineNumber,1)),options:r});return s}))),this._register(uk(this._editors.modified,(0,Ts.nK)(this,e=>{let t=E.read(e),s=t.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:a}));for(let x of t)x.shouldHideControls(e)&&s.push({range:it.z.ofLength(x.modifiedLineNumber,1).toInclusiveRange(),options:r});return s}))),this._register((0,Ts.EH)(e=>{let t=E.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map(t=>t.getHiddenOriginalRange(e).toInclusiveRange()).filter(ru.$K)),this._editors.modified.setHiddenAreas(t.map(t=>t.getHiddenModifiedRange(e).toInclusiveRange()).filter(ru.$K))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){let t=e.target.position.lineNumber,s=this._diffModel.get();if(!s)return;let x=s.unchangedRegions.get().find(e=>e.modifiedUnchangedRange.includes(t));x&&(x.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault())}})),this._register(this._editors.original.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){let t=e.target.position.lineNumber,s=this._diffModel.get();if(!s)return;let x=s.unchangedRegions.get().find(e=>e.originalUnchangedRange.includes(t));x&&(x.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault())}}))}};MR=e2=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([(C=rc.TG,function(e,t){C(e,t,3)})],MR);class MO extends uQ{constructor(e,t,s,x=!1){let E=a2("div.diff-hidden-lines-widget");super(e,t,E.root),this._unchangedRegion=s,this._hide=x,this._nodes=a2("div.diff-hidden-lines-compact",[a2("div.line-left",[]),a2("div.text@text",[]),a2("div.line-right",[])]),E.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register((0,Ts.EH)(e=>{if(!this._hide){let t=this._unchangedRegion.getHiddenModifiedRange(e).length,s=(0,sY.NC)("hiddenLines","{0} hidden lines",t);this._nodes.text.innerText=s}}))}}class MA extends uQ{constructor(e,t,s,x,E,a,r,i){let n=a2("div.diff-hidden-lines-widget");super(e,t,n.root),this._editor=e,this._unchangedRegion=s,this._unchangedRegionRange=x,this._hide=E,this._modifiedOutlineSource=a,this._revealModifiedHiddenLine=r,this._options=i,this._nodes=a2("div.diff-hidden-lines",[a2("div.top@top",{title:(0,sY.NC)("diff.hiddenLines.top","Click or drag to show more above")}),a2("div.center@content",{style:{display:"flex"}},[a2("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[ak("a",{title:(0,sY.NC)("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...nI("$(unfold)"))]),a2("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),a2("div.bottom@bottom",{title:(0,sY.NC)("diff.bottom","Click or drag to show more below"),role:"button"})]),n.root.appendChild(this._nodes.root),this._hide?aX(this._nodes.first):this._register(uz(this._nodes.first,{width:MT(this._editor).layoutInfoContentLeft})),this._register((0,Ts.EH)(e=>{let t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!t),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle("canMoveBottom",!t);let s=this._unchangedRegion.isDragged.read(e),x=this._editor.getDomNode();x&&(x.classList.toggle("draggingUnchangedRegion",!!s),"top"===s?(x.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),x.classList.toggle("canMoveBottom",!t)):"bottom"===s?(x.classList.toggle("canMoveTop",!t),x.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(x.classList.toggle("canMoveTop",!1),x.classList.toggle("canMoveBottom",!1)))}));let _=this._editor;this._register(aE(this._nodes.top,"mousedown",e=>{if(0!==e.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();let t=e.clientY,s=!1,x=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);let E=E1(this._nodes.top),a=aE(E,"mousemove",e=>{let E=e.clientY-t;s=s||Math.abs(E)>2;let a=Math.max(0,Math.min(x+Math.round(E/_.getOption(67)),this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(a,void 0)}),r=aE(E,"mouseup",e=>{s||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),a.dispose(),r.dispose()})})),this._register(aE(this._nodes.bottom,"mousedown",e=>{if(0!==e.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();let t=e.clientY,s=!1,x=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);let E=E1(this._nodes.bottom),a=aE(E,"mousemove",e=>{let E=e.clientY-t;s=s||Math.abs(E)>2;let a=Math.max(0,Math.min(x-Math.round(E/_.getOption(67)),this._unchangedRegion.getMaxVisibleLineCountBottom())),r=this._unchangedRegionRange.endLineNumberExclusive>_.getModel().getLineCount()?_.getContentHeight():_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(a,void 0);let i=this._unchangedRegionRange.endLineNumberExclusive>_.getModel().getLineCount()?_.getContentHeight():_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);_.setScrollTop(_.getScrollTop()+(i-r))}),r=aE(E,"mouseup",e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!s){let e=_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);let t=_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);_.setScrollTop(_.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),a.dispose(),r.dispose()})})),this._register((0,Ts.EH)(e=>{let t=[];if(!this._hide){let x=s.getHiddenModifiedRange(e).length,E=(0,sY.NC)("hiddenLines","{0} hidden lines",x),a=ak("span",{title:(0,sY.NC)("diff.hiddenLines.expandAll","Double click to unfold")},E);a.addEventListener("dblclick",e=>{0===e.button&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))}),t.push(a);let r=this._unchangedRegion.getHiddenModifiedRange(e),i=this._modifiedOutlineSource.getBreadcrumbItems(r,e);if(i.length>0){t.push(ak("span",void 0,"\xa0\xa0|\xa0\xa0"));for(let e=0;e<i.length;e++){let s=i[e],x=a2("div.breadcrumb-item",{style:{display:"flex",alignItems:"center"}},[nL(_U.uZ.toIcon(s.kind)),"\xa0",s.name,...e===i.length-1?[]:[nL(i7.l.chevronRight)]]).root;t.push(x),x.onclick=()=>{this._revealModifiedHiddenLine(s.startLineNumber)}}}}aX(this._nodes.others,...t)}))}}let MN=class extends xf.JT{static{e1=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=2*this.ONE_OVERVIEW_WIDTH}constructor(e,t,s,x,E,a,r){super(),this._editors=e,this._rootElement=t,this._diffModel=s,this._rootWidth=x,this._rootHeight=E,this._modifiedEditorLayoutInfo=a,this._themeService=r,this.width=e1.ENTIRE_DIFF_OVERVIEW_WIDTH;let i=(0,Ts.rD)(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),n=(0,Ts.nK)(e=>{let t=i.read(e);return{insertColor:t.getColor(iv.P6Y)||(t.getColor(iv.ypS)||iv.CzK).transparent(2),removeColor:t.getColor(iv.F9q)||(t.getColor(iv.P4M)||iv.keg).transparent(2)}}),_=a9(document.createElement("div"));_.setClassName("diffViewport"),_.setPosition("absolute");let T=a2("div.diffOverview",{style:{position:"absolute",top:"0px",width:e1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(uw(T,_.domNode)),this._register(aa(T,af.POINTER_DOWN,e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)})),this._register(aE(T,af.MOUSE_WHEEL,e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1})),this._register(uw(this._rootElement,T)),this._register((0,Ts.gp)((e,t)=>{let s=this._diffModel.read(e),x=this._editors.original.createOverviewRuler("original diffOverviewRuler");x&&(t.add(x),t.add(uw(T,x.getDomNode())));let E=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(E&&(t.add(E),t.add(uw(T,E.getDomNode()))),!x||!E)return;let a=(0,Ts.aq)("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=(0,Ts.aq)("viewZoneChanged",this._editors.modified.onDidChangeViewZones),i=(0,Ts.aq)("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),S=(0,Ts.aq)("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);t.add((0,Ts.EH)(e=>{a.read(e),r.read(e),i.read(e),S.read(e);let t=n.read(e),_=s?.diff.read(e)?.mappings;function T(e,t,s){let x=s._getViewModel();return x?e.filter(e=>e.length>0).map(e=>{let s=x.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(e.startLineNumber,1)),E=x.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(e.endLineNumberExclusive,1)),a=E.lineNumber-s.lineNumber;return new CH(s.lineNumber,E.lineNumber,a,t.toString())}):[]}let R=T((_||[]).map(e=>e.lineRangeMapping.original),t.removeColor,this._editors.original),O=T((_||[]).map(e=>e.lineRangeMapping.modified),t.insertColor,this._editors.modified);x?.setZones(R),E?.setZones(O)})),t.add((0,Ts.EH)(e=>{let t=this._rootHeight.read(e),s=this._rootWidth.read(e),a=this._modifiedEditorLayoutInfo.read(e);if(a){let s=e1.ENTIRE_DIFF_OVERVIEW_WIDTH-2*e1.ONE_OVERVIEW_WIDTH;x.setLayout({top:0,height:t,right:s+e1.ONE_OVERVIEW_WIDTH,width:e1.ONE_OVERVIEW_WIDTH}),E.setLayout({top:0,height:t,right:0,width:e1.ONE_OVERVIEW_WIDTH});let r=this._editors.modifiedScrollTop.read(e),i=this._editors.modifiedScrollHeight.read(e),n=this._editors.modified.getOption(104),T=new i3(n.verticalHasArrows?n.arrowSize:0,n.verticalScrollbarSize,0,a.height,i,r);_.setTop(T.getSliderPosition()),_.setHeight(T.getSliderSize())}else _.setTop(0),_.setHeight(0);T.style.height=t+"px",T.style.left=s-e1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",_.setWidth(e1.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};MN=e1=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([(l=iR.XE,function(e,t){l(e,t,6)})],MN);let Mo=[];class MI extends xf.JT{constructor(e,t,s,x){super(),this._editors=e,this._diffModel=t,this._options=s,this._widget=x,this._selectedDiffs=(0,Ts.nK)(this,e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);if(!s)return Mo;let x=this._editors.modifiedSelections.read(e);if(x.every(e=>e.isEmpty()))return Mo;let E=new it.i(x.map(e=>it.z.fromRangeInclusive(e))),a=s.mappings.filter(e=>e.lineRangeMapping.innerChanges&&E.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>x.some(t=>r3.e.areIntersecting(e.modifiedRange,t)))}));return 0===a.length||a.every(e=>0===e.rangeMappings.length)?Mo:a}),this._register((0,Ts.gp)((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;let s=this._diffModel.read(e),x=s?.diff.read(e);if(!s||!x||s.movedTextToCompare.read(e))return;let E=[],a=this._selectedDiffs.read(e),r=new Set(a.map(e=>e.mapping));if(a.length>0){let s=this._editors.modifiedSelections.read(e),x=t.add(new ML(s[s.length-1].positionLineNumber,this._widget,a.flatMap(e=>e.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(x),E.push(x)}for(let e of x.mappings)if(!r.has(e)&&!e.lineRangeMapping.modified.isEmpty&&e.lineRangeMapping.innerChanges){let s=t.add(new ML(e.lineRangeMapping.modified.startLineNumber,this._widget,e.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(s),E.push(s)}t.add((0,xf.OF)(()=>{for(let e of E)this._editors.modified.removeGlyphMarginWidget(e)}))}))}}class ML extends xf.JT{static{this.counter=0}getId(){return this._id}constructor(e,t,s,x){super(),this._lineNumber=e,this._widget=t,this._diffs=s,this._revertSelection=x,this._id=`revertButton${ML.counter++}`,this._domNode=a2("div.revertButton",{title:this._revertSelection?(0,sY.NC)("revertSelectedChanges","Revert Selected Changes"):(0,sY.NC)("revertChange","Revert Change")},[nL(i7.l.arrowRight)]).root,this._register(aE(this._domNode,af.MOUSE_DOWN,e=>{2!==e.button&&(e.stopPropagation(),e.preventDefault())})),this._register(aE(this._domNode,af.MOUSE_UP,e=>{e.stopPropagation(),e.preventDefault()})),this._register(aE(this._domNode,af.CLICK,e=>{this._diffs instanceof ie.f0?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:of.U.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}var Mh=x(45843);function MC(e,t,s){let x=e.bindTo(t);return(0,Ts.UV)({debugName:()=>`Set Context Key "${e.key}"`},e=>{x.set(s(e))})}var Ml=function(e,t){return function(s,x){t(s,x,e)}};let Mu=class extends xf.JT{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,s,x,E,a,r){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=s,this._argCodeEditorWidgetOptions=x,this._createInnerEditor=E,this._instantiationService=a,this._keybindingService=r,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new Ee.Q5),this.modifiedScrollTop=(0,Ts.rD)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=(0,Ts.rD)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=MT(this.modified),this.originalObs=MT(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=(0,Ts.rD)(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=(0,Ts.bk)({owner:this,equalsFn:cs.L.equals},e=>this.modifiedSelections.read(e)[0]?.getPosition()??new cs.L(1,1)),this.originalCursor=(0,Ts.rD)(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new cs.L(1,1)),this._argCodeEditorWidgetOptions=null,this._register((0,Ts.nJ)({createEmptyChangeSummary:()=>({}),handleChange:(e,t)=>(e.didChange(s.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)},(e,t)=>{s.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))}))}_createLeftHandSideEditor(e,t){let s=this._adjustOptionsForLeftHandSide(void 0,e),x=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,s,t);return x.setContextValue("isInDiffLeftEditor",!0),x}_createRightHandSideEditor(e,t){let s=this._adjustOptionsForRightHandSide(void 0,e),x=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,s,t);return x.setContextValue("isInDiffRightEditor",!0),x}_constructInnerEditor(e,t,s,x){let E=this._createInnerEditor(e,t,s,x);return this._register(E.onDidContentSizeChange(e=>{let t=this.original.getContentWidth()+this.modified.getContentWidth()+MN.ENTIRE_DIFF_OVERVIEW_WIDTH,s=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:s,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})})),E}_adjustOptionsForLeftHandSide(e,t){let s=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(s.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},s.wordWrapOverride1=this._options.diffWordWrap.get()):(s.wordWrapOverride1="off",s.wordWrapOverride2="off",s.stickyScroll={enabled:!1},s.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),s.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(s.ariaLabel=t.originalAriaLabel),s.ariaLabel=this._updateAriaLabel(s.ariaLabel),s.readOnly=!this._options.originalEditable.get(),s.dropIntoEditor={enabled:!s.readOnly},s.extraEditorClassName="original-in-monaco-diff-editor",s}_adjustOptionsForRightHandSide(e,t){let s=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(s.ariaLabel=t.modifiedAriaLabel),s.ariaLabel=this._updateAriaLabel(s.ariaLabel),s.wordWrapOverride1=this._options.diffWordWrap.get(),s.revealHorizontalRightPadding=xG.revealHorizontalRightPadding.defaultValue+MN.ENTIRE_DIFF_OVERVIEW_WIDTH,s.scrollbar.verticalHasArrows=!1,s.extraEditorClassName="modified-in-monaco-diff-editor",s}_adjustOptionsForSubEditor(e){let t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){e||(e="");let t=(0,sY.NC)("diff-aria-navigation-tip"," use {0} to open the accessibility help.",this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,""):""}};Mu=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([Ml(5,rc.TG),Ml(6,iZ)],Mu);class MD extends xf.JT{constructor(){super(...arguments),this._id=++MD.idCounter,this._onDidDispose=this._register(new Ee.Q5),this.onDidDispose=this._onDidDispose.event}static{this.idCounter=0}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,s=0){this._targetEditor.revealLines(e,t,s)}revealLinesInCenter(e,t,s=0){this._targetEditor.revealLinesInCenter(e,t,s)}revealLinesInCenterIfOutsideViewport(e,t,s=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,s)}revealLinesNearTop(e,t,s=0){this._targetEditor.revealLinesNearTop(e,t,s)}revealRange(e,t=0,s=!1,x=!0){this._targetEditor.revealRange(e,t,s,x)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,s){this._targetEditor.trigger(e,t,s)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}let MM=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=(0,Ts.uh)(this,0),this._screenReaderMode=(0,Ts.rD)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=(0,Ts.nK)(this,e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=(0,Ts.nK)(this,e=>this._options.read(e).renderOverviewRuler),this.renderSideBySide=(0,Ts.nK)(this,e=>!(this.compactMode.read(e)&&this.shouldRenderInlineViewInSmartMode.read(e))&&this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e))),this.readOnly=(0,Ts.nK)(this,e=>this._options.read(e).readOnly),this.shouldRenderOldRevertArrows=(0,Ts.nK)(this,e=>!(!this._options.read(e).renderMarginRevertIcon||!this.renderSideBySide.read(e)||this.readOnly.read(e)||this.shouldRenderGutterMenu.read(e))),this.shouldRenderGutterMenu=(0,Ts.nK)(this,e=>this._options.read(e).renderGutterMenu),this.renderIndicators=(0,Ts.nK)(this,e=>this._options.read(e).renderIndicators),this.enableSplitViewResizing=(0,Ts.nK)(this,e=>this._options.read(e).enableSplitViewResizing),this.splitViewDefaultRatio=(0,Ts.nK)(this,e=>this._options.read(e).splitViewDefaultRatio),this.ignoreTrimWhitespace=(0,Ts.nK)(this,e=>this._options.read(e).ignoreTrimWhitespace),this.maxComputationTimeMs=(0,Ts.nK)(this,e=>this._options.read(e).maxComputationTime),this.showMoves=(0,Ts.nK)(this,e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e)),this.isInEmbeddedEditor=(0,Ts.nK)(this,e=>this._options.read(e).isInEmbeddedEditor),this.diffWordWrap=(0,Ts.nK)(this,e=>this._options.read(e).diffWordWrap),this.originalEditable=(0,Ts.nK)(this,e=>this._options.read(e).originalEditable),this.diffCodeLens=(0,Ts.nK)(this,e=>this._options.read(e).diffCodeLens),this.accessibilityVerbose=(0,Ts.nK)(this,e=>this._options.read(e).accessibilityVerbose),this.diffAlgorithm=(0,Ts.nK)(this,e=>this._options.read(e).diffAlgorithm),this.showEmptyDecorations=(0,Ts.nK)(this,e=>this._options.read(e).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=(0,Ts.nK)(this,e=>this._options.read(e).onlyShowAccessibleDiffViewer),this.compactMode=(0,Ts.nK)(this,e=>this._options.read(e).compactMode),this.trueInlineDiffRenderingEnabled=(0,Ts.nK)(this,e=>this._options.read(e).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=(0,Ts.nK)(this,e=>!this.renderSideBySide.read(e)&&this.trueInlineDiffRenderingEnabled.read(e)),this.hideUnchangedRegions=(0,Ts.nK)(this,e=>this._options.read(e).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=(0,Ts.nK)(this,e=>this._options.read(e).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=(0,Ts.nK)(this,e=>this._options.read(e).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=(0,Ts.nK)(this,e=>this._options.read(e).hideUnchangedRegions.minimumLineCount),this._model=(0,Ts.uh)(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,e=>(0,Mh.lI)(this,t=>{var s;let x=e?.diff.read(t);return x?(s=this.trueInlineDiffRenderingEnabled.read(t),x.mappings.every(e=>0===e.lineRangeMapping.original.length||0===e.lineRangeMapping.modified.length||s&&DQ(e.lineRangeMapping))):void 0})).flatten().map(this,e=>!!e),this.inlineViewHideOriginalLineNumbers=this.compactMode;let s={...e,...MP(e,_4)};this._options=(0,Ts.uh)(this,s)}updateOptions(e){let t=MP(e,this._options.get()),s={...this._options.get(),...e,...t};this._options.set(s,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};function MP(e,t){return{enableSplitViewResizing:sH(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:function(e,t,s,x){if(void 0===e)return .5;let E=sb.float(e,.5);return sb.clamp(E,.1,.9)}(e.splitViewDefaultRatio,0,0,0),renderSideBySide:sH(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:sH(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:sV(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:sV(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:sH(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:sH(e.renderIndicators,t.renderIndicators),originalEditable:sH(e.originalEditable,t.originalEditable),diffCodeLens:sH(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:sH(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:sk(e.diffWordWrap,t.diffWordWrap,["off","on","inherit"]),diffAlgorithm:sk(e.diffAlgorithm,t.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:sH(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:sH(e.experimental?.showMoves,t.experimental.showMoves),showEmptyDecorations:sH(e.experimental?.showEmptyDecorations,t.experimental.showEmptyDecorations),useTrueInlineView:sH(e.experimental?.useTrueInlineView,t.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:sH(e.hideUnchangedRegions?.enabled??e.experimental?.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:sV(e.hideUnchangedRegions?.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:sV(e.hideUnchangedRegions?.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:sV(e.hideUnchangedRegions?.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:sH(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:sH(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:sV(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:sH(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:sH(e.renderGutterMenu,t.renderGutterMenu),compactMode:sH(e.compactMode,t.compactMode)}}MM=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([function(e,t){_g(e,t,1)}],MM);var MU=function(e,t){return function(s,x){t(s,x,e)}};let Md=class extends MD{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,s,x,E,a,r,i){let n;super(),this._domElement=e,this._parentContextKeyService=x,this._parentInstantiationService=E,this._accessibilitySignalService=r,this._editorProgressService=i,this.elements=a2("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[a2("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),a2("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),a2("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register((0,Ts.DN)(this,void 0)),this._diffModel=(0,Ts.nK)(this,e=>this._diffModelSrc.read(e)?.object),this.onDidChangeModel=Ee.ju.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new NJ([rP.i6,this._contextKeyService]))),this._boundarySashes=(0,Ts.uh)(this,void 0),this._accessibleDiffViewerShouldBeVisible=(0,Ts.uh)(this,!1),this._accessibleDiffViewerVisible=(0,Ts.nK)(this,e=>!!this._options.onlyShowAccessibleDiffViewer.read(e)||this._accessibleDiffViewerShouldBeVisible.read(e)),this._movedBlocksLinesPart=(0,Ts.uh)(this,void 0),this._layoutInfo=(0,Ts.nK)(this,e=>{let t,s,x,E,a;let r=this._rootSizeObserver.width.read(e),i=this._rootSizeObserver.height.read(e);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=i+"px";let n=this._sash.read(e),_=this._gutter.read(e),T=_?.width.read(e)??0,S=this._overviewRulerPart.read(e)?.width??0;if(n){let i=n.sashLeft.read(e);t=0,s=i-T-(this._movedBlocksLinesPart.read(e)?.width.read(e)??0),a=i-T,E=r-(x=i)-S}else{a=0;let i=this._options.inlineViewHideOriginalLineNumbers.read(e);t=T,E=r-(x=T+(s=i?0:Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(e))))-S}return this.elements.original.style.left=t+"px",this.elements.original.style.width=s+"px",this._editors.original.layout({width:s,height:i},!0),_?.layout(a),this.elements.modified.style.left=x+"px",this.elements.modified.style.width=E+"px",this._editors.modified.layout({width:E,height:i},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((e,t)=>e?.diff.read(t)),this.onDidUpdateDiff=Ee.ju.fromObservableLight(this._diffValue),a.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register((0,xf.OF)(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new uW(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(t.automaticLayout??!1),this._options=this._instantiationService.createInstance(MM,t),this._register((0,Ts.EH)(e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))})),this._contextKeyService.createKey(eK.isEmbeddedDiffEditor.key,!1),this._register(MC(eK.isEmbeddedDiffEditor,this._contextKeyService,e=>this._options.isInEmbeddedEditor.read(e))),this._register(MC(eK.comparingMovedCode,this._contextKeyService,e=>!!this._diffModel.read(e)?.movedTextToCompare.read(e))),this._register(MC(eK.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,e=>this._options.couldShowInlineViewBecauseOfSize.read(e))),this._register(MC(eK.diffEditorInlineMode,this._contextKeyService,e=>!this._options.renderSideBySide.read(e))),this._register(MC(eK.hasChanges,this._contextKeyService,e=>(this._diffModel.read(e)?.diff.read(e)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance(Mu,this.elements.original,this.elements.modified,this._options,s,(e,t,s,x)=>this._createInnerEditor(e,t,s,x))),this._register(MC(eK.diffEditorOriginalWritable,this._contextKeyService,e=>this._options.originalEditable.read(e))),this._register(MC(eK.diffEditorModifiedWritable,this._contextKeyService,e=>!this._options.readOnly.read(e))),this._register(MC(eK.diffEditorOriginalUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.original.uri.toString()??"")),this._register(MC(eK.diffEditorModifiedUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.modified.uri.toString()??"")),this._overviewRulerPart=(0,uX.kA)(this,e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance(DU(MN,e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(e=>e.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);let _={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((e,t)=>e-(this._overviewRulerPart.read(t)?.width??0))};this._sashLayout=new D$(this._options,_),this._sash=(0,uX.kA)(this,e=>{let t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle("side-by-side",t),t?new D0(this.elements.root,_,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);let T=(0,uX.kA)(this,e=>this._instantiationService.createInstance(DU(MR,e),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);(0,uX.kA)(this,e=>this._instantiationService.createInstance(DU(Dj,e),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);let S=new Set,R=new Set,O=!1,A=(0,uX.kA)(this,e=>this._instantiationService.createInstance(DU(Dw,e),E1(this._domElement),this._editors,this._diffModel,this._options,this,()=>O||T.get().isUpdatingHiddenAreas,S,R)).recomputeInitiallyAndOnChange(this._store),N=(0,Ts.nK)(this,e=>{let t=A.read(e).viewZones.read(e).orig,s=T.read(e).viewZones.read(e).origViewZones;return t.concat(s)}),o=(0,Ts.nK)(this,e=>{let t=A.read(e).viewZones.read(e).mod,s=T.read(e).viewZones.read(e).modViewZones;return t.concat(s)});this._register(uq(this._editors.original,N,e=>{O=e},S)),this._register(uq(this._editors.modified,o,e=>{(O=e)?n=ub.capture(this._editors.modified):(n?.restore(this._editors.modified),n=void 0)},R)),this._accessibleDiffViewer=(0,uX.kA)(this,e=>this._instantiationService.createInstance(DU(u8,e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t),this._options.onlyShowAccessibleDiffViewer.map(e=>!e),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((e,t)=>e?.diff.read(t)?.mappings.map(e=>e.lineRangeMapping)),new Dr(this._editors))).recomputeInitiallyAndOnChange(this._store);let I=this._accessibleDiffViewerVisible.map(e=>e?"hidden":"visible");this._register(uz(this.elements.modified,{visibility:I})),this._register(uz(this.elements.original,{visibility:I})),this._createDiffEditorContributions(),a.addDiffEditor(this),this._gutter=(0,uX.kA)(this,e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance(DU(Mr,e),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register((0,Ts.jx)(this._layoutInfo)),(0,uX.kA)(this,e=>new(DU(DZ,e))(this.elements.root,this._diffModel,this._layoutInfo.map(e=>e.originalEditor),this._layoutInfo.map(e=>e.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,e=>{this._movedBlocksLinesPart.set(e,void 0)}),this._register(Ee.ju.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!0))),this._register(Ee.ju.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!1)));let L=this._diffModel.map(this,(e,t)=>{if(e)return void 0===e.diff.read(t)&&!e.isDiffUpToDate.read(t)});this._register((0,Ts.gp)((e,t)=>{if(!0===L.read(e)){let e=this._editorProgressService.show(!0,1e3);t.add((0,xf.OF)(()=>e.done()))}})),this._register((0,Ts.gp)((e,t)=>{t.add(new(DU(MI,e))(this._editors,this._diffModel,this._options,this))})),this._register((0,Ts.gp)((e,t)=>{let s=this._diffModel.read(e);if(s)for(let e of[s.model.original,s.model.modified])t.add(e.onWillDispose(e=>{(0,xZ.dL)(new xZ.he("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register((0,Ts.EH)(e=>{this._options.setModel(this._diffModel.read(e))}))}_createInnerEditor(e,t,s,x){return e.createInstance(uP,t,s,x)}_createDiffEditorContributions(){for(let e of Z.getDiffEditorContributions())try{this._register(this._instantiationService.createInstance(e.ctor,this))}catch(e){(0,xZ.dL)(e)}}get _targetEditor(){return this._editors.modified}getEditorType(){return om.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:this._diffModel.get()?.serializeState()}}restoreViewState(e){e&&e.original&&e.modified&&(this._editors.original.restoreViewState(e.original),this._editors.modified.restoreViewState(e.modified),e.modelState&&this._diffModel.get()?.restoreSerializedState(e.modelState))}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(DB,e,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(e){let t=e?"model"in e?u$.create(e).createNewRef(this):u$.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){let s=this._diffModel.get();!e&&s&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==e?.object&&(0,Ts.c8)(t,t=>{let s=e?.object;Ts.rD.batchEventsGlobally(t,()=>{this._editors.original.setModel(s?s.model.original:null),this._editors.modified.setModel(s?s.model.modified:null)});let x=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(e?.createNewRef(this),t),setTimeout(()=>{x?.dispose()},0)})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){let e=this._diffModel.get()?.diff.get();return e?e.mappings.map(e=>{let t,s,x,E;let a=e.lineRangeMapping,r=a.innerChanges;return a.original.isEmpty?(t=a.original.startLineNumber-1,s=0,r=void 0):(t=a.original.startLineNumber,s=a.original.endLineNumberExclusive-1),a.modified.isEmpty?(x=a.modified.startLineNumber-1,E=0,r=void 0):(x=a.modified.startLineNumber,E=a.modified.endLineNumberExclusive-1),{originalStartLineNumber:t,originalEndLineNumber:s,modifiedStartLineNumber:x,modifiedEndLineNumber:E,charChanges:r?.map(e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn}))}}):null}revert(e){let t=this._diffModel.get();t&&t.isDiffUpToDate.get()&&this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){let t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;let s=e.map(e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)}));this._editors.modified.executeEdits("diffEditor",s)}_goTo(e){this._editors.modified.setPosition(new cs.L(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){let t;let s=this._diffModel.get()?.diff.get()?.mappings;if(!s||0===s.length)return;let x=this._editors.modified.getPosition().lineNumber;t="next"===e?s.find(e=>e.lineRangeMapping.modified.startLineNumber>x)??s[0]:(0,lo.dF)(s,e=>e.lineRangeMapping.modified.startLineNumber<x)??s[s.length-1],this._goTo(t),t.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(N6.diffLineDeleted,{source:"diffEditor.goToDiff"}):t.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(N6.diffLineInserted,{source:"diffEditor.goToDiff"}):t&&this._accessibilitySignalService.playSignal(N6.diffLineModified,{source:"diffEditor.goToDiff"})}revealFirstDiff(){let e=this._diffModel.get();e&&this.waitForDiff().then(()=>{let t=e.diff.get()?.mappings;t&&0!==t.length&&this._goTo(t[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){let e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){let e;let t=this._editors.modified.hasWidgetFocus(),s=t?this._editors.modified:this._editors.original,x=t?this._editors.original:this._editors.modified,E=s.getSelection();if(E){let s=this._diffModel.get()?.diff.get()?.mappings.map(e=>t?e.lineRangeMapping.flip():e.lineRangeMapping);if(s){let t=uj(E.getStartPosition(),s),x=uj(E.getEndPosition(),s);e=r3.e.plusRange(t,x)}}return{destination:x,destinationSelection:e}}switchSide(){let{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){let e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){let e=this._diffModel.get()?.unchangedRegions.get();e&&(0,Ts.PS)(t=>{for(let s of e)s.collapseAll(t)})}showAllUnchangedRegions(){let e=this._diffModel.get()?.unchangedRegions.get();e&&(0,Ts.PS)(t=>{for(let s of e)s.showAll(t)})}_handleCursorPositionChange(e,t){if(e?.reason===3){let s=this._diffModel.get()?.diff.get()?.mappings.find(s=>t?s.lineRangeMapping.modified.contains(e.position.lineNumber):s.lineRangeMapping.original.contains(e.position.lineNumber));s?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(N6.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):s?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(N6.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):s&&this._accessibilitySignalService.playSignal(N6.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};Md=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([MU(3,rP.i6),MU(4,rc.TG),MU(5,rT),MU(6,N7),MU(7,cG)],Md);var MY=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},Mp=function(e,t){return function(s,x){t(s,x,e)}};let MG=0,MB=!1,Mm=class extends uP{constructor(e,t,s,x,E,a,r,R,O,A,N,o,I){let L={...t};L.ariaLabel=L.ariaLabel||er.editorViewAccessibleLabel,super(e,L,{},s,x,E,a,O,A,N,o,I),R instanceof oR?this._standaloneKeybindingService=R:this._standaloneKeybindingService=null,function(e){if(!e){if(MB)return;MB=!0}!function(e){(i=document.createElement("div")).className="monaco-aria-container";let t=()=>{let e=document.createElement("div");return e.className="monaco-alert",e.setAttribute("role","alert"),e.setAttribute("aria-atomic","true"),i.appendChild(e),e};n=t(),_=t();let s=()=>{let e=document.createElement("div");return e.className="monaco-status",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),i.appendChild(e),e};T=s(),S=s(),e.appendChild(i)}(e||xm.document.body)}(L.ariaContainerElement),cw=(e,t)=>s.createInstance(iK,e,t,{}),cZ=r}addCommand(e,t,s){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;let x="DYNAMIC_"+ ++MG,E=rP.Ao.deserialize(s);return this._standaloneKeybindingService.addDynamicKeybinding(x,e,t,E),x}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw 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"),xf.JT.None;let t=e.id,s=e.label,x=rP.Ao.and(rP.Ao.equals("editorId",this.getId()),rP.Ao.deserialize(e.precondition)),E=e.keybindings,a=rP.Ao.and(x,rP.Ao.deserialize(e.keybindingContext)),r=e.contextMenuGroupId||null,i=e.contextMenuOrder||0,n=(t,...s)=>Promise.resolve(e.run(this,...s)),_=new xf.SL,T=this.getId()+":"+t;if(_.add(rM.registerCommand(T,n)),r&&_.add(rF.appendMenuItem(rm.EditorContext,{command:{id:T,title:s},when:x,group:r,order:i})),Array.isArray(E))for(let e of E)_.add(this._standaloneKeybindingService.addDynamicKeybinding(T,e,n,a));let S=new li(T,s,s,void 0,x,(...t)=>Promise.resolve(e.run(this,...t)),this._contextKeyService);return this._actions.set(t,S),_.add((0,xf.OF)(()=>{this._actions.delete(t)})),_}_triggerCommand(e,t){if(this._codeEditorService instanceof io)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};Mm=MY([Mp(2,rc.TG),Mp(3,rT),Mp(4,rD),Mp(5,rP.i6),Mp(6,iW),Mp(7,iZ),Mp(8,iR.XE),Mp(9,iP),Mp(10,_g),Mp(11,r7.c_),Mp(12,r8.ILanguageFeaturesService)],Mm);let Mf=class extends Mm{constructor(e,t,s,x,E,a,r,i,n,_,T,S,R,O,A,N){let o;let I={...t};oC(T,I,!1);let L=n.registerEditorContainer(e);"string"==typeof I.theme&&n.setTheme(I.theme),void 0!==I.autoDetectHighContrast&&n.setAutoDetectHighContrast(!!I.autoDetectHighContrast);let h=I.model;if(delete I.model,super(e,I,s,x,E,a,r,i,n,_,S,A,N),this._configurationService=T,this._standaloneThemeService=n,this._register(L),void 0===h){let e=O.getLanguageIdByMimeType(I.language)||I.language||_M.bd;o=MF(R,O,I.value||"",e,void 0),this._ownsModel=!0}else o=h,this._ownsModel=!1;if(this._attachModel(o),o){let e={oldModelUrl:null,newModelUrl:o.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){oC(this._configurationService,e,!1),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};Mf=MY([Mp(2,rc.TG),Mp(3,rT),Mp(4,rD),Mp(5,rP.i6),Mp(6,iW),Mp(7,iZ),Mp(8,NL),Mp(9,iP),Mp(10,ik.Ui),Mp(11,_g),Mp(12,rS.IModelService),Mp(13,_D.O),Mp(14,r7.c_),Mp(15,r8.ILanguageFeaturesService)],Mf);let Mg=class extends Md{constructor(e,t,s,x,E,a,r,i,n,_,T,S){let R={...t};oC(i,R,!0);let O=a.registerEditorContainer(e);"string"==typeof R.theme&&a.setTheme(R.theme),void 0!==R.autoDetectHighContrast&&a.setAutoDetectHighContrast(!!R.autoDetectHighContrast),super(e,R,{},x,s,E,S,_),this._configurationService=i,this._standaloneThemeService=a,this._register(O)}dispose(){super.dispose()}updateOptions(e){oC(this._configurationService,e,!0),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,s){return e.createInstance(Mm,t,s)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,s){return this.getModifiedEditor().addCommand(e,t,s)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};function MF(e,t,s,x,E){if(s=s||"",!x){let x=s.indexOf("\n"),a=s;return -1!==x&&(a=s.substring(0,x)),MH(e,s,t.createByFilepathOrFirstLine(E||null,a),E)}return MH(e,s,t.createById(x),E)}function MH(e,t,s,x){return e.createModel(t,s,x)}Mg=MY([Mp(2,rc.TG),Mp(3,rP.i6),Mp(4,rT),Mp(5,NL),Mp(6,iP),Mp(7,ik.Ui),Mp(8,iJ),Mp(9,cG),Mp(10,Nm),Mp(11,N7)],Mg),x(50800);var My=function(e,t){return function(s,x){t(s,x,e)}};class MV{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let MX=class extends xf.JT{constructor(e,t,s,x,E){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=s,this._instantiationService=x,this._viewModel=(0,Mc.uh)(this,void 0),this._collapsed=(0,Ts.nK)(this,e=>this._viewModel.read(e)?.collapsed.read(e)),this._editorContentHeight=(0,Mc.uh)(this,500),this.contentHeight=(0,Ts.nK)(this,e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight),this._modifiedContentWidth=(0,Mc.uh)(this,0),this._modifiedWidth=(0,Mc.uh)(this,0),this._originalContentWidth=(0,Mc.uh)(this,0),this._originalWidth=(0,Mc.uh)(this,0),this.maxScroll=(0,Ts.nK)(this,e=>{let t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),s=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>s?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:s,width:this._originalWidth.read(e)}}),this._elements=a2("div.multiDiffEntry",[a2("div.header@header",[a2("div.header-content",[a2("div.collapse-button@collapseButton"),a2("div.file-path",[a2("div.title.modified.show-file-icons@primaryPath",[]),a2("div.status.deleted@status",["R"]),a2("div.title.original.show-file-icons@secondaryPath",[])]),a2("div.actions@actions")])]),a2("div.editorParent",[a2("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(Md,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=MT(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=MT(this.editor.getOriginalEditor()).isFocused,this.isFocused=(0,Ts.nK)(this,e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new xf.SL),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;let a=new Sz(this._elements.collapseButton,{});this._register((0,Ts.EH)(e=>{a.element.className="",a.icon=this._collapsed.read(e)?i7.l.chevronRight:i7.l.chevronDown})),this._register(a.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register((0,Ts.EH)(e=>{this._elements.editor.style.display=this._collapsed.read(e)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(e=>{let t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(e=>{let t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange(e=>{(0,Mc.Bl)(t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(e=>{if(this._isSettingScrollTop||!e.scrollTopChanged||!this._data)return;let t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)})),this._register((0,Ts.EH)(e=>{let t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle("active",t)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(E.createScoped(this._elements.actions));let r=this._register(this._instantiationService.createChild(new NJ([rP.i6,this._contextKeyService])));this._register(r.createInstance(Ms,this._elements.actions,rm.MultiDiffEditorFileToolbar,{actionRunner:this._register(new D3(()=>this._viewModel.get()?.modifiedUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("navigation")},actionViewItemProvider:(e,t)=>(function(e,t,s){return t instanceof ry?e.createInstance(T8,t,s):t instanceof rH?t.item.isSelection?e.createInstance(St,t):t.item.rememberDefaultAction?e.createInstance(Se,t,{...s,persistLastActionId:!0}):e.createInstance(T9,t,s):void 0})(r,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(this._data=e,!e){(0,Mc.Bl)(e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()});return}let s=e.viewModel.documentDiffItem;if((0,Mc.Bl)(x=>{this._resourceLabel?.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:void 0===e.viewModel.modifiedUri});let E=!1,a=!1,r=!1,i="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(i="R",E=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(i="A",r=!0):(i="D",a=!0),this._elements.status.classList.toggle("renamed",E),this._elements.status.classList.toggle("deleted",a),this._elements.status.classList.toggle("added",r),this._elements.status.innerText=i,this._resourceLabel2?.setUri(E?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,x),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,x),this.editor.updateOptions(t(s.options??{}))}),s.onOptionsDidChange&&this._dataStore.add(s.onOptionsDidChange(()=>{this.editor.updateOptions(t(s.options??{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,e=>{e||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(let[t,s]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(t,s)}render(e,t,s,x){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";let E=e.length-this._headerHeight,a=Math.max(0,Math.min(x.start-e.start,E));this._elements.header.style.transform=`translateY(${a}px)`,(0,Mc.Bl)(s=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=s,this.editor.getOriginalEditor().setScrollTop(s)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",a>0||s>0),this._elements.header.classList.toggle("collapsed",a===E)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};MX=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([My(3,rc.TG),My(4,rP.i6)],MX);class Mb{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(0===this._unused.size)t=this._create(e),this._itemData.set(t,e);else{let s=[...this._unused.values()];t=s.find(t=>this._itemData.get(t).getId()===e.getId())??s[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(let e of this._used)e.dispose();for(let e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var Mv=function(e,t){return function(s,x){t(s,x,e)}};let Mk=class extends xf.JT{constructor(e,t,s,x,E,r){super(),this._element=e,this._dimension=t,this._viewModel=s,this._workbenchUIElementFactory=x,this._parentContextKeyService=E,this._parentInstantiationService=r,this._scrollableElements=a2("div.scrollContent",[a2("div@content",{style:{overflow:"hidden"}}),a2("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new i8({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>a(E1(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new nr(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=a2("div.monaco-component.multiDiffEditor",{},[a2("div",{},[this._scrollableElement.getDomNode()]),a2("div.placeholder@placeholder",{},[a2("div",[(0,sY.NC)("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new uW(this._element,void 0)),this._objectPool=this._register(new Mb(e=>{let t=this._instantiationService.createInstance(MX,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t})),this.scrollTop=(0,Ts.rD)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=(0,Ts.rD)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=(0,Ts.Be)(this,(e,t)=>{let s=this._viewModel.read(e);if(!s)return{items:[],getItem:e=>{throw new xZ.he}};let x=s.items.read(e),E=new Map;return{items:x.map(e=>{let s=t.add(new Mw(e,this._objectPool,this.scrollLeft,e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})})),x=this._lastDocStates?.[s.getKey()];return x&&(0,Mc.PS)(e=>{s.setViewState(x,e)}),E.set(e,s),s}),getItem:e=>E.get(e)}}),this._viewItems=this._viewItemsInfo.map(this,e=>e.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(e,t)=>e.reduce((e,s)=>e+s.contentHeight.read(t)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new NJ([rP.i6,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(eK.inMultiDiffEditor.key,!0),this._register((0,Ts.gp)((e,t)=>{let s=this._viewModel.read(e);if(s&&s.contextKeys)for(let[e,x]of Object.entries(s.contextKeys)){let s=this._contextKeyService.createKey(e,void 0);s.set(x),t.add((0,xf.OF)(()=>s.reset()))}}));let i=this._parentContextKeyService.createKey(eK.multiDiffEditorAllCollapsed.key,!1);this._register((0,Ts.EH)(e=>{let t=this._viewModel.read(e);if(t){let s=t.items.read(e).every(t=>t.collapsed.read(e));i.set(s)}})),this._register((0,Ts.EH)(e=>{let t=this._dimension.read(e);this._sizeObserver.observe(t)})),this._register((0,Ts.EH)(e=>{let t=this._viewItems.read(e);this._elements.placeholder.classList.toggle("visible",0===t.length)})),this._scrollableElements.content.style.position="relative",this._register((0,Ts.EH)(e=>{let t=this._sizeObserver.height.read(e);this._scrollableElements.root.style.height=`${t}px`;let s=this._totalHeight.read(e);this._scrollableElements.content.style.height=`${s}px`;let x=this._sizeObserver.width.read(e),E=x,a=this._viewItems.read(e),r=(0,lo.hV)(a,(0,sD.tT)(t=>t.maxScroll.read(e).maxScroll,sD.fv));r&&(E=x+r.maxScroll.read(e).maxScroll),this._scrollableElement.setScrollDimensions({width:x,height:t,scrollHeight:s,scrollWidth:E})})),e.replaceChildren(this._elements.root),this._register((0,xf.OF)(()=>{e.replaceChildren()})),this._register(this._register((0,Ts.EH)(e=>{(0,Mc.Bl)(t=>{this.render(e)})})))}render(e){let t=this.scrollTop.read(e),s=0,x=0,E=0,a=this._sizeObserver.height.read(e),r=u1.q.ofStartAndLength(t,a),i=this._sizeObserver.width.read(e);for(let n of this._viewItems.read(e)){let _=n.contentHeight.read(e),T=Math.min(_,a),S=u1.q.ofStartAndLength(x,T),R=u1.q.ofStartAndLength(E,_);if(R.isBefore(r))s-=_-T,n.hide();else if(R.isAfter(r))n.hide();else{let e=Math.max(0,Math.min(r.start-R.start,_-T));s-=e;let x=u1.q.ofStartAndLength(t+s,a);n.render(S,e,i,x)}x+=T+this._spaceBetweenPx,E+=_+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+s)}px)`}};Mk=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([Mv(4,rP.i6),Mv(5,rc.TG)],Mk);class Mw extends xf.JT{constructor(e,t,s,x){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=s,this._deltaScrollVertical=x,this._templateRef=this._register((0,Mc.DN)(this,void 0)),this.contentHeight=(0,Ts.nK)(this,e=>this._templateRef.read(e)?.object.contentHeight?.read(e)??this.viewModel.lastTemplateData.read(e).contentHeight),this.maxScroll=(0,Ts.nK)(this,e=>this._templateRef.read(e)?.object.maxScroll.read(e)??{maxScroll:0,scrollWidth:0}),this.template=(0,Ts.nK)(this,e=>this._templateRef.read(e)?.object),this._isHidden=(0,Ts.uh)(this,!1),this._isFocused=(0,Ts.nK)(this,e=>this.template.read(e)?.isFocused.read(e)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register((0,Ts.EH)(e=>{let t=this._scrollLeft.read(e);this._templateRef.read(e)?.object.setScrollLeft(t)})),this._register((0,Ts.EH)(e=>{let t=this._templateRef.read(e);!t||!this._isHidden.read(e)||t.object.isFocused.read(e)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);let s=this.viewModel.lastTemplateData.get(),x=e.selections?.map(Ln.Y.liftSelection);this.viewModel.lastTemplateData.set({...s,selections:x},t);let E=this._templateRef.get();E&&x&&E.object.editor.setSelections(x)}_updateTemplateData(e){let t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){let e=this._templateRef.get();e&&(0,Mc.PS)(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,s,x){this._isHidden.set(!1,void 0);let E=this._templateRef.get();if(!E){E=this._objectPool.getUnusedObj(new MV(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(E,void 0);let e=this.viewModel.lastTemplateData.get().selections;e&&E.object.editor.setSelections(e)}E.object.render(e,s,t,x)}}(0,iv.P6G)("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},(0,sY.NC)("multiDiffEditor.headerBackground","The background color of the diff editor's header")),(0,iv.P6G)("multiDiffEditor.background",iv.cvW,(0,sY.NC)("multiDiffEditor.background","The background color of the multi file diff editor")),(0,iv.P6G)("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},(0,sY.NC)("multiDiffEditor.border","The border color of the multi file diff editor"));let MW=class extends xf.JT{constructor(e,t,s){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=s,this._dimension=(0,Ts.uh)(this,void 0),this._viewModel=(0,Ts.uh)(this,void 0),this._widgetImpl=(0,Ts.Be)(this,(e,t)=>(DU(MX,e),t.add(this._instantiationService.createInstance(DU(Mk,e),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register((0,Ts.jx)(this._widgetImpl))}};function MK(e){let t=eV.get(iZ);return t instanceof oR?t.addDynamicKeybindings(e.map(e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:rP.Ao.deserialize(e.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),xf.JT.None)}function MQ(e,t){return"boolean"==typeof e?e:t}function MJ(e,t){return"string"==typeof e?e:t}function MZ(e,t=!1){t&&(e=e.map(function(e){return e.toLowerCase()}));let s=function(e){let t={};for(let s of e)t[s]=!0;return t}(e);return t?function(e){return void 0!==s[e.toLowerCase()]&&s.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==s[e]&&s.hasOwnProperty(e)}}function Mz(e,t,s){let x;t=t.replace(/@@/g,`\x01`);let E=0;do x=!1,t=t.replace(/@(\w+)/g,function(s,E){x=!0;let a="";if("string"==typeof e[E])a=e[E];else if(e[E]&&e[E]instanceof RegExp)a=e[E].source;else{if(void 0===e[E])throw o9(e,"language definition does not contain attribute '"+E+"', used at: "+t);throw o9(e,"attribute reference '"+E+"' must be a string, used at: "+t)}return a?"(?:"+a+")":""}),E++;while(x&&E<5);t=t.replace(/\x01/g,"@");let a=(e.ignoreCase?"i":"")+(e.unicode?"u":"");if(s&&t.match(/\$[sS](\d\d?)/g)){let s=null,x=null;return E=>{let r;return x&&s===E?x:(s=E,x=new RegExp((r=null,t.replace(/\$[sS](\d\d?)/g,function(t,s){return(null===r&&(r=E.split(".")).unshift(E),s&&s<r.length)?o6(e,r[s]):""})),a))}}return new RegExp(t,a)}MW=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([(u=rc.TG,function(e,t){u(e,t,2)})],MW);class Mq{constructor(e){this.regex=RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}setRegex(e,t){let s;if("string"==typeof t)s=t;else if(t instanceof RegExp)s=t.source;else throw o9(e,"rules must start with a match string or regular expression: "+this.name);this.matchOnlyAtLineStart=s.length>0&&"^"===s[0],this.name=this.name+": "+s,this.regex=Mz(e,"^(?:"+(this.matchOnlyAtLineStart?s.substr(1):s)+")",!0)}setAction(e,t){this.action=function e(t,s,x){if(!x)return{token:""};if("string"==typeof x)return x;if(x.token||""===x.token){if("string"!=typeof x.token)throw o9(t,"a 'token' attribute must be of type string, in rule: "+s);{let e={token:x.token};if(x.token.indexOf("$")>=0&&(e.tokenSubst=!0),"string"==typeof x.bracket){if("@open"===x.bracket)e.bracket=1;else if("@close"===x.bracket)e.bracket=-1;else throw o9(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+s)}if(x.next){if("string"!=typeof x.next)throw o9(t,"the next state must be a string value in rule: "+s);{let E=x.next;if(!/^(@pop|@push|@popall)$/.test(E)&&("@"===E[0]&&(E=E.substr(1)),0>E.indexOf("$")&&!function(e,t){let s=t;for(;s&&s.length>0;){if(e.stateNames[s])return!0;let t=s.lastIndexOf(".");s=t<0?null:s.substr(0,t)}return!1}(t,Ie(t,E,"",[],""))))throw o9(t,"the next state '"+x.next+"' is not defined in rule: "+s);e.next=E}}return"number"==typeof x.goBack&&(e.goBack=x.goBack),"string"==typeof x.switchTo&&(e.switchTo=x.switchTo),"string"==typeof x.log&&(e.log=x.log),"string"==typeof x.nextEmbedded&&(e.nextEmbedded=x.nextEmbedded,t.usesEmbedded=!0),e}}if(Array.isArray(x)){let E=[];for(let a=0,r=x.length;a<r;a++)E[a]=e(t,s,x[a]);return{group:E}}if(x.cases){let E=[];for(let a in x.cases)if(x.cases.hasOwnProperty(a)){let r=e(t,s,x.cases[a]);"@default"===a||"@"===a||""===a?E.push({test:void 0,value:r,name:a}):"@eos"===a?E.push({test:function(e,t,s,x){return x},value:r,name:a}):E.push(function(e,t,s,x){let E,a=-1,r=s,i=s.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);i&&(i[3]&&(a=parseInt(i[3]),i[2]&&(a+=100)),r=i[4]);let n="~",_=r;if(r&&0!==r.length?/^\w*$/.test(_)?n="==":(i=r.match(/^(@|!@|~|!~|==|!=)(.*)$/))&&(n=i[1],_=i[2]):(n="!=",_=""),("~"===n||"!~"===n)&&/^(\w|\|)*$/.test(_)){let t=MZ(_.split("|"),e.ignoreCase);E=function(e){return"~"===n?t(e):!t(e)}}else if("@"===n||"!@"===n){let s=e[_];if(!s)throw o9(e,"the @ match target '"+_+"' is not defined, in rule: "+t);if(!function(e,t){if(!t||!Array.isArray(t))return!1;for(let s of t)if(!e(s))return!1;return!0}(function(e){return"string"==typeof e},s))throw o9(e,"the @ match target '"+_+"' must be an array of strings, in rule: "+t);let x=MZ(s,e.ignoreCase);E=function(e){return"@"===n?x(e):!x(e)}}else if("~"===n||"!~"===n){if(0>_.indexOf("$")){let t=Mz(e,"^"+_+"$",!1);E=function(e){return"~"===n?t.test(e):!t.test(e)}}else E=function(t,s,x,E){return Mz(e,"^"+Ie(e,_,s,x,E)+"$",!1).test(t)}}else if(0>_.indexOf("$")){let t=o6(e,_);E=function(e){return"=="===n?e===t:e!==t}}else{let t=o6(e,_);E=function(s,x,E,a,r){let i=Ie(e,t,x,E,a);return"=="===n?s===i:s!==i}}return -1===a?{name:s,value:x,test:function(e,t,s,x){return E(e,e,t,s,x)}}:{name:s,value:x,test:function(e,t,s,x){let r=function(e,t,s,x){if(x<0)return e;if(x<t.length)return t[x];if(x>=100){x-=100;let e=s.split(".");if(e.unshift(s),x<e.length)return e[x]}return null}(e,t,s,a);return E(r||"",e,t,s,x)}}}(t,s,a,r))}let a=t.defaultToken;return{test:function(e,t,s,x){for(let a of E)if(!a.test||a.test(e,t,s,x))return a.value;return a}}}throw o9(t,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+s)}(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function Mj(e,t){if(!t||"object"!=typeof t)throw Error("Monarch: expecting a language definition object");let s={languageId:e,includeLF:MQ(t.includeLF,!1),noThrow:!1,maxStack:100,start:"string"==typeof t.start?t.start:null,ignoreCase:MQ(t.ignoreCase,!1),unicode:MQ(t.unicode,!1),tokenPostfix:MJ(t.tokenPostfix,"."+e),defaultToken:MJ(t.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]};if(t.languageId=e,t.includeLF=s.includeLF,t.ignoreCase=s.ignoreCase,t.unicode=s.unicode,t.noThrow=s.noThrow,t.usesEmbedded=s.usesEmbedded,t.stateNames=t.tokenizer,t.defaultToken=s.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw o9(s,"a language definition must define the 'tokenizer' attribute as an object");for(let e in s.tokenizer=[],t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){s.start||(s.start=e);let x=t.tokenizer[e];s.tokenizer[e]=[],function e(x,E,a){for(let r of a){let a=r.include;if(a){if("string"!=typeof a)throw o9(s,"an 'include' attribute must be a string at: "+x);if("@"===a[0]&&(a=a.substr(1)),!t.tokenizer[a])throw o9(s,"include target '"+a+"' is not defined at: "+x);e(x+"."+a,E,t.tokenizer[a])}else{let e=new Mq(x);if(Array.isArray(r)&&r.length>=1&&r.length<=3){if(e.setRegex(t,r[0]),r.length>=3){if("string"==typeof r[1])e.setAction(t,{token:r[1],next:r[2]});else if("object"==typeof r[1]){let s=r[1];s.next=r[2],e.setAction(t,s)}else throw o9(s,"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: "+x)}else e.setAction(t,r[1])}else{if(!r.regex)throw o9(s,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+x);r.name&&"string"==typeof r.name&&(e.name=r.name),r.matchOnlyAtStart&&(e.matchOnlyAtLineStart=MQ(r.matchOnlyAtLineStart,!1)),e.setRegex(t,r.regex),e.setAction(t,r.action)}E.push(e)}}}("tokenizer."+e,s.tokenizer[e],x)}if(s.usesEmbedded=t.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw o9(s,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];let x=[];for(let e of t.brackets){let t=e;if(t&&Array.isArray(t)&&3===t.length&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw o9(s,"open and close brackets in a 'brackets' attribute must be different: "+t.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"==typeof t.open&&"string"==typeof t.token&&"string"==typeof t.close)x.push({token:t.token+s.tokenPostfix,open:o6(s,t.open),close:o6(s,t.close)});else throw o9(s,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return s.brackets=x,s.noThrow=!0,s}class M${constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,s){if("function"==typeof this._actual.tokenize)return M0.adaptTokenize(this._languageId,this._actual,e,s);throw Error("Not supported!")}tokenizeEncoded(e,t,s){let x=this._actual.tokenizeEncoded(e,s);return new _U.DI(x.tokens,x.endState)}}class M0{constructor(e,t,s,x){this._languageId=e,this._actual=t,this._languageService=s,this._standaloneThemeService=x}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){let s=[],x=0;for(let E=0,a=e.length;E<a;E++){let a=e[E],r=a.startIndex;0===E?r=0:r<x&&(r=x),s[E]=new _U.WU(r,a.scopes,t),x=r}return s}static adaptTokenize(e,t,s,x){let E;let a=t.tokenize(s,x),r=M0._toClassicTokens(a.tokens,e);return E=a.endState.equals(x)?x:a.endState,new _U.hG(r,E)}tokenize(e,t,s){return M0.adaptTokenize(this._languageId,this._actual,e,s)}_toBinaryTokens(e,t){let s=e.encodeLanguageId(this._languageId),x=this._standaloneThemeService.getColorTheme().tokenTheme,E=[],a=0,r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e],n=1024|x.match(s,i.scopes);if(a>0&&E[a-1]===n)continue;let _=i.startIndex;0===e?_=0:_<r&&(_=r),E[a++]=_,E[a++]=n,r=_}let i=new Uint32Array(a);for(let e=0;e<a;e++)i[e]=E[e];return i}tokenizeEncoded(e,t,s){let x;let E=this._actual.tokenize(e,s),a=this._toBinaryTokens(this._languageService.languageIdCodec,E.tokens);return x=E.endState.equals(s)?s:E.endState,new _U.DI(a,x)}}function M2(e){return e&&"function"==typeof e.then}function M1(e,t){return"tokenizeEncoded"in t?new M$(e,t):new M0(e,t,eV.get(_D.O),eV.get(NL))}function M3(e,t){let s=new _U.MO(async()=>{let s=await Promise.resolve(t.create());return s?"function"==typeof s.getInitialState?M1(e,s):new I_(eV.get(_D.O),eV.get(NL),e,Mj(e,s),eV.get(ik.Ui)):null});return _U.RW.registerFactory(e,s)}let M7=(0,rc.yh)("IEditorCancelService"),M5=new rP.uy("cancellableOperation",!1,(0,sY.NC)("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,iA.z)(M7,class{constructor(){this._tokens=new WeakMap}add(e,t){let s,x=this._tokens.get(e);return x||(x=e.invokeWithinContext(e=>({key:M5.bindTo(e.get(rP.i6)),tokens:new rC.S})),this._tokens.set(e,x)),x.key.set(!0),s=x.tokens.push(t),()=>{s&&(s(),x.key.set(!x.tokens.isEmpty()),s=void 0)}}cancel(e){let t=this._tokens.get(e);if(!t)return;let s=t.tokens.pop();s&&(s.cancel(),t.key.set(!t.tokens.isEmpty()))}},1),rW(new class extends rw{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:M5})}runEditorCommand(e,t){e.get(M7).cancel(t)}});class M4{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return"string"==typeof e?e.toLowerCase():e._lower}}class M6{constructor(e){if(this._set=new Set,e)for(let t of e)this.add(t)}add(e){this._set.add(M4.toKey(e))}has(e){return this._set.has(M4.toKey(e))}}class M8{static{this._selectors=new rC.S}static setFormatterSelector(e){return{dispose:M8._selectors.unshift(e)}}static async select(e,t,s,x){if(0===e.length)return;let E=rl.$.first(M8._selectors);if(E)return await E(e,t,s,x)}}async function M9(e,t,s,x,E,a){for(let r of t.documentRangeFormattingEditProvider.ordered(s)){let t=await Promise.resolve(r.provideDocumentRangeFormattingEdits(s,x,E,a)).catch(xZ.Cp);if((0,sD.Of)(t))return await e.computeMoreMinimalEdits(s.uri,t)}}async function Pe(e,t,s,x,E){for(let a of function(e,t,s){let x=[],E=new M6;for(let t of e.ordered(s))x.push(t),t.extensionId&&E.add(t.extensionId);for(let e of t.ordered(s)){if(e.extensionId){if(E.has(e.extensionId))continue;E.add(e.extensionId)}x.push({displayName:e.displayName,extensionId:e.extensionId,provideDocumentFormattingEdits:(t,s,x)=>e.provideDocumentRangeFormattingEdits(t,t.getFullModelRange(),s,x)})}return x}(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,s)){let t=await Promise.resolve(a.provideDocumentFormattingEdits(s,x,E)).catch(xZ.Cp);if((0,sD.Of)(t))return await e.computeMoreMinimalEdits(s.uri,t)}}rM.registerCommand("_executeFormatRangeProvider",async function(e,...t){let[s,x,E]=t;(0,ru.p_)(xF.o.isUri(s)),(0,ru.p_)(r3.e.isIRange(x));let a=e.get(rR.ITextModelService),r=e.get(SL.IEditorWorkerService),i=e.get(r8.ILanguageFeaturesService),n=await a.createModelReference(s);try{return M9(r,i,n.object.textEditorModel,r3.e.lift(x),E,_Z.Ts.None)}finally{n.dispose()}}),rM.registerCommand("_executeFormatDocumentProvider",async function(e,...t){let[s,x]=t;(0,ru.p_)(xF.o.isUri(s));let E=e.get(rR.ITextModelService),a=e.get(SL.IEditorWorkerService),r=e.get(r8.ILanguageFeaturesService),i=await E.createModelReference(s);try{return Pe(a,r,i.object.textEditorModel,x,_Z.Ts.None)}finally{i.dispose()}}),rM.registerCommand("_executeFormatOnTypeProvider",async function(e,...t){let[s,x,E,a]=t;(0,ru.p_)(xF.o.isUri(s)),(0,ru.p_)(cs.L.isIPosition(x)),(0,ru.p_)("string"==typeof E);let r=e.get(rR.ITextModelService),i=e.get(SL.IEditorWorkerService),n=e.get(r8.ILanguageFeaturesService),_=await r.createModelReference(s);try{return function(e,t,s,x,E,a,r){let i=t.onTypeFormattingEditProvider.ordered(s);return 0===i.length||0>i[0].autoFormatTriggerCharacters.indexOf(E)?Promise.resolve(void 0):Promise.resolve(i[0].provideOnTypeFormattingEdits(s,x,E,a,r)).catch(xZ.Cp).then(t=>e.computeMoreMinimalEdits(s.uri,t))}(i,n,_.object.textEditorModel,cs.L.lift(x),E,a,_Z.Ts.None)}finally{_.dispose()}}),xG.wrappingIndent.defaultValue=0,xG.glyphMargin.defaultValue=!1,xG.autoIndent.defaultValue=3,xG.overviewRulerLanes.defaultValue=2,M8.setFormatterSelector((e,t,s)=>Promise.resolve(e[0]));let Pt=(0,xB.createMonacoBaseAPI)();Pt.editor={create:function(e,t,s){return eV.initialize(s||{}).createInstance(Mf,e,t)},getEditors:function(){return eV.get(rT).listCodeEditors()},getDiffEditors:function(){return eV.get(rT).listDiffEditors()},onDidCreateEditor:function(e){return eV.get(rT).onCodeEditorAdd(t=>{e(t)})},onDidCreateDiffEditor:function(e){return eV.get(rT).onDiffEditorAdd(t=>{e(t)})},createDiffEditor:function(e,t,s){return eV.initialize(s||{}).createInstance(Mg,e,t)},addCommand:function(e){if("string"!=typeof e.id||"function"!=typeof e.run)throw Error("Invalid command descriptor, `id` and `run` are required properties!");return rM.registerCommand(e.id,e.run)},addEditorAction:function(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");let t=rP.Ao.deserialize(e.precondition),s=new xf.SL;if(s.add(rM.registerCommand(e.id,(s,...x)=>rw.runEditorCommand(s,x,t,(t,s,x)=>Promise.resolve(e.run(s,...x))))),e.contextMenuGroupId){let x={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};s.add(rF.appendMenuItem(rm.EditorContext,x))}if(Array.isArray(e.keybindings)){let x=eV.get(iZ);if(x instanceof oR){let E=rP.Ao.and(t,rP.Ao.deserialize(e.keybindingContext));s.add(x.addDynamicKeybindings(e.keybindings.map(t=>({keybinding:t,command:e.id,when:E}))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return s},addKeybindingRule:function(e){return MK([e])},addKeybindingRules:MK,createModel:function(e,t,s){let x=eV.get(_D.O),E=x.getLanguageIdByMimeType(t)||t;return MF(eV.get(rS.IModelService),x,e,E,s)},setModelLanguage:function(e,t){let s=eV.get(_D.O),x=s.getLanguageIdByMimeType(t)||t||_M.bd;e.setLanguage(s.createById(x))},setModelMarkers:function(e,t,s){e&&eV.get(Nj.lT).changeOne(t,e.uri,s)},getModelMarkers:function(e){return eV.get(Nj.lT).read(e)},removeAllMarkers:function(e){eV.get(Nj.lT).changeAll(e,[])},onDidChangeMarkers:function(e){return eV.get(Nj.lT).onMarkerChanged(e)},getModels:function(){return eV.get(rS.IModelService).getModels()},getModel:function(e){return eV.get(rS.IModelService).getModel(e)},onDidCreateModel:function(e){return eV.get(rS.IModelService).onModelAdded(e)},onWillDisposeModel:function(e){return eV.get(rS.IModelService).onModelRemoved(e)},onDidChangeModelLanguage:function(e){return eV.get(rS.IModelService).onModelLanguageChanged(t=>{e({model:t.model,oldLanguage:t.oldLanguageId})})},createWebWorker:function(e){return new oB(eV.get(rS.IModelService),e)},colorizeElement:function(e,t){let s=eV.get(_D.O),x=eV.get(NL);return IT.colorizeElement(x,s,e,t).then(()=>{x.registerEditorContainer(e)})},colorize:function(e,t,s){let x=eV.get(_D.O);return eV.get(NL).registerEditorContainer(xm.document.body),IT.colorize(x,e,t,s)},colorizeModelLine:function(e,t,s=4){return eV.get(NL).registerEditorContainer(xm.document.body),IT.colorizeModelLine(e,t,s)},tokenize:function(e,t){var s;_U.RW.getOrCreate(t);let x=(s=t,_U.RW.get(s)||{getInitialState:()=>_d.TJ,tokenize:(e,t,x)=>(0,_d.Ri)(s,x)}),E=(0,xg.uq)(e),a=[],r=x.getInitialState();for(let e=0,t=E.length;e<t;e++){let t=E[e],s=x.tokenize(t,!0,r);a[e]=s.tokens,r=s.endState}return a},defineTheme:function(e,t){eV.get(NL).defineTheme(e,t)},setTheme:function(e){eV.get(NL).setTheme(e)},remeasureFonts:function(){r_.clearAllFontInfos()},registerCommand:function(e,t){return rM.registerCommand({id:e,handler:t})},registerLinkOpener:function(e){return eV.get(nS).registerOpener({open:async t=>("string"==typeof t&&(t=xF.o.parse(t)),e.open(t))})},registerEditorOpener:function(e){return eV.get(rT).registerCodeEditorOpenHandler(async(t,s,x)=>{let E;if(!s)return null;let a=t.options?.selection;return(a&&"number"==typeof a.endLineNumber&&"number"==typeof a.endColumn?E=a:a&&(E={lineNumber:a.startLineNumber,column:a.startColumn}),await e.openCodeEditor(s,t.resource,E))?s:null})},AccessibilitySupport:og.ao,ContentWidgetPositionPreference:og.r3,CursorChangeReason:og.Vi,DefaultEndOfLine:og._x,EditorAutoIndentStrategy:og.rf,EditorOption:og.wT,EndOfLinePreference:og.gm,EndOfLineSequence:og.jl,MinimapPosition:og.F5,MinimapSectionHeaderStyle:og.WG,MouseTargetType:og.MG,OverlayWidgetPositionPreference:og.E$,OverviewRulerLane:og.sh,GlyphMarginLane:og.U,RenderLineNumbersType:og.Lu,RenderMinimap:og.vQ,ScrollbarVisibility:og.g_,ScrollType:og.g4,TextEditorCursorBlinkingStyle:og.In,TextEditorCursorStyle:og.d2,TrackedRangeStickiness:og.OI,WrappingIndent:og.up,InjectedTextCursorStops:og.RM,PositionAffinity:og.py,ShowLightbulbIconMode:og.$r,ConfigurationChangedEvent:sp,BareFontInfo:ra,FontInfo:rr,TextModelResolvedOptions:of.dJ,FindMatch:of.tk,ApplyUpdateResult:sm,EditorZoom:rx,createMultiFileDiffEditor:function(e,t){let s=eV.initialize(t||{});return new MW(e,{},s)},EditorType:om,EditorOptions:xG},Pt.languages={register:function(e){_M.dQ.registerLanguage(e)},getLanguages:function(){return[].concat(_M.dQ.getLanguages())},onLanguage:function(e,t){return eV.withServices(()=>{let s=eV.get(_D.O).onDidRequestRichLanguageFeatures(x=>{x===e&&(s.dispose(),t())});return s})},onLanguageEncountered:function(e,t){return eV.withServices(()=>{let s=eV.get(_D.O).onDidRequestBasicLanguageFeatures(x=>{x===e&&(s.dispose(),t())});return s})},getEncodedLanguageId:function(e){return eV.get(_D.O).languageIdCodec.encodeLanguageId(e)},setLanguageConfiguration:function(e,t){if(!eV.get(_D.O).isRegisteredLanguageId(e))throw Error(`Cannot set configuration for unknown language ${e}`);return eV.get(r7.c_).register(e,t,100)},setColorMap:function(e){let t=eV.get(NL);if(e){let s=[null];for(let t=1,x=e.length;t<x;t++)s[t]=cq.Il.fromHex(e[t]);t.setColorMapOverride(s)}else t.setColorMapOverride(null)},registerTokensProviderFactory:M3,setTokensProvider:function(e,t){if(!eV.get(_D.O).isRegisteredLanguageId(e))throw Error(`Cannot set tokens provider for unknown language ${e}`);return M2(t)?M3(e,{create:()=>t}):_U.RW.register(e,M1(e,t))},setMonarchTokensProvider:function(e,t){return M2(t)?M3(e,{create:()=>t}):_U.RW.register(e,new I_(eV.get(_D.O),eV.get(NL),e,Mj(e,t),eV.get(ik.Ui)))},registerReferenceProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).referenceProvider.register(e,t)},registerRenameProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).renameProvider.register(e,t)},registerNewSymbolNameProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).newSymbolNamesProvider.register(e,t)},registerCompletionItemProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).completionProvider.register(e,t)},registerSignatureHelpProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).signatureHelpProvider.register(e,t)},registerHoverProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).hoverProvider.register(e,{provideHover:async(e,s,x,E)=>{let a=e.getWordAtPosition(s);return Promise.resolve(t.provideHover(e,s,x,E)).then(e=>{if(e)return!e.range&&a&&(e.range=new r3.e(s.lineNumber,a.startColumn,s.lineNumber,a.endColumn)),e.range||(e.range=new r3.e(s.lineNumber,s.column,s.lineNumber,s.column)),e})}})},registerDocumentSymbolProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentSymbolProvider.register(e,t)},registerDocumentHighlightProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentHighlightProvider.register(e,t)},registerLinkedEditingRangeProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).linkedEditingRangeProvider.register(e,t)},registerDefinitionProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).definitionProvider.register(e,t)},registerImplementationProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).implementationProvider.register(e,t)},registerTypeDefinitionProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).typeDefinitionProvider.register(e,t)},registerCodeLensProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).codeLensProvider.register(e,t)},registerCodeActionProvider:function(e,t,s){return eV.get(r8.ILanguageFeaturesService).codeActionProvider.register(e,{providedCodeActionKinds:s?.providedCodeActionKinds,documentation:s?.documentation,provideCodeActions:(e,s,x,E)=>{let a=eV.get(Nj.lT).read({resource:e.uri}).filter(e=>r3.e.areIntersectingOrTouching(e,s));return t.provideCodeActions(e,s,{markers:a,only:x.only,trigger:x.trigger},E)},resolveCodeAction:t.resolveCodeAction})},registerDocumentFormattingEditProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentFormattingEditProvider.register(e,t)},registerDocumentRangeFormattingEditProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentRangeFormattingEditProvider.register(e,t)},registerOnTypeFormattingEditProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).onTypeFormattingEditProvider.register(e,t)},registerLinkProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).linkProvider.register(e,t)},registerColorProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).colorProvider.register(e,t)},registerFoldingRangeProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).foldingRangeProvider.register(e,t)},registerDeclarationProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).declarationProvider.register(e,t)},registerSelectionRangeProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).selectionRangeProvider.register(e,t)},registerDocumentSemanticTokensProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentSemanticTokensProvider.register(e,t)},registerDocumentRangeSemanticTokensProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentRangeSemanticTokensProvider.register(e,t)},registerInlineCompletionsProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).inlineCompletionsProvider.register(e,t)},registerInlineEditProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).inlineEditProvider.register(e,t)},registerInlayHintsProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).inlayHintsProvider.register(e,t)},DocumentHighlightKind:og.MY,CompletionItemKind:og.cm,CompletionItemTag:og.we,CompletionItemInsertTextRule:og.a7,SymbolKind:og.cR,SymbolTag:og.r4,IndentAction:og.wU,CompletionTriggerKind:og.Ij,SignatureHelpTriggerKind:og.WW,InlayHintKind:og.gl,InlineCompletionTriggerKind:og.bw,InlineEditTriggerKind:og.rn,CodeActionTriggerType:og.np,NewSymbolNameTag:og.w,NewSymbolNameTriggerKind:og.Ll,PartialAcceptTriggerKind:og.NA,HoverVerbosityAction:og.bq,FoldingRangeKind:_U.AD,SelectedSuggestionInfo:_U.ln},Pt.CancellationTokenSource,Pt.Emitter;let Ps=Pt.KeyCode,Px=Pt.KeyMod;Pt.Position,Pt.Range,Pt.Selection,Pt.SelectionDirection,Pt.MarkerSeverity,Pt.MarkerTag,Pt.Uri,Pt.Token,Pt.editor,Pt.languages;let PE=globalThis.MonacoEnvironment;(PE?.globalAPI||"function"==typeof define&&x.amdO)&&(globalThis.monaco=Pt),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"]});var Pa=x(31676);function Pr(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,x=Array(t);s<t;s++)x[s]=e[s];return x}function Pi(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var x=Object.getOwnPropertySymbols(e);t&&(x=x.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,x)}return s}function Pn(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Pi(Object(s),!0).forEach(function(t){var x;x=s[t],t in e?Object.defineProperty(e,t,{value:x,enumerable:!0,configurable:!0,writable:!0}):e[t]=x}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Pi(Object(s)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))})}return e}function P_(e){return function t(){for(var s=this,x=arguments.length,E=Array(x),a=0;a<x;a++)E[a]=arguments[a];return E.length>=e.length?e.apply(this,E):function(){for(var e=arguments.length,x=Array(e),a=0;a<e;a++)x[a]=arguments[a];return t.apply(s,[].concat(E,x))}}}function Pc(e){return({}).toString.call(e).includes("Object")}function PT(e){return"function"==typeof e}var PS=P_(function(e,t){throw Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),PR={changes:function(e,t){return Pc(t)||PS("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&PS("changeField"),t},selector:function(e){PT(e)||PS("selectorType")},handler:function(e){PT(e)||Pc(e)||PS("handlerType"),Pc(e)&&Object.values(e).some(function(e){return!PT(e)})&&PS("handlersType")},initial:function(e){e||PS("initialIsRequired"),Pc(e)||PS("initialType"),Object.keys(e).length||PS("initialContent")}};function PO(e,t){return PT(t)?t(e.current):t}function PA(e,t){return e.current=Pn(Pn({},e.current),t),t}function PN(e,t,s){return PT(t)?t(e.current):Object.keys(s).forEach(function(s){var x;return null===(x=t[s])||void 0===x?void 0:x.call(t,e.current[s])}),s}(function(e){return function t(){for(var s=this,x=arguments.length,E=Array(x),a=0;a<x;a++)E[a]=arguments[a];return E.length>=e.length?e.apply(this,E):function(){for(var e=arguments.length,x=Array(e),a=0;a<e;a++)x[a]=arguments[a];return t.apply(s,[].concat(E,x))}}})(function(e,t){throw Error(e[t]||e.default)})({configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "});let Po=function(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}};var PI={type:"cancelation",msg:"operation is manually canceled"};let PL=function(e){var t=!1,s=new Promise(function(s,x){e.then(function(e){return t?x(PI):s(e)}),e.catch(x)});return s.cancel=function(){return t=!0},s};var Ph=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var s=[],x=!0,E=!1,a=void 0;try{for(var r,i=e[Symbol.iterator]();!(x=(r=i.next()).done)&&(s.push(r.value),2!==s.length);x=!0);}catch(e){E=!0,a=e}finally{try{x||null==i.return||i.return()}finally{if(E)throw a}}return s}}(e,2)||function(e,t){if(e){if("string"==typeof e)return Pr(e,2);var s=Object.prototype.toString.call(e).slice(8,-1);if("Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s)return Array.from(e);if("Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return Pr(e,t)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(({create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};PR.initial(e),PR.handler(t);var s={current:e},x=P_(PN)(s,t),E=P_(PA)(s),a=P_(PR.changes)(e),r=P_(PO)(s);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return PR.selector(e),e(s.current)},function(e){(function(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}})(x,E,a,r)(e)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),0),PC=Ph[0],Pl=Ph[1];function Pu(e){return document.body.appendChild(e)}function PD(e){var t,s,x=PC(function(e){return{config:e.config,reject:e.reject}}),E=(t="".concat(x.config.paths.vs,"/loader.js"),s=document.createElement("script"),t&&(s.src=t),s);return E.onload=function(){return e()},E.onerror=x.reject,E}function PM(){var e=PC(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){PP(t),e.resolve(t)},function(t){e.reject(t)})}function PP(e){PC().monaco||Pl({monaco:e})}var PU=new Promise(function(e,t){return Pl({resolve:e,reject:t})});let Pd={init:function(){var e=PC(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(Pl({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),PL(PU);if(window.monaco&&window.monaco.editor)return PP(window.monaco),e.resolve(window.monaco),PL(PU);Po(Pu,PD)(PM)}return PL(PU)},__getMonacoInstance:function(){return PC(function(e){return e.monaco})}};var PY={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},Pp={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},PG=function({children:e}){return e8.createElement("div",{style:Pp.container},e)},PB=(0,e8.memo)(function({width:e,height:t,isEditorReady:s,loading:x,_ref:E,className:a,wrapperProps:r}){return e8.createElement("section",{style:{...PY.wrapper,width:e,height:t},...r},!s&&e8.createElement(PG,null,x),e8.createElement("div",{ref:E,style:{...PY.fullWidth,...!s&&PY.hide},className:a}))}),Pm=function(e){(0,e8.useEffect)(e,[])},Pf=function(e,t,s=!0){let x=(0,e8.useRef)(!0);(0,e8.useEffect)(x.current||!s?()=>{x.current=!1}:e,t)};function Pg(){}function PF(e,t,s,x){return e.editor.getModel(PH(e,x))||e.editor.createModel(t,s,x?PH(e,x):void 0)}function PH(e,t){return e.Uri.parse(t)}(0,e8.memo)(function({original:e,modified:t,language:s,originalLanguage:x,modifiedLanguage:E,originalModelPath:a,modifiedModelPath:r,keepCurrentOriginalModel:i=!1,keepCurrentModifiedModel:n=!1,theme:_="light",loading:T="Loading...",options:S={},height:R="100%",width:O="100%",className:A,wrapperProps:N={},beforeMount:o=Pg,onMount:I=Pg}){let[L,h]=(0,e8.useState)(!1),[C,l]=(0,e8.useState)(!0),u=(0,e8.useRef)(null),D=(0,e8.useRef)(null),M=(0,e8.useRef)(null),P=(0,e8.useRef)(I),U=(0,e8.useRef)(o),d=(0,e8.useRef)(!1);Pm(()=>{let e=Pd.init();return e.then(e=>(D.current=e)&&l(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let t;return u.current?(t=u.current?.getModel(),void(i||t?.original?.dispose(),n||t?.modified?.dispose(),u.current?.dispose())):e.cancel()}}),Pf(()=>{if(u.current&&D.current){let t=u.current.getOriginalEditor(),E=PF(D.current,e||"",x||s||"text",a||"");E!==t.getModel()&&t.setModel(E)}},[a],L),Pf(()=>{if(u.current&&D.current){let e=u.current.getModifiedEditor(),x=PF(D.current,t||"",E||s||"text",r||"");x!==e.getModel()&&e.setModel(x)}},[r],L),Pf(()=>{let e=u.current.getModifiedEditor();e.getOption(D.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],L),Pf(()=>{u.current?.getModel()?.original.setValue(e||"")},[e],L),Pf(()=>{let{original:e,modified:t}=u.current.getModel();D.current.editor.setModelLanguage(e,x||s||"text"),D.current.editor.setModelLanguage(t,E||s||"text")},[s,x,E],L),Pf(()=>{D.current?.editor.setTheme(_)},[_],L),Pf(()=>{u.current?.updateOptions(S)},[S],L);let Y=(0,e8.useCallback)(()=>{if(!D.current)return;U.current(D.current);let i=PF(D.current,e||"",x||s||"text",a||""),n=PF(D.current,t||"",E||s||"text",r||"");u.current?.setModel({original:i,modified:n})},[s,t,E,e,x,a,r]),p=(0,e8.useCallback)(()=>{!d.current&&M.current&&(u.current=D.current.editor.createDiffEditor(M.current,{automaticLayout:!0,...S}),Y(),D.current?.editor.setTheme(_),h(!0),d.current=!0)},[S,_,Y]);return(0,e8.useEffect)(()=>{L&&P.current(u.current,D.current)},[L]),(0,e8.useEffect)(()=>{C||L||p()},[C,L,p]),e8.createElement(PB,{width:O,height:R,isEditorReady:L,loading:T,_ref:M,className:A,wrapperProps:N})});var Py=function(){let[e,t]=(0,e8.useState)(Pd.__getMonacoInstance());return Pm(()=>{let s;return e||(s=Pd.init()).then(e=>{t(e)}),()=>s?.cancel()}),e},PV=function(e){let t=(0,e8.useRef)();return(0,e8.useEffect)(()=>{t.current=e},[e]),t.current},PX=new Map,Pb=(0,e8.memo)(function({defaultValue:e,defaultLanguage:t,defaultPath:s,value:x,language:E,path:a,theme:r="light",line:i,loading:n="Loading...",options:_={},overrideServices:T={},saveViewState:S=!0,keepCurrentModel:R=!1,width:O="100%",height:A="100%",className:N,wrapperProps:o={},beforeMount:I=Pg,onMount:L=Pg,onChange:h,onValidate:C=Pg}){let[l,u]=(0,e8.useState)(!1),[D,M]=(0,e8.useState)(!0),P=(0,e8.useRef)(null),U=(0,e8.useRef)(null),d=(0,e8.useRef)(null),Y=(0,e8.useRef)(L),p=(0,e8.useRef)(I),G=(0,e8.useRef)(),B=(0,e8.useRef)(x),m=PV(a),f=(0,e8.useRef)(!1),g=(0,e8.useRef)(!1);Pm(()=>{let e=Pd.init();return e.then(e=>(P.current=e)&&M(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>U.current?void(G.current?.dispose(),R?S&&PX.set(a,U.current.saveViewState()):U.current.getModel()?.dispose(),U.current.dispose()):e.cancel()}),Pf(()=>{let r=PF(P.current,e||x||"",t||E||"",a||s||"");r!==U.current?.getModel()&&(S&&PX.set(m,U.current?.saveViewState()),U.current?.setModel(r),S&&U.current?.restoreViewState(PX.get(a)))},[a],l),Pf(()=>{U.current?.updateOptions(_)},[_],l),Pf(()=>{U.current&&void 0!==x&&(U.current.getOption(P.current.editor.EditorOption.readOnly)?U.current.setValue(x):x===U.current.getValue()||(g.current=!0,U.current.executeEdits("",[{range:U.current.getModel().getFullModelRange(),text:x,forceMoveMarkers:!0}]),U.current.pushUndoStop(),g.current=!1))},[x],l),Pf(()=>{let e=U.current?.getModel();e&&E&&P.current?.editor.setModelLanguage(e,E)},[E],l),Pf(()=>{void 0!==i&&U.current?.revealLine(i)},[i],l),Pf(()=>{P.current?.editor.setTheme(r)},[r],l);let F=(0,e8.useCallback)(()=>{if(!(!d.current||!P.current)&&!f.current){p.current(P.current);let n=a||s,R=PF(P.current,x||e||"",t||E||"",n||"");U.current=P.current?.editor.create(d.current,{model:R,automaticLayout:!0,..._},T),S&&U.current.restoreViewState(PX.get(n)),P.current.editor.setTheme(r),void 0!==i&&U.current.revealLine(i),u(!0),f.current=!0}},[e,t,s,x,E,a,_,T,S,r,i]);return(0,e8.useEffect)(()=>{l&&Y.current(U.current,P.current)},[l]),(0,e8.useEffect)(()=>{D||l||F()},[D,l,F]),B.current=x,(0,e8.useEffect)(()=>{l&&h&&(G.current?.dispose(),G.current=U.current?.onDidChangeModelContent(e=>{g.current||h(U.current.getValue(),e)}))},[l,h]),(0,e8.useEffect)(()=>{if(l){let e=P.current.editor.onDidChangeMarkers(e=>{let t=U.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=P.current.editor.getModelMarkers({resource:t});C?.(e)}});return()=>{e?.dispose()}}return()=>{}},[l,C]),e8.createElement(PB,{width:O,height:A,isEditorReady:l,loading:n,_ref:d,className:N,wrapperProps:o})});function Pv(e,t,{checkForDefaultPrevented:s=!0}={}){return function(x){if(e?.(x),!1===s||!x.defaultPrevented)return t?.(x)}}function Pk(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function Pw(...e){return t=>{let s=!1,x=e.map(e=>{let x=Pk(e,t);return s||"function"!=typeof x||(s=!0),x});if(s)return()=>{for(let t=0;t<x.length;t++){let s=x[t];"function"==typeof s?s():Pk(e[t],null)}}}}function PW(...e){return e8.useCallback(Pw(...e),e)}function PK(e,t=[]){let s=[],x=()=>{let t=s.map(e=>e8.createContext(e));return function(s){let x=s?.[e]||t;return e8.useMemo(()=>({[`__scope${e}`]:{...s,[e]:x}}),[s,x])}};return x.scopeName=e,[function(t,x){let E=e8.createContext(x),a=s.length;s=[...s,x];let r=t=>{let{scope:s,children:x,...r}=t,i=s?.[e]?.[a]||E,n=e8.useMemo(()=>r,Object.values(r));return(0,e5.jsx)(i.Provider,{value:n,children:x})};return r.displayName=t+"Provider",[r,function(s,r){let i=r?.[e]?.[a]||E,n=e8.useContext(i);if(n)return n;if(void 0!==x)return x;throw Error(`\`${s}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let s=()=>{let s=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let x=s.reduce((t,{useScope:s,scopeName:x})=>{let E=s(e)[`__scope${x}`];return{...t,...E}},{});return e8.useMemo(()=>({[`__scope${t.scopeName}`]:x}),[x])}};return s.scopeName=t.scopeName,s}(x,...t)]}var PQ=x(54669),PJ=e8.forwardRef((e,t)=>{let{children:s,...x}=e,E=e8.Children.toArray(s),a=E.find(Pq);if(a){let e=a.props.children,s=E.map(t=>t!==a?t:e8.Children.count(e)>1?e8.Children.only(null):e8.isValidElement(e)?e.props.children:null);return(0,e5.jsx)(PZ,{...x,ref:t,children:e8.isValidElement(e)?e8.cloneElement(e,void 0,s):null})}return(0,e5.jsx)(PZ,{...x,ref:t,children:s})});PJ.displayName="Slot";var PZ=e8.forwardRef((e,t)=>{let{children:s,...x}=e;if(e8.isValidElement(s)){let e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,s=t&&"isReactWarning"in t&&t.isReactWarning;return s?e.ref:(s=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(s);return e8.cloneElement(s,{...function(e,t){let s={...t};for(let x in t){let E=e[x],a=t[x];/^on[A-Z]/.test(x)?E&&a?s[x]=(...e)=>{a(...e),E(...e)}:E&&(s[x]=E):"style"===x?s[x]={...E,...a}:"className"===x&&(s[x]=[E,a].filter(Boolean).join(" "))}return{...e,...s}}(x,s.props),ref:t?Pw(t,e):e})}return e8.Children.count(s)>1?e8.Children.only(null):null});PZ.displayName="SlotClone";var Pz=({children:e})=>(0,e5.jsx)(e5.Fragment,{children:e});function Pq(e){return e8.isValidElement(e)&&e.type===Pz}var Pj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce((e,t)=>{let s=e8.forwardRef((e,s)=>{let{asChild:x,...E}=e,a=x?PJ:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,e5.jsx)(a,{...E,ref:s})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{}),P$=x(31457),P0=x(15027),P2="dismissableLayer.update",P1=e8.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),P3=e8.forwardRef((e,t)=>{let{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:x,onPointerDownOutside:E,onFocusOutside:a,onInteractOutside:r,onDismiss:i,...n}=e,_=e8.useContext(P1),[T,S]=e8.useState(null),R=T?.ownerDocument??globalThis?.document,[,O]=e8.useState({}),A=PW(t,e=>S(e)),N=Array.from(_.layers),[o]=[..._.layersWithOutsidePointerEventsDisabled].slice(-1),I=N.indexOf(o),L=T?N.indexOf(T):-1,h=_.layersWithOutsidePointerEventsDisabled.size>0,C=L>=I,l=function(e,t=globalThis?.document){let s=(0,P$.W)(e),x=e8.useRef(!1),E=e8.useRef(()=>{});return e8.useEffect(()=>{let e=e=>{if(e.target&&!x.current){let x=function(){P5("dismissableLayer.pointerDownOutside",s,a,{discrete:!0})},a={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",E.current),E.current=x,t.addEventListener("click",E.current,{once:!0})):x()}else t.removeEventListener("click",E.current);x.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",e),t.removeEventListener("click",E.current)}},[t,s]),{onPointerDownCapture:()=>x.current=!0}}(e=>{let t=e.target,s=[..._.branches].some(e=>e.contains(t));!C||s||(E?.(e),r?.(e),e.defaultPrevented||i?.())},R),u=function(e,t=globalThis?.document){let s=(0,P$.W)(e),x=e8.useRef(!1);return e8.useEffect(()=>{let e=e=>{e.target&&!x.current&&P5("dismissableLayer.focusOutside",s,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,s]),{onFocusCapture:()=>x.current=!0,onBlurCapture:()=>x.current=!1}}(e=>{let t=e.target;[..._.branches].some(e=>e.contains(t))||(a?.(e),r?.(e),e.defaultPrevented||i?.())},R);return(0,P0.e)(e=>{L!==_.layers.size-1||(x?.(e),!e.defaultPrevented&&i&&(e.preventDefault(),i()))},R),e8.useEffect(()=>{if(T)return s&&(0===_.layersWithOutsidePointerEventsDisabled.size&&(e3=R.body.style.pointerEvents,R.body.style.pointerEvents="none"),_.layersWithOutsidePointerEventsDisabled.add(T)),_.layers.add(T),P7(),()=>{s&&1===_.layersWithOutsidePointerEventsDisabled.size&&(R.body.style.pointerEvents=e3)}},[T,R,s,_]),e8.useEffect(()=>()=>{T&&(_.layers.delete(T),_.layersWithOutsidePointerEventsDisabled.delete(T),P7())},[T,_]),e8.useEffect(()=>{let e=()=>O({});return document.addEventListener(P2,e),()=>document.removeEventListener(P2,e)},[]),(0,e5.jsx)(Pj.div,{...n,ref:A,style:{pointerEvents:h?C?"auto":"none":void 0,...e.style},onFocusCapture:Pv(e.onFocusCapture,u.onFocusCapture),onBlurCapture:Pv(e.onBlurCapture,u.onBlurCapture),onPointerDownCapture:Pv(e.onPointerDownCapture,l.onPointerDownCapture)})});function P7(){let e=new CustomEvent(P2);document.dispatchEvent(e)}function P5(e,t,s,{discrete:x}){let E=s.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:s});(t&&E.addEventListener(e,t,{once:!0}),x)?E&&PQ.flushSync(()=>E.dispatchEvent(a)):E.dispatchEvent(a)}P3.displayName="DismissableLayer",e8.forwardRef((e,t)=>{let s=e8.useContext(P1),x=e8.useRef(null),E=PW(t,x);return e8.useEffect(()=>{let e=x.current;if(e)return s.branches.add(e),()=>{s.branches.delete(e)}},[s.branches]),(0,e5.jsx)(Pj.div,{...e,ref:E})}).displayName="DismissableLayerBranch";var P4=x(14581),P6=x(35538),P8=x(59615),P9=e8.forwardRef((e,t)=>{let{children:s,width:x=10,height:E=5,...a}=e;return(0,e5.jsx)(Pj.svg,{...a,ref:t,width:x,height:E,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?s:(0,e5.jsx)("polygon",{points:"0,0 30,0 15,10"})})});P9.displayName="Arrow";var Ue=x(15169),Ut=x(37469),Us="Popper",[Ux,UE]=PK(Us),[Ua,Ur]=Ux(Us),Ui=e=>{let{__scopePopper:t,children:s}=e,[x,E]=e8.useState(null);return(0,e5.jsx)(Ua,{scope:t,anchor:x,onAnchorChange:E,children:s})};Ui.displayName=Us;var Un="PopperAnchor",U_=e8.forwardRef((e,t)=>{let{__scopePopper:s,virtualRef:x,...E}=e,a=Ur(Un,s),r=e8.useRef(null),i=PW(t,r);return e8.useEffect(()=>{a.onAnchorChange(x?.current||r.current)}),x?null:(0,e5.jsx)(Pj.div,{...E,ref:i})});U_.displayName=Un;var Uc="PopperContent",[UT,US]=Ux(Uc),UR=e8.forwardRef((e,t)=>{let{__scopePopper:s,side:x="bottom",sideOffset:E=0,align:a="center",alignOffset:r=0,arrowPadding:i=0,avoidCollisions:n=!0,collisionBoundary:_=[],collisionPadding:T=0,sticky:S="partial",hideWhenDetached:R=!1,updatePositionStrategy:O="optimized",onPlaced:A,...N}=e,o=Ur(Uc,s),[I,L]=e8.useState(null),h=PW(t,e=>L(e)),[C,l]=e8.useState(null),u=(0,Ut.t)(C),D=u?.width??0,M=u?.height??0,P="number"==typeof T?T:{top:0,right:0,bottom:0,left:0,...T},U=Array.isArray(_)?_:[_],d=U.length>0,Y={padding:P,boundary:U.filter(Uo),altBoundary:d},{refs:p,floatingStyles:G,placement:B,isPositioned:m,middlewareData:f}=(0,P6.YF)({strategy:"fixed",placement:x+("center"!==a?"-"+a:""),whileElementsMounted:(...e)=>(0,P8.Me)(...e,{animationFrame:"always"===O}),elements:{reference:o.anchor},middleware:[(0,P6.cv)({mainAxis:E+M,alignmentAxis:r}),n&&(0,P6.uY)({mainAxis:!0,crossAxis:!1,limiter:"partial"===S?(0,P6.dr)():void 0,...Y}),n&&(0,P6.RR)({...Y}),(0,P6.dp)({...Y,apply:({elements:e,rects:t,availableWidth:s,availableHeight:x})=>{let{width:E,height:a}=t.reference,r=e.floating.style;r.setProperty("--radix-popper-available-width",`${s}px`),r.setProperty("--radix-popper-available-height",`${x}px`),r.setProperty("--radix-popper-anchor-width",`${E}px`),r.setProperty("--radix-popper-anchor-height",`${a}px`)}}),C&&(0,P6.x7)({element:C,padding:i}),UI({arrowWidth:D,arrowHeight:M}),R&&(0,P6.Cp)({strategy:"referenceHidden",...Y})]}),[g,F]=UL(B),H=(0,P$.W)(A);(0,Ue.b)(()=>{m&&H?.()},[m,H]);let y=f.arrow?.x,V=f.arrow?.y,X=f.arrow?.centerOffset!==0,[b,v]=e8.useState();return(0,Ue.b)(()=>{I&&v(window.getComputedStyle(I).zIndex)},[I]),(0,e5.jsx)("div",{ref:p.setFloating,"data-radix-popper-content-wrapper":"",style:{...G,transform:m?G.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:b,"--radix-popper-transform-origin":[f.transformOrigin?.x,f.transformOrigin?.y].join(" "),...f.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,e5.jsx)(UT,{scope:s,placedSide:g,onArrowChange:l,arrowX:y,arrowY:V,shouldHideArrow:X,children:(0,e5.jsx)(Pj.div,{"data-side":g,"data-align":F,...N,ref:h,style:{...N.style,animation:m?void 0:"none"}})})})});UR.displayName=Uc;var UO="PopperArrow",UA={top:"bottom",right:"left",bottom:"top",left:"right"},UN=e8.forwardRef(function(e,t){let{__scopePopper:s,...x}=e,E=US(UO,s),a=UA[E.placedSide];return(0,e5.jsx)("span",{ref:E.onArrowChange,style:{position:"absolute",left:E.arrowX,top:E.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[E.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[E.placedSide],visibility:E.shouldHideArrow?"hidden":void 0},children:(0,e5.jsx)(P9,{...x,ref:t,style:{...x.style,display:"block"}})})});function Uo(e){return null!==e}UN.displayName=UO;var UI=e=>({name:"transformOrigin",options:e,fn(t){let{placement:s,rects:x,middlewareData:E}=t,a=E.arrow?.centerOffset!==0,r=a?0:e.arrowWidth,i=a?0:e.arrowHeight,[n,_]=UL(s),T={start:"0%",center:"50%",end:"100%"}[_],S=(E.arrow?.x??0)+r/2,R=(E.arrow?.y??0)+i/2,O="",A="";return"bottom"===n?(O=a?T:`${S}px`,A=`${-i}px`):"top"===n?(O=a?T:`${S}px`,A=`${x.floating.height+i}px`):"right"===n?(O=`${-i}px`,A=a?T:`${R}px`):"left"===n&&(O=`${x.floating.width+i}px`,A=a?T:`${R}px`),{data:{x:O,y:A}}}});function UL(e){let[t,s="center"]=e.split("-");return[t,s]}e8.forwardRef((e,t)=>{let{container:s,...x}=e,[E,a]=e8.useState(!1);(0,Ue.b)(()=>a(!0),[]);let r=s||E&&globalThis?.document?.body;return r?PQ.createPortal((0,e5.jsx)(Pj.div,{...x,ref:t}),r):null}).displayName="Portal";var Uh=e=>{let{present:t,children:s}=e,x=function(e){var t,s;let[x,E]=e8.useState(),a=e8.useRef({}),r=e8.useRef(e),i=e8.useRef("none"),[n,_]=(t=e?"mounted":"unmounted",s={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},e8.useReducer((e,t)=>s[e][t]??e,t));return e8.useEffect(()=>{let e=UC(a.current);i.current="mounted"===n?e:"none"},[n]),(0,Ue.b)(()=>{let t=a.current,s=r.current;if(s!==e){let x=i.current,E=UC(t);e?_("MOUNT"):"none"===E||t?.display==="none"?_("UNMOUNT"):s&&x!==E?_("ANIMATION_OUT"):_("UNMOUNT"),r.current=e}},[e,_]),(0,Ue.b)(()=>{if(x){let e;let t=x.ownerDocument.defaultView??window,s=s=>{let E=UC(a.current).includes(s.animationName);if(s.target===x&&E&&(_("ANIMATION_END"),!r.current)){let s=x.style.animationFillMode;x.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===x.style.animationFillMode&&(x.style.animationFillMode=s)})}},E=e=>{e.target===x&&(i.current=UC(a.current))};return x.addEventListener("animationstart",E),x.addEventListener("animationcancel",s),x.addEventListener("animationend",s),()=>{t.clearTimeout(e),x.removeEventListener("animationstart",E),x.removeEventListener("animationcancel",s),x.removeEventListener("animationend",s)}}_("ANIMATION_END")},[x,_]),{isPresent:["mounted","unmountSuspended"].includes(n),ref:e8.useCallback(e=>{e&&(a.current=getComputedStyle(e)),E(e)},[])}}(t),E="function"==typeof s?s({present:x.isPresent}):e8.Children.only(s),a=PW(x.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,s=t&&"isReactWarning"in t&&t.isReactWarning;return s?e.ref:(s=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(E));return"function"==typeof s||x.isPresent?e8.cloneElement(E,{ref:a}):null};function UC(e){return e?.animationName||"none"}Uh.displayName="Presence";var Ul=x(53433),Uu=e8.forwardRef((e,t)=>(0,e5.jsx)(Pj.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));Uu.displayName="VisuallyHidden";var[UD,UM]=PK("Tooltip",[UE]),UP=UE(),UU="TooltipProvider",Ud="tooltip.open",[UY,Up]=UD(UU),UG=e=>{let{__scopeTooltip:t,delayDuration:s=700,skipDelayDuration:x=300,disableHoverableContent:E=!1,children:a}=e,[r,i]=e8.useState(!0),n=e8.useRef(!1),_=e8.useRef(0);return e8.useEffect(()=>{let e=_.current;return()=>window.clearTimeout(e)},[]),(0,e5.jsx)(UY,{scope:t,isOpenDelayed:r,delayDuration:s,onOpen:e8.useCallback(()=>{window.clearTimeout(_.current),i(!1)},[]),onClose:e8.useCallback(()=>{window.clearTimeout(_.current),_.current=window.setTimeout(()=>i(!0),x)},[x]),isPointerInTransitRef:n,onPointerInTransitChange:e8.useCallback(e=>{n.current=e},[]),disableHoverableContent:E,children:a})};UG.displayName=UU;var UB="Tooltip",[Um,Uf]=UD(UB),Ug=e=>{let{__scopeTooltip:t,children:s,open:x,defaultOpen:E=!1,onOpenChange:a,disableHoverableContent:r,delayDuration:i}=e,n=Up(UB,e.__scopeTooltip),_=UP(t),[T,S]=e8.useState(null),R=(0,P4.M)(),O=e8.useRef(0),A=r??n.disableHoverableContent,N=i??n.delayDuration,o=e8.useRef(!1),[I=!1,L]=(0,Ul.T)({prop:x,defaultProp:E,onChange:e=>{e?(n.onOpen(),document.dispatchEvent(new CustomEvent(Ud))):n.onClose(),a?.(e)}}),h=e8.useMemo(()=>I?o.current?"delayed-open":"instant-open":"closed",[I]),C=e8.useCallback(()=>{window.clearTimeout(O.current),O.current=0,o.current=!1,L(!0)},[L]),l=e8.useCallback(()=>{window.clearTimeout(O.current),O.current=0,L(!1)},[L]),u=e8.useCallback(()=>{window.clearTimeout(O.current),O.current=window.setTimeout(()=>{o.current=!0,L(!0),O.current=0},N)},[N,L]);return e8.useEffect(()=>()=>{O.current&&(window.clearTimeout(O.current),O.current=0)},[]),(0,e5.jsx)(Ui,{..._,children:(0,e5.jsx)(Um,{scope:t,contentId:R,open:I,stateAttribute:h,trigger:T,onTriggerChange:S,onTriggerEnter:e8.useCallback(()=>{n.isOpenDelayed?u():C()},[n.isOpenDelayed,u,C]),onTriggerLeave:e8.useCallback(()=>{A?l():(window.clearTimeout(O.current),O.current=0)},[l,A]),onOpen:C,onClose:l,disableHoverableContent:A,children:s})})};Ug.displayName=UB;var UF="TooltipTrigger",UH=e8.forwardRef((e,t)=>{let{__scopeTooltip:s,...x}=e,E=Uf(UF,s),a=Up(UF,s),r=UP(s),i=PW(t,e8.useRef(null),E.onTriggerChange),n=e8.useRef(!1),_=e8.useRef(!1),T=e8.useCallback(()=>n.current=!1,[]);return e8.useEffect(()=>()=>document.removeEventListener("pointerup",T),[T]),(0,e5.jsx)(U_,{asChild:!0,...r,children:(0,e5.jsx)(Pj.button,{"aria-describedby":E.open?E.contentId:void 0,"data-state":E.stateAttribute,...x,ref:i,onPointerMove:Pv(e.onPointerMove,e=>{"touch"===e.pointerType||_.current||a.isPointerInTransitRef.current||(E.onTriggerEnter(),_.current=!0)}),onPointerLeave:Pv(e.onPointerLeave,()=>{E.onTriggerLeave(),_.current=!1}),onPointerDown:Pv(e.onPointerDown,()=>{n.current=!0,document.addEventListener("pointerup",T,{once:!0})}),onFocus:Pv(e.onFocus,()=>{n.current||E.onOpen()}),onBlur:Pv(e.onBlur,E.onClose),onClick:Pv(e.onClick,E.onClose)})})});UH.displayName=UF;var[Uy,UV]=UD("TooltipPortal",{forceMount:void 0}),UX="TooltipContent",Ub=e8.forwardRef((e,t)=>{let s=UV(UX,e.__scopeTooltip),{forceMount:x=s.forceMount,side:E="top",...a}=e,r=Uf(UX,e.__scopeTooltip);return(0,e5.jsx)(Uh,{present:x||r.open,children:r.disableHoverableContent?(0,e5.jsx)(UW,{side:E,...a,ref:t}):(0,e5.jsx)(Uv,{side:E,...a,ref:t})})}),Uv=e8.forwardRef((e,t)=>{let s=Uf(UX,e.__scopeTooltip),x=Up(UX,e.__scopeTooltip),E=e8.useRef(null),a=PW(t,E),[r,i]=e8.useState(null),{trigger:n,onClose:_}=s,T=E.current,{onPointerInTransitChange:S}=x,R=e8.useCallback(()=>{i(null),S(!1)},[S]),O=e8.useCallback((e,t)=>{let s=e.currentTarget,x={x:e.clientX,y:e.clientY},E=function(e,t){let s=Math.abs(t.top-e.y),x=Math.abs(t.bottom-e.y),E=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(s,x,E,a)){case a:return"left";case E:return"right";case s:return"top";case x:return"bottom";default:throw Error("unreachable")}}(x,s.getBoundingClientRect());i(function(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),function(e){if(e.length<=1)return e.slice();let t=[];for(let s=0;s<e.length;s++){let x=e[s];for(;t.length>=2;){let e=t[t.length-1],s=t[t.length-2];if((e.x-s.x)*(x.y-s.y)>=(e.y-s.y)*(x.x-s.x))t.pop();else break}t.push(x)}t.pop();let s=[];for(let t=e.length-1;t>=0;t--){let x=e[t];for(;s.length>=2;){let e=s[s.length-1],t=s[s.length-2];if((e.x-t.x)*(x.y-t.y)>=(e.y-t.y)*(x.x-t.x))s.pop();else break}s.push(x)}return(s.pop(),1===t.length&&1===s.length&&t[0].x===s[0].x&&t[0].y===s[0].y)?t:t.concat(s)}(t)}([...function(e,t,s=5){let x=[];switch(t){case"top":x.push({x:e.x-s,y:e.y+s},{x:e.x+s,y:e.y+s});break;case"bottom":x.push({x:e.x-s,y:e.y-s},{x:e.x+s,y:e.y-s});break;case"left":x.push({x:e.x+s,y:e.y-s},{x:e.x+s,y:e.y+s});break;case"right":x.push({x:e.x-s,y:e.y-s},{x:e.x-s,y:e.y+s})}return x}(x,E),...function(e){let{top:t,right:s,bottom:x,left:E}=e;return[{x:E,y:t},{x:s,y:t},{x:s,y:x},{x:E,y:x}]}(t.getBoundingClientRect())])),S(!0)},[S]);return e8.useEffect(()=>()=>R(),[R]),e8.useEffect(()=>{if(n&&T){let e=e=>O(e,T),t=e=>O(e,n);return n.addEventListener("pointerleave",e),T.addEventListener("pointerleave",t),()=>{n.removeEventListener("pointerleave",e),T.removeEventListener("pointerleave",t)}}},[n,T,O,R]),e8.useEffect(()=>{if(r){let e=e=>{let t=e.target,s={x:e.clientX,y:e.clientY},x=n?.contains(t)||T?.contains(t),E=!function(e,t){let{x:s,y:x}=e,E=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let r=t[e].x,i=t[e].y,n=t[a].x,_=t[a].y;i>x!=_>x&&s<(n-r)*(x-i)/(_-i)+r&&(E=!E)}return E}(s,r);x?R():E&&(R(),_())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[n,T,r,_,R]),(0,e5.jsx)(UW,{...e,ref:a})}),[Uk,Uw]=UD(UB,{isInside:!1}),UW=e8.forwardRef((e,t)=>{let{__scopeTooltip:s,children:x,"aria-label":E,onEscapeKeyDown:a,onPointerDownOutside:r,...i}=e,n=Uf(UX,s),_=UP(s),{onClose:T}=n;return e8.useEffect(()=>(document.addEventListener(Ud,T),()=>document.removeEventListener(Ud,T)),[T]),e8.useEffect(()=>{if(n.trigger){let e=e=>{let t=e.target;t?.contains(n.trigger)&&T()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[n.trigger,T]),(0,e5.jsx)(P3,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:r,onFocusOutside:e=>e.preventDefault(),onDismiss:T,children:(0,e5.jsxs)(UR,{"data-state":n.stateAttribute,..._,...i,ref:t,style:{...i.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,e5.jsx)(Pz,{children:x}),(0,e5.jsx)(Uk,{scope:s,isInside:!0,children:(0,e5.jsx)(Uu,{id:n.contentId,role:"tooltip",children:E||x})})]})})});Ub.displayName=UX;var UK="TooltipArrow";e8.forwardRef((e,t)=>{let{__scopeTooltip:s,...x}=e,E=UP(s);return Uw(UK,s).isInside?null:(0,e5.jsx)(UN,{...E,...x,ref:t})}).displayName=UK;let UQ=e8.forwardRef(({className:e,sideOffset:t=4,...s},x)=>e5.jsx(Ub,{ref:x,sideOffset:t,className:(0,so.cn)("z-50 overflow-hidden rounded-md border bg-popover text-popover-foreground px-3 py-1.5 text-sm shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...s}));function UJ({text:e,children:t}){return e5.jsx(UG,{children:(0,e5.jsxs)(Ug,{children:[e5.jsx(UH,{children:t}),e5.jsx(UQ,{children:e5.jsx("p",{className:"text-xs",children:e})})]})})}UQ.displayName=Ub.displayName;var UZ=x(19899),Uz=x(36887);function Uq({table:e,query:t,isLiveQuery:s}){let{chainName:x,worldAddress:E}=(0,e4.useParams)(),{id:a}=(0,e9.A)(),r=decodeURIComponent(t??"");return(0,t7.a)({queryKey:["tableData",x,E,r],queryFn:async()=>{let e=performance.now(),t=sN(a),s=await fetch(t.url,{method:"POST",headers:{"Content-Type":"application/json"},body:(0,te.P)([{address:E,query:r}])}),x=await s.json(),i=performance.now()-e;if(!s.ok)throw Error(x.msg||"Network response was not ok");return{...x,queryDuration:i}},select:t=>{if(!e||!t?.result?.[0])return;let s=sN(a),x=t.result[0];if(!x[0])return;let E=Object.keys(e.schema),r=x[0]?.map(e=>E.find(t=>t.toLowerCase()===e)||e),i=x.slice(1).map(t=>Object.fromEntries(r.map((x,E)=>{let a=t[E],r=e?.schema[x];return r?.type==="bool"?[x,"sqlite"===s.type?"1"===a:a]:[x,a]})));return{columns:r,rows:i,queryDuration:t.queryDuration}},retry:!1,enabled:!!e&&!!t,refetchInterval:e=>!e.state.error&&!!s&&1e3})}let Uj={fontSize:14,fontWeight:"normal",wordWrap:"on",wrappingStrategy:"advanced",lineNumbers:"off",lineNumbersMinChars:0,overviewRulerLanes:0,overviewRulerBorder:!1,hideCursorInOverviewRuler:!0,lineDecorationsWidth:0,glyphMargin:!1,folding:!1,scrollBeyondLastColumn:0,scrollBeyondLastLine:!1,scrollbar:{horizontal:"hidden",vertical:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},find:{addExtraSpaceOnTop:!1,autoFindInSelection:"never",seedSearchStringFromSelection:"never"},minimap:{enabled:!1},wordBasedSuggestions:"off",links:!1,occurrencesHighlight:"off",cursorStyle:"line-thin",renderLineHighlight:"none",contextmenu:!1,roundedSelection:!1,hover:{delay:100},acceptSuggestionOnEnter:"on",automaticLayout:!0,fixedOverflowWidgets:!0};var U$=x(48407);let U0=new(x(43939)).Parser;function U2(e,t){let s=e.split("\n"),x=1,E=1,a=0;for(let r=0;r<s.length;r++){let i=s[r]?.length;if(i){if(a+i>=e.indexOf(t)){x=r+1,E=e.indexOf(t)-a+1;break}a+=i+1}}return{startLineNumber:x,endLineNumber:x,startColumn:E,endColumn:E+t.length}}function U1({table:e,isLiveQuery:t,setIsLiveQuery:s}){let x=(0,e8.useRef)(null),E=(0,e8.useRef)(null),[a,r]=(0,e8.useState)(!1),[i,n]=(0,e6.v1)("query",{defaultValue:""}),_=function(e){let t=Py(),{worldAddress:s}=(0,e4.useParams)(),{id:x}=(0,e9.A)(),E=function(){let e=Py();return(0,e8.useCallback)(({message:t,startLineNumber:s,endLineNumber:x,startColumn:E,endColumn:a})=>{let r=e?.editor.getModels()[0];r&&e.editor.setModelMarkers(r,"sql",[{severity:e.MarkerSeverity.Error,message:t,startLineNumber:s,endLineNumber:x,startColumn:E,endColumn:a}])},[e])}();return(0,e8.useCallback)(a=>{var r;if(!t||!e)return!0;let i=(r=decodeURIComponent(a)).endsWith(";")?r:`${r};`;try{let a=U0.astify(i);if("columns"in a&&Array.isArray(a.columns))for(let t of a.columns){let s=t.expr.column;if(!Object.keys(e.schema).includes(s))return E({message:`Column '${s}' does not exist in the table schema.`,...U2(i,s)}),!1}if("from"in a&&Array.isArray(a.from)){for(let t of a.from)if("table"in t){let a=t.table,r=sI(e,s,x);if(a!==r)return E({message:`Only '${r}' is available for this query.`,...U2(i,a)}),!1}}let r=t?.editor.getModels()[0];return r&&t.editor.setModelMarkers(r,"sql",[]),!0}catch(e){if(e instanceof Error){let t=i.split("\n"),s=t[t.length-1];E({message:e.message,startLineNumber:1,endLineNumber:t.length,startColumn:1,endColumn:s?s.length+1:1})}return!1}},[t,e,E,s,x])}(e),{data:T}=Uq({table:e,query:i,isLiveQuery:t});Py(),function(e){let{id:t}=(0,e9.A)(),{worldAddress:s}=(0,e4.useParams)();(0,e8.useMemo)(()=>{if(!e||!s||!t)return null;let x=sI(e,s,t),E=Object.keys(e.schema);return new U$.SQLAutocomplete(U$.SQLDialect.PLpgSQL,[x],E)},[e,s,t])}(e);let S=(0,Pa.cI)({defaultValues:{query:i}}),R=S.watch("query"),O=S.handleSubmit(e=>{_(e.query)&&n(e.query)}),A=()=>{if(x.current){let e=Math.min(200,x.current.getContentHeight());E.current&&(E.current.style.height=`${e}px`),x.current.layout({width:x.current.getLayoutInfo().width,height:e})}};return e5.jsx(Uz.l0,{...S,children:(0,e5.jsxs)("form",{onSubmit:O,className:"space-y-4",children:[(0,e5.jsxs)("div",{className:(0,so.cn)("relative w-full rounded-md border bg-black px-3 py-2 ring-offset-background",{"outline-none ring-2 ring-ring ring-offset-2":a}),children:[e5.jsx(Uz.Wi,{name:"query",render:({field:e})=>e5.jsx("div",{ref:E,className:"min-h-[21px] w-full",children:e5.jsx(Pb,{width:"100%",theme:"hc-black",value:decodeURIComponent(e.value),options:Uj,language:"sql",onChange:t=>e.onChange(encodeURIComponent(t??"")),onMount:e=>{x.current=e,e.addAction({id:"executeSQL",label:"Execute SQL command",keybindings:[Px.CtrlCmd|Ps.Enter],run:()=>{O()}}),A(),e.onDidContentSizeChange(A),e.onDidFocusEditorText(()=>r(!0)),e.onDidBlurEditorText(()=>r(!1))},loading:null})})}),R!==i?e5.jsx("span",{className:"absolute right-1 top-[-6px] text-5xl text-primary",children:e5.jsx("span",{className:"text-5xl text-primary",children:"\xb7"})}):null]}),(0,e5.jsxs)("div",{className:"flex justify-end gap-4",children:[T?(0,e5.jsxs)(e5.Fragment,{children:[(0,e5.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-white/60",children:[e5.jsx(UJ,{text:"Execution time for the SQL query",children:(0,e5.jsxs)("span",{className:"flex items-center gap-1.5",children:[e5.jsx("span",{className:(0,so.cn)("inline-block h-[6px] w-[6px] rounded-full bg-success",{"animate-pulse":t})}),(0,e5.jsxs)("span",{children:[T?Math.round(T.queryDuration):0,"ms"]})]})}),"\xb7",(0,e5.jsxs)("span",{children:[T?.rows.length??0," row",T?.rows.length!==1?"s":""]})]}),e5.jsx(UJ,{text:t?"Pause live query":"Start live query",children:e5.jsx(UZ.z,{variant:"outline",size:"icon",onClick:()=>s(!t),children:t?e5.jsx(sh,{className:"h-4 w-4"}):e5.jsx(sC,{className:"h-4 w-4"})})})]}):null,(0,e5.jsxs)(UZ.z,{className:"flex gap-2 pl-4 pr-3",type:"submit",children:["Run",e5.jsx("span",{className:"flex items-center gap-0.5 text-white/60",children:navigator.platform.toLowerCase().includes("mac")?(0,e5.jsxs)(e5.Fragment,{children:[e5.jsx(sl,{className:"h-3 w-3"}),e5.jsx(su,{className:"h-3 w-3"})]}):(0,e5.jsxs)(e5.Fragment,{children:[e5.jsx("span",{className:"text-xs",children:"CTRL"}),e5.jsx(su,{className:"h-3 w-3"})]})})]})]})]})})}var U3=x(58582);/**
1045
+ `,constraint:function(e){return!!ru.Kn(e)&&!!((ru.hj(e.lineNumber)||ru.HD(e.lineNumber))&&(ru.o8(e.at)||ru.HD(e.at)))},schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:["number","string"]},at:{type:"string",enum:["top","center","bottom"]}}}}]},e.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}}(eJ||(eJ={}));class hG{constructor(e){e.addImplementation(1e4,"code-editor",(e,t)=>{let s=e.get(rT).getFocusedCodeEditor();return!!(s&&s.hasTextFocus())&&this._runEditorCommand(e,s,t)}),e.addImplementation(1e3,"generic-dom-input-textarea",(e,t)=>{let s=al();return!!(s&&["input","textarea"].indexOf(s.tagName.toLowerCase())>=0)&&(this.runDOMCommand(s),!0)}),e.addImplementation(0,"generic-dom",(e,t)=>{let s=e.get(rT).getActiveCodeEditor();return!!s&&(s.focus(),this._runEditorCommand(e,s,t))})}_runEditorCommand(e,t,s){let x=this.runEditorCommand(e,t,s);return!x||x}}!function(e){class t extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[L2.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&2!==t.revealType&&e.revealAllCursors(t.source,!0,!0))}}e.MoveTo=rW(new t({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=rW(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class s extends hp{runCoreEditorCommand(e,t){e.model.pushStackElement();let s=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);null!==s&&(e.setCursorStates(t.source,3,s.viewStates.map(e=>LX.fromViewState(e))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:s.fromLineNumber,fromViewVisualColumn:s.fromVisualColumn,toViewLineNumber:s.toLineNumber,toViewVisualColumn:s.toVisualColumn}),s.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source))}}e.ColumnSelect=rW(new class extends s{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(e,t,s,x){if(void 0===x.position||void 0===x.viewPosition||void 0===x.mouseColumn)return null;let E=e.model.validatePosition(x.position),a=e.coordinatesConverter.validateViewPosition(new cs.L(x.viewPosition.lineNumber,x.viewPosition.column),E),r=x.doColumnSelect?s.fromViewLineNumber:a.lineNumber,i=x.doColumnSelect?s.fromViewVisualColumn:x.mouseColumn-1;return LK.columnSelect(e.cursorConfig,e,r,i,a.lineNumber,x.mouseColumn-1)}}),e.CursorColumnSelectLeft=rW(new class extends s{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,s,x){return LK.columnSelectLeft(e.cursorConfig,e,s)}}),e.CursorColumnSelectRight=rW(new class extends s{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,s,x){return LK.columnSelectRight(e.cursorConfig,e,s)}});class x extends s{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,s,x){return LK.columnSelectUp(e.cursorConfig,e,s,this._isPaged)}}e.CursorColumnSelectUp=rW(new x({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=rW(new x({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3595,linux:{primary:0}}}));class E extends s{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,s,x){return LK.columnSelectDown(e.cursorConfig,e,s,this._isPaged)}}e.CursorColumnSelectDown=rW(new E({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=rW(new E({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3596,linux:{primary:0}}}));class a extends hp{constructor(){super({id:"cursorMove",precondition:void 0,metadata:ew.metadata})}runCoreEditorCommand(e,t){let s=ew.parse(t);s&&this._runCursorMove(e,t.source,s)}_runCursorMove(e,t,s){e.model.pushStackElement(),e.setCursorStates(t,3,a._move(e,e.getCursorStates(),s)),e.revealAllCursors(t,!0)}static _move(e,t,s){let x=s.select,E=s.value;switch(s.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return L2.simpleMove(e,t,s.direction,x,E,s.unit);case 11:case 13:case 12:case 14:return L2.viewportMove(e,t,s.direction,x,E);default:return null}}}e.CursorMoveImpl=a,e.CursorMove=rW(new a);class r extends hp{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let s=this._staticArgs;-1===this._staticArgs.value&&(s={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.simpleMove(e,e.getCursorStates(),s.direction,s.select,s.value,s.unit)),e.revealAllCursors(t.source,!0)}}e.CursorLeft=rW(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=rW(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1039}})),e.CursorRight=rW(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=rW(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1041}})),e.CursorUp=rW(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=rW(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=rW(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:11}})),e.CursorPageUpSelect=rW(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1035}})),e.CursorDown=rW(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=rW(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=rW(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:12}})),e.CursorPageDownSelect=rW(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1036}})),e.CreateCursor=rW(new class extends hp{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(e,t){let s;if(!t.position)return;s=t.wholeLine?L2.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):L2.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);let x=e.getCursorStates();if(x.length>1){let E=s.modelState?s.modelState.position:null,a=s.viewState?s.viewState.position:null;for(let s=0,r=x.length;s<r;s++){let r=x[s];if((!E||r.modelState.selection.containsPosition(E))&&(!a||r.viewState.selection.containsPosition(a))){x.splice(s,1),e.model.pushStackElement(),e.setCursorStates(t.source,3,x);return}}}x.push(s),e.model.pushStackElement(),e.setCursorStates(t.source,3,x)}}),e.LastCursorMoveToSelect=rW(new class extends hp{constructor(){super({id:"_lastCursorMoveToSelect",precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let s=e.getLastAddedCursorIndex(),x=e.getCursorStates(),E=x.slice(0);E[s]=L2.moveTo(e,x[s],!0,t.position,t.viewPosition),e.model.pushStackElement(),e.setCursorStates(t.source,3,E)}});class i extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.moveToBeginningOfLine(e,e.getCursorStates(),this._inSelectionMode)),e.revealAllCursors(t.source,!0)}}e.CursorHome=rW(new i({inSelectionMode:!1,id:"cursorHome",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),e.CursorHomeSelect=rW(new i({inSelectionMode:!0,id:"cursorHomeSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}}));class n extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,this._exec(e.getCursorStates())),e.revealAllCursors(t.source,!0)}_exec(e){let t=[];for(let s=0,x=e.length;s<x;s++){let x=e[s],E=x.modelState.position.lineNumber;t[s]=LX.fromModelState(x.modelState.move(this._inSelectionMode,E,1,0))}return t}}e.CursorLineStart=rW(new n({inSelectionMode:!1,id:"cursorLineStart",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:287}}})),e.CursorLineStartSelect=rW(new n({inSelectionMode:!0,id:"cursorLineStartSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:1311}}}));class _ extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.moveToEndOfLine(e,e.getCursorStates(),this._inSelectionMode,t.sticky||!1)),e.revealAllCursors(t.source,!0)}}e.CursorEnd=rW(new _({inSelectionMode:!1,id:"cursorEnd",precondition:void 0,kbOpts:{args:{sticky:!1},weight:0,kbExpr:eK.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}},metadata:{description:"Go to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:sY.NC("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}})),e.CursorEndSelect=rW(new _({inSelectionMode:!0,id:"cursorEndSelect",precondition:void 0,kbOpts:{args:{sticky:!1},weight:0,kbExpr:eK.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}},metadata:{description:"Select to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:sY.NC("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}}));class T extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,this._exec(e,e.getCursorStates())),e.revealAllCursors(t.source,!0)}_exec(e,t){let s=[];for(let x=0,E=t.length;x<E;x++){let E=t[x],a=E.modelState.position.lineNumber,r=e.model.getLineMaxColumn(a);s[x]=LX.fromModelState(E.modelState.move(this._inSelectionMode,a,r,0))}return s}}e.CursorLineEnd=rW(new T({inSelectionMode:!1,id:"cursorLineEnd",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:291}}})),e.CursorLineEndSelect=rW(new T({inSelectionMode:!0,id:"cursorLineEndSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:1315}}}));class S extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.moveToBeginningOfBuffer(e,e.getCursorStates(),this._inSelectionMode)),e.revealAllCursors(t.source,!0)}}e.CursorTop=rW(new S({inSelectionMode:!1,id:"cursorTop",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2062,mac:{primary:2064}}})),e.CursorTopSelect=rW(new S({inSelectionMode:!0,id:"cursorTopSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3086,mac:{primary:3088}}}));class R extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,L2.moveToEndOfBuffer(e,e.getCursorStates(),this._inSelectionMode)),e.revealAllCursors(t.source,!0)}}e.CursorBottom=rW(new R({inSelectionMode:!1,id:"cursorBottom",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2061,mac:{primary:2066}}})),e.CursorBottomSelect=rW(new R({inSelectionMode:!0,id:"cursorBottomSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:3085,mac:{primary:3090}}}));class O extends hp{constructor(){super({id:"editorScroll",precondition:void 0,metadata:eQ.metadata})}determineScrollMethod(e){return[6].includes(e.unit)&&[4,2].includes(e.direction)?this._runHorizontalEditorScroll.bind(this):[1,2,3,4,5,6].includes(e.unit)&&[1,3].includes(e.direction)?this._runVerticalEditorScroll.bind(this):null}runCoreEditorCommand(e,t){let s=eQ.parse(t);if(!s)return;let x=this.determineScrollMethod(s);x&&x(e,t.source,s)}_runVerticalEditorScroll(e,t,s){let x=this._computeDesiredScrollTop(e,s);if(s.revealCursor){let E=e.getCompletelyVisibleViewRangeAtScrollTop(x);e.setCursorStates(t,3,[L2.findPositionInViewportIfOutside(e,e.getPrimaryCursorState(),E,s.select)])}e.viewLayout.setScrollPosition({scrollTop:x},0)}_computeDesiredScrollTop(e,t){let s;if(1===t.unit){let s;let x=e.viewLayout.getFutureViewport(),E=e.getCompletelyVisibleViewRangeAtScrollTop(x.top),a=e.coordinatesConverter.convertViewRangeToModelRange(E);s=1===t.direction?Math.max(1,a.startLineNumber-t.value):Math.min(e.model.getLineCount(),a.startLineNumber+t.value);let r=e.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(s,1));return e.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber)}if(5===t.unit){let s=0;return 3===t.direction&&(s=e.model.getLineCount()-e.cursorConfig.pageSize),e.viewLayout.getVerticalOffsetForLineNumber(s)}s=3===t.unit?e.cursorConfig.pageSize*t.value:4===t.unit?Math.round(e.cursorConfig.pageSize/2)*t.value:t.value;let x=(1===t.direction?-1:1)*s;return e.viewLayout.getCurrentScrollTop()+x*e.cursorConfig.lineHeight}_runHorizontalEditorScroll(e,t,s){let x=this._computeDesiredScrollLeft(e,s);e.viewLayout.setScrollPosition({scrollLeft:x},0)}_computeDesiredScrollLeft(e,t){let s=(4===t.direction?-1:1)*t.value;return e.viewLayout.getCurrentScrollLeft()+s*e.cursorConfig.typicalHalfwidthCharacterWidth}}e.EditorScrollImpl=O,e.EditorScroll=rW(new O),e.ScrollLineUp=rW(new class extends hp{constructor(){super({id:"scrollLineUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2064,mac:{primary:267}}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Up,by:eQ.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollPageUp=rW(new class extends hp{constructor(){super({id:"scrollPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Up,by:eQ.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollEditorTop=rW(new class extends hp{constructor(){super({id:"scrollEditorTop",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Up,by:eQ.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollLineDown=rW(new class extends hp{constructor(){super({id:"scrollLineDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2066,mac:{primary:268}}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Down,by:eQ.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollPageDown=rW(new class extends hp{constructor(){super({id:"scrollPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Down,by:eQ.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollEditorBottom=rW(new class extends hp{constructor(){super({id:"scrollEditorBottom",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Down,by:eQ.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollLeft=rW(new class extends hp{constructor(){super({id:"scrollLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Left,by:eQ.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:s.source})}}),e.ScrollRight=rW(new class extends hp{constructor(){super({id:"scrollRight",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus}})}runCoreEditorCommand(t,s){e.EditorScroll.runCoreEditorCommand(t,{to:eQ.RawDirection.Right,by:eQ.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:s.source})}});class A extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[L2.word(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position)]),2!==t.revealType&&e.revealAllCursors(t.source,!0,!0))}}e.WordSelect=rW(new A({inSelectionMode:!1,id:"_wordSelect",precondition:void 0})),e.WordSelectDrag=rW(new A({inSelectionMode:!0,id:"_wordSelectDrag",precondition:void 0})),e.LastCursorWordSelect=rW(new class extends hp{constructor(){super({id:"lastCursorWordSelect",precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let s=e.getLastAddedCursorIndex(),x=e.getCursorStates(),E=x.slice(0),a=x[s];E[s]=L2.word(e,a,a.modelState.hasSelection(),t.position),e.model.pushStackElement(),e.setCursorStates(t.source,3,E)}});class N extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[L2.line(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)]),2!==t.revealType&&e.revealAllCursors(t.source,!1,!0))}}e.LineSelect=rW(new N({inSelectionMode:!1,id:"_lineSelect",precondition:void 0})),e.LineSelectDrag=rW(new N({inSelectionMode:!0,id:"_lineSelectDrag",precondition:void 0}));class o extends hp{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){if(!t.position)return;let s=e.getLastAddedCursorIndex(),x=e.getCursorStates(),E=x.slice(0);E[s]=L2.line(e,x[s],this._inSelectionMode,t.position,t.viewPosition),e.model.pushStackElement(),e.setCursorStates(t.source,3,E)}}e.LastCursorLineSelect=rW(new o({inSelectionMode:!1,id:"lastCursorLineSelect",precondition:void 0})),e.LastCursorLineSelectDrag=rW(new o({inSelectionMode:!0,id:"lastCursorLineSelectDrag",precondition:void 0})),e.CancelSelection=rW(new class extends hp{constructor(){super({id:"cancelSelection",precondition:eK.hasNonEmptySelection,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[L2.cancelSelection(e,e.getPrimaryCursorState())]),e.revealAllCursors(t.source,!0)}}),e.RemoveSecondaryCursors=rW(new class extends hp{constructor(){super({id:"removeSecondaryCursors",precondition:eK.hasMultipleSelections,kbOpts:{weight:1,kbExpr:eK.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[e.getPrimaryCursorState()]),e.revealAllCursors(t.source,!0),_y(sY.NC("removedCursor","Removed secondary cursors"))}}),e.RevealLine=rW(new class extends hp{constructor(){super({id:"revealLine",precondition:void 0,metadata:eJ.metadata})}runCoreEditorCommand(e,t){let s=t.lineNumber||0,x="number"==typeof s?s+1:parseInt(s)+1;x<1&&(x=1);let E=e.model.getLineCount();x>E&&(x=E);let a=new r3.e(x,1,x,e.model.getLineMaxColumn(x)),r=0;if(t.at)switch(t.at){case eJ.RawAtArgument.Top:r=3;break;case eJ.RawAtArgument.Center:r=1;break;case eJ.RawAtArgument.Bottom:r=4}let i=e.coordinatesConverter.convertModelRangeToViewRange(a);e.revealRange(t.source,!1,i,r,0)}}),e.SelectAll=new class extends hG{constructor(){super(rq)}runDOMCommand(e){xX&&(e.focus(),e.select()),e.ownerDocument.execCommand("selectAll")}runEditorCommand(e,t,s){let x=t._getViewModel();x&&this.runCoreEditorCommand(x,s)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates("keyboard",3,[L2.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=rW(new class extends hp{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(e,t){t.selection&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[LX.fromModelSelection(t.selection)]))}})}(eZ||(eZ={}));let hB=rP.Ao.and(eK.textInputFocus,eK.columnSelection);function hm(e,t){rY.registerKeybindingRule({id:e,primary:t,when:hB,weight:1})}function hf(e){return e.register(),e}hm(eZ.CursorColumnSelectLeft.id,1039),hm(eZ.CursorColumnSelectRight.id,1041),hm(eZ.CursorColumnSelectUp.id,1040),hm(eZ.CursorColumnSelectPageUp.id,1035),hm(eZ.CursorColumnSelectDown.id,1042),hm(eZ.CursorColumnSelectPageDown.id,1036),function(e){class t extends rw{runEditorCommand(e,t,s){let x=t._getViewModel();x&&this.runCoreEditingCommand(t,x,s||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=rW(new class extends t{constructor(){super({id:"lineBreakInsert",precondition:eK.writable,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,s){e.pushUndoStop(),e.executeCommands(this.id,hT.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection)))}}),e.Outdent=rW(new class extends t{constructor(){super({id:"outdent",precondition:eK.writable,kbOpts:{weight:0,kbExpr:rP.Ao.and(eK.editorTextFocus,eK.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,s){e.pushUndoStop(),e.executeCommands(this.id,hd.outdent(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.Tab=rW(new class extends t{constructor(){super({id:"tab",precondition:eK.writable,kbOpts:{weight:0,kbExpr:rP.Ao.and(eK.editorTextFocus,eK.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,s){e.pushUndoStop(),e.executeCommands(this.id,hd.tab(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.DeleteLeft=rW(new class extends t{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,s){let[x,E]=L$.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection),t.getCursorAutoClosedCharacters());x&&e.pushUndoStop(),e.executeCommands(this.id,E),t.setPrevEditOperationType(2)}}),e.DeleteRight=rW(new class extends t{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:eK.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,s){let[x,E]=L$.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection));x&&e.pushUndoStop(),e.executeCommands(this.id,E),t.setPrevEditOperationType(3)}}),e.Undo=new class extends hG{constructor(){super(rZ)}runDOMCommand(e){e.ownerDocument.execCommand("undo")}runEditorCommand(e,t,s){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().undo()}},e.Redo=new class extends hG{constructor(){super(rz)}runDOMCommand(e){e.ownerDocument.execCommand("redo")}runEditorCommand(e,t,s){if(t.hasModel()&&!0!==t.getOption(92))return t.getModel().redo()}}}(ez||(ez={}));class hg extends rb{constructor(e,t,s){super({id:e,precondition:void 0,metadata:s}),this._handlerId=t}runCommand(e,t){let s=e.get(rT).getFocusedCodeEditor();s&&s.trigger("keyboard",this._handlerId,t)}}function hF(e,t){hf(new hg("default:"+e,e)),hf(new hg(e,e,t))}hF("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),hF("replacePreviousChar"),hF("compositionType"),hF("compositionStart"),hF("compositionEnd"),hF("paste"),hF("cut");class hH{constructor(e,t,s,x){this.configuration=e,this.viewModel=t,this.userInputEvents=s,this.commandDelegate=x}paste(e,t,s,x){this.commandDelegate.paste(e,t,s,x)}type(e){this.commandDelegate.type(e)}compositionType(e,t,s,x){this.commandDelegate.compositionType(e,t,s,x)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){eZ.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){let t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column<t?new cs.L(e.lineNumber,t):e}_hasMulticursorModifier(e){switch(this.configuration.options.get(78)){case"altKey":return e.altKey;case"ctrlKey":return e.ctrlKey;case"metaKey":return e.metaKey;default:return!1}}_hasNonMulticursorModifier(e){switch(this.configuration.options.get(78)){case"altKey":return e.ctrlKey||e.metaKey;case"ctrlKey":return e.altKey||e.metaKey;case"metaKey":return e.ctrlKey||e.altKey;default:return!1}}dispatchMouse(e){let t=this.configuration.options,s=sP.IJ&&t.get(108),x=t.get(22);e.middleButton&&!s?this._columnSelect(e.position,e.mouseColumn,e.inSelectionMode):e.startedOnLineNumbers?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelect(e.position,e.revealType):this._createCursor(e.position,!0):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):e.mouseDownCount>=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):2===e.mouseDownCount?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):x?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){eZ.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){eZ.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,s){e=this._validateViewColumn(e),eZ.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:s})}_createCursor(e,t){e=this._validateViewColumn(e),eZ.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){eZ.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){eZ.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){eZ.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){eZ.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){eZ.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){eZ.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){eZ.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){eZ.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){eZ.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class hy{constructor(e){this._lineFactory=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_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(e){let t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new xZ.he("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(0===this.getCount())return null;let s=this.getStartLineNumber(),x=this.getEndLineNumber();if(t<s)return this._rendLineNumberStart-=t-e+1,null;if(e>x)return null;let E=0,a=0;for(let r=s;r<=x;r++){let s=r-this._rendLineNumberStart;e<=r&&r<=t&&(0===a?(E=s,a=1):a++)}if(e<s){let x=0;x=t<s?t-e+1:s-e,this._rendLineNumberStart-=x}return this._lines.splice(E,a)}onLinesChanged(e,t){let s=e+t-1;if(0===this.getCount())return!1;let x=this.getStartLineNumber(),E=this.getEndLineNumber(),a=!1;for(let t=e;t<=s;t++)t>=x&&t<=E&&(this._lines[t-this._rendLineNumberStart].onContentChanged(),a=!0);return a}onLinesInserted(e,t){if(0===this.getCount())return null;let s=t-e+1,x=this.getStartLineNumber(),E=this.getEndLineNumber();if(e<=x)return this._rendLineNumberStart+=s,null;if(e>E)return null;if(s+e>E)return this._lines.splice(e-this._rendLineNumberStart,E-e+1);let a=[];for(let e=0;e<s;e++)a[e]=this._lineFactory.createLine();let r=e-this._rendLineNumberStart,i=this._lines.slice(0,r),n=this._lines.slice(r,this._lines.length-s),_=this._lines.slice(this._lines.length-s,this._lines.length);return this._lines=i.concat(a).concat(n),_}onTokensChanged(e){if(0===this.getCount())return!1;let t=this.getStartLineNumber(),s=this.getEndLineNumber(),x=!1;for(let E=0,a=e.length;E<a;E++){let a=e[E];if(a.toLineNumber<t||a.fromLineNumber>s)continue;let r=Math.max(t,a.fromLineNumber),i=Math.min(s,a.toLineNumber);for(let e=r;e<=i;e++){let t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),x=!0}}return x}}class hV{constructor(e){this._lineFactory=e,this.domNode=this._createDomNode(),this._linesCollection=new hy(this._lineFactory)}_createDomNode(){let e=a9(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(146)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){let t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,s=t.length;e<s;e++){let s=t[e].getDomNode();s?.remove()}return!0}onLinesInserted(e){let t=this._linesCollection.onLinesInserted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,s=t.length;e<s;e++){let s=t[e].getDomNode();s?.remove()}return!0}onScrollChanged(e){return e.scrollTopChanged}onTokensChanged(e){return this._linesCollection.onTokensChanged(e.ranges)}onZonesChanged(e){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(e){return this._linesCollection.getLine(e)}renderLines(e){let t=this._linesCollection._get(),s=new hX(this.domNode.domNode,this._lineFactory,e),x={rendLineNumberStart:t.rendLineNumberStart,lines:t.lines,linesLength:t.lines.length},E=s.render(x,e.startLineNumber,e.endLineNumber,e.relativeVerticalOffset);this._linesCollection._set(E.rendLineNumberStart,E.lines)}}class hX{static{this._ttPolicy=r$("editorViewLayer",{createHTML:e=>e})}constructor(e,t,s){this._domNode=e,this._lineFactory=t,this._viewportData=s}render(e,t,s,x){let E={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(E.rendLineNumberStart+E.linesLength-1<t||s<E.rendLineNumberStart){E.rendLineNumberStart=t,E.linesLength=s-t+1,E.lines=[];for(let e=t;e<=s;e++)E.lines[e-t]=this._lineFactory.createLine();return this._finishRendering(E,!0,x),E}if(this._renderUntouchedLines(E,Math.max(t-E.rendLineNumberStart,0),Math.min(s-E.rendLineNumberStart,E.linesLength-1),x,t),E.rendLineNumberStart>t){let e=Math.min(s,E.rendLineNumberStart-1);t<=e&&(this._insertLinesBefore(E,t,e,x,t),E.linesLength+=e-t+1)}else if(E.rendLineNumberStart<t){let e=Math.min(E.linesLength,t-E.rendLineNumberStart);e>0&&(this._removeLinesBefore(E,e),E.linesLength-=e)}if(E.rendLineNumberStart=t,E.rendLineNumberStart+E.linesLength-1<s){let e=E.rendLineNumberStart+E.linesLength;e<=s&&(this._insertLinesAfter(E,e,s,x,t),E.linesLength+=s-e+1)}else if(E.rendLineNumberStart+E.linesLength-1>s){let e=Math.max(0,s-E.rendLineNumberStart+1),t=E.linesLength-1-e+1;t>0&&(this._removeLinesAfter(E,t),E.linesLength-=t)}return this._finishRendering(E,!1,x),E}_renderUntouchedLines(e,t,s,x,E){let a=e.rendLineNumberStart,r=e.lines;for(let e=t;e<=s;e++){let t=a+e;r[e].layoutLine(t,x[t-E],this._viewportData.lineHeight)}}_insertLinesBefore(e,t,s,x,E){let a=[],r=0;for(let e=t;e<=s;e++)a[r++]=this._lineFactory.createLine();e.lines=a.concat(e.lines)}_removeLinesBefore(e,t){for(let s=0;s<t;s++){let t=e.lines[s].getDomNode();t?.remove()}e.lines.splice(0,t)}_insertLinesAfter(e,t,s,x,E){let a=[],r=0;for(let e=t;e<=s;e++)a[r++]=this._lineFactory.createLine();e.lines=e.lines.concat(a)}_removeLinesAfter(e,t){let s=e.linesLength-t;for(let x=0;x<t;x++){let t=e.lines[s+x].getDomNode();t?.remove()}e.lines.splice(s,t)}_finishRenderingNewLines(e,t,s,x){hX._ttPolicy&&(s=hX._ttPolicy.createHTML(s));let E=this._domNode.lastChild;t||!E?this._domNode.innerHTML=s:E.insertAdjacentHTML("afterend",s);let a=this._domNode.lastChild;for(let t=e.linesLength-1;t>=0;t--){let s=e.lines[t];x[t]&&(s.setDomNode(a),a=a.previousSibling)}}_finishRenderingInvalidLines(e,t,s){let x=document.createElement("div");hX._ttPolicy&&(t=hX._ttPolicy.createHTML(t)),x.innerHTML=t;for(let t=0;t<e.linesLength;t++){let E=e.lines[t];if(s[t]){let e=x.firstChild,t=E.getDomNode();t.parentNode.replaceChild(e,t),E.setDomNode(e)}}}static{this._sb=new oF.HT(1e5)}_finishRendering(e,t,s){let x=hX._sb,E=e.linesLength,a=e.lines,r=e.rendLineNumberStart,i=[];{x.reset();let n=!1;for(let e=0;e<E;e++){let t=a[e];i[e]=!1,!t.getDomNode()&&t.renderLine(e+r,s[e],this._viewportData.lineHeight,this._viewportData,x)&&(i[e]=!0,n=!0)}n&&this._finishRenderingNewLines(e,t,x.build(),i)}{x.reset();let t=!1,n=[];for(let e=0;e<E;e++){let E=a[e];n[e]=!1,!i[e]&&E.renderLine(e+r,s[e],this._viewportData.lineHeight,this._viewportData,x)&&(n[e]=!0,t=!0)}t&&this._finishRenderingInvalidLines(e,x.build(),n)}}}class hb extends IV{constructor(e){super(e),this._dynamicOverlays=[],this._isFocused=!1,this._visibleLines=new hV({createLine:()=>new hv(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;let t=this._context.configuration.options.get(50);re(this.domNode,t),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;e<t;e++)if(this._dynamicOverlays[e].shouldRender())return!0;return!1}dispose(){super.dispose();for(let e=0,t=this._dynamicOverlays.length;e<t;e++)this._dynamicOverlays[e].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}addDynamicOverlay(e){this._dynamicOverlays.push(e)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e);let t=this._context.configuration.options.get(50);return re(this.domNode,t),!0}onFlushed(e){return this._visibleLines.onFlushed(e)}onFocusChanged(e){return this._isFocused=e.isFocused,!0}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onScrollChanged(e){return this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._visibleLines.onZonesChanged(e)}prepareRender(e){let t=this._dynamicOverlays.filter(e=>e.shouldRender());for(let s=0,x=t.length;s<x;s++){let x=t[s];x.prepareRender(e),x.onDidRender()}}render(e){this._viewOverlaysRender(e),this.domNode.toggleClassName("focused",this._isFocused)}_viewOverlaysRender(e){this._visibleLines.renderLines(e.viewportData)}}class hv{constructor(e){this._dynamicOverlays=e,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(e){this._domNode=a9(e)}onContentChanged(){}onTokensChanged(){}renderLine(e,t,s,x,E){let a="";for(let t=0,s=this._dynamicOverlays.length;t<s;t++)a+=this._dynamicOverlays[t].render(x.startLineNumber,e);return this._renderedContent!==a&&(this._renderedContent=a,E.appendString('<div style="top:'),E.appendString(String(t)),E.appendString("px;height:"),E.appendString(String(s)),E.appendString('px;">'),E.appendString(a),E.appendString("</div>"),!0)}layoutLine(e,t,s){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(s))}}class hk extends hb{constructor(e){super(e);let t=this._context.configuration.options.get(146);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){let t=this._context.configuration.options.get(146);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class hw extends hb{constructor(e){super(e);let t=this._context.configuration.options,s=t.get(146);this._contentLeft=s.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),re(this.domNode,t.get(50))}onConfigurationChanged(e){let t=this._context.configuration.options;re(this.domNode,t.get(50));let s=t.get(146);return this._contentLeft=s.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);let t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class hW{constructor(e){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=e}emitKeyDown(e){this.onKeyDown?.(e)}emitKeyUp(e){this.onKeyUp?.(e)}emitContextMenu(e){this.onContextMenu?.(this._convertViewToModelMouseEvent(e))}emitMouseMove(e){this.onMouseMove?.(this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){this.onMouseLeave?.(this._convertViewToModelMouseEvent(e))}emitMouseDown(e){this.onMouseDown?.(this._convertViewToModelMouseEvent(e))}emitMouseUp(e){this.onMouseUp?.(this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){this.onMouseDrag?.(this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){this.onMouseDrop?.(this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){this.onMouseDropCanceled?.()}emitMouseWheel(e){this.onMouseWheel?.(e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return hW.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){let s={...e};return s.position&&(s.position=t.convertViewPositionToModelPosition(s.position)),s.range&&(s.range=t.convertViewRangeToModelRange(s.range)),(5===s.type||8===s.type)&&(s.detail=this.convertViewToModelViewZoneData(s.detail,t)),s}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new cs.L(e.afterLineNumber,1)).lineNumber}}}x(17572);class hK extends IV{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=a9(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1,t=this._context.configuration.options.get(146),s=t.contentWidth-t.verticalScrollbarWidth;this.contentWidth!==s&&(this.contentWidth=s,e=!0);let x=t.contentLeft;return this.contentLeft!==x&&(this.contentLeft=x,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){let t=0;for(let s of e.getDecorationsInViewport()){let x,E;if(!s.options.blockClassName)continue;let a=this.blocks[t];a||(a=this.blocks[t]=a9(document.createElement("div")),this.domNode.appendChild(a)),s.options.blockIsAfterEnd?(x=e.getVerticalOffsetAfterLineNumber(s.range.endLineNumber,!1),E=e.getVerticalOffsetAfterLineNumber(s.range.endLineNumber,!0)):(x=e.getVerticalOffsetForLineNumber(s.range.startLineNumber,!0),E=s.range.isEmpty()&&!s.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(s.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(s.range.endLineNumber,!0));let[r,i,n,_]=s.options.blockPadding??[0,0,0,0];a.setClassName("blockDecorations-block "+s.options.blockClassName),a.setLeft(this.contentLeft-_),a.setWidth(this.contentWidth+_+i),a.setTop(x-e.scrollTop-r),a.setHeight(E-x+r+n),t++}for(let e=t;e<this.blocks.length;e++)this.blocks[e].domNode.remove();this.blocks.length=t}}class hQ extends IV{constructor(e,t){super(e),this._viewDomNode=t,this._widgets={},this.domNode=a9(document.createElement("div")),IX.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=a9(document.createElement("div")),IX.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(e){for(let t of Object.keys(this._widgets))this._widgets[t].onConfigurationChanged(e);return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLineMappingChanged(e){return this._updateAnchorsViewPositions(),!0}onLinesChanged(e){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(e){return this._updateAnchorsViewPositions(),!0}onLinesInserted(e){return this._updateAnchorsViewPositions(),!0}onScrollChanged(e){return!0}onZonesChanged(e){return!0}_updateAnchorsViewPositions(){for(let e of Object.keys(this._widgets))this._widgets[e].updateAnchorViewPosition()}addWidget(e){let t=new hJ(this._context,this._viewDomNode,e);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()}setWidgetPosition(e,t,s,x,E){this._widgets[e.getId()].setPosition(t,s,x,E),this.setShouldRender()}removeWidget(e){let t=e.getId();if(this._widgets.hasOwnProperty(t)){let e=this._widgets[t];delete this._widgets[t];let s=e.domNode.domNode;s.remove(),s.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(e){return!!this._widgets.hasOwnProperty(e)&&this._widgets[e].suppressMouseDown}onBeforeRender(e){for(let t of Object.keys(this._widgets))this._widgets[t].onBeforeRender(e)}prepareRender(e){for(let t of Object.keys(this._widgets))this._widgets[t].prepareRender(e)}render(e){for(let t of Object.keys(this._widgets))this._widgets[t].render(e)}}class hJ{constructor(e,t,s){this._primaryAnchor=new hZ(null,null),this._secondaryAnchor=new hZ(null,null),this._context=e,this._viewDomNode=t,this._actual=s,this.domNode=a9(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;let x=this._context.configuration.options,E=x.get(146);this._fixedOverflowWidgets=x.get(42),this._contentWidth=E.contentWidth,this._contentLeft=E.contentLeft,this._lineHeight=x.get(67),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(e){let t=this._context.configuration.options;if(this._lineHeight=t.get(67),e.hasChanged(146)){let e=t.get(146);this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(e,t,s){function x(e,t,s){if(!e)return new hZ(null,null);let x=t.model.validatePosition(e);return t.coordinatesConverter.modelPositionIsVisible(x)?new hZ(e,t.coordinatesConverter.convertModelPositionToViewPosition(x,s??void 0)):new hZ(e,null)}this._affinity=e,this._primaryAnchor=x(t,this._context.viewModel,this._affinity),this._secondaryAnchor=x(s,this._context.viewModel,this._affinity)}_getMaxWidth(){let e=this.domNode.domNode.ownerDocument,t=e.defaultView;return this.allowEditorOverflow?t?.innerWidth||e.documentElement.offsetWidth||e.body.offsetWidth:this._contentWidth}setPosition(e,t,s,x){this._setPosition(x,e,t),this._preference=s,this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,s,x){let E=e.top,a=e.top+e.height,r=x.viewportHeight-a,i=e.left;return i+t>x.scrollLeft+x.viewportWidth&&(i=x.scrollLeft+x.viewportWidth-t),i<x.scrollLeft&&(i=x.scrollLeft),{fitsAbove:E>=s,aboveTop:E-s,fitsBelow:r>=s,belowTop:a,left:i}}_layoutHorizontalSegmentInPage(e,t,s,x){let E=Math.max(15,t.left-x),a=Math.min(t.left+t.width+x,e.width-15),r=this._viewDomNode.domNode.ownerDocument.defaultView,i=t.left+s-(r?.scrollX??0);if(i+x>a){let e=i-(a-x);i-=e,s-=e}if(i<E){let e=i-E;i-=e,s-=e}return[s,i]}_layoutBoxInPage(e,t,s,x){let E=e.top-s,a=e.top+e.height,r=aR(this._viewDomNode.domNode),i=this._viewDomNode.domNode.ownerDocument,n=i.defaultView,_=r.top+E-(n?.scrollY??0),T=r.top+a-(n?.scrollY??0),S=ac(i.body),[R,O]=this._layoutHorizontalSegmentInPage(S,r,e.left-x.scrollLeft+this._contentLeft,t),A=_>=22,N=T+s<=S.height-22;return this._fixedOverflowWidgets?{fitsAbove:A,aboveTop:Math.max(_,22),fitsBelow:N,belowTop:T,left:O}:{fitsAbove:A,aboveTop:E,fitsBelow:N,belowTop:a,left:R}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new hz(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){return{primary:t(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:t(this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function t(t,s,x){if(!t)return null;let E=e.visibleRangeForPosition(t);if(!E)return null;let a=1===t.column&&3===s?0:E.left;return new hq(e.getVerticalOffsetForLineNumber(t.lineNumber)-e.scrollTop,a,x)}}_reduceAnchorCoordinates(e,t,s){if(!t)return e;let x=this._context.configuration.options.get(50),E=t.left;return E=E<e.left?Math.max(E,e.left-s+x.typicalFullwidthCharacterWidth):Math.min(E,e.left+s-x.typicalFullwidthCharacterWidth),new hq(e.top,E,e.height)}_prepareRenderWidget(e){let t;if(!this._preference||0===this._preference.length)return null;let{primary:s,secondary:x}=this._getAnchorsCoordinates(e);if(!s)return{kind:"offViewport",preserveFocus:this.domNode.domNode.contains(this.domNode.domNode.ownerDocument.activeElement)};if(-1===this._cachedDomNodeOffsetWidth||-1===this._cachedDomNodeOffsetHeight){let e=null;if("function"==typeof this._actual.beforeRender&&(e=hj(this._actual.beforeRender,this._actual)),e)this._cachedDomNodeOffsetWidth=e.width,this._cachedDomNodeOffsetHeight=e.height;else{let e=this.domNode.domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(e.width),this._cachedDomNodeOffsetHeight=Math.round(e.height)}}let E=this._reduceAnchorCoordinates(s,x,this._cachedDomNodeOffsetWidth);t=this.allowEditorOverflow?this._layoutBoxInPage(E,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,e):this._layoutBoxInViewport(E,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,e);for(let e=1;e<=2;e++)for(let s of this._preference)if(1===s){if(!t)return null;if(2===e||t.fitsAbove)return{kind:"inViewport",coordinate:new hz(t.aboveTop,t.left),position:1}}else if(2===s){if(!t)return null;if(2===e||t.fitsBelow)return{kind:"inViewport",coordinate:new hz(t.belowTop,t.left),position:2}}else{if(this.allowEditorOverflow)return{kind:"inViewport",coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(new hz(E.top,E.left)),position:0};return{kind:"inViewport",coordinate:new hz(E.top,E.left),position:0}}return null}onBeforeRender(e){this._primaryAnchor.viewPosition&&this._preference&&!(this._primaryAnchor.viewPosition.lineNumber<e.startLineNumber)&&!(this._primaryAnchor.viewPosition.lineNumber>e.endLineNumber)&&this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData||"offViewport"===this._renderData.kind){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this._renderData?.kind==="offViewport"&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),"function"==typeof this._actual.afterRender&&hj(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?this.domNode.setTop(this._renderData.coordinate.top):this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.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&&hj(this._actual.afterRender,this._actual,this._renderData.position)}}class hZ{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class hz{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class hq{constructor(e,t,s){this.top=e,this.left=t,this.height=s,this._anchorCoordinateBrand=void 0}}function hj(e,t,...s){try{return e.call(t,...s)}catch{return null}}x(67733);class h$ extends LP{constructor(e){super(),this._context=e;let t=this._context.configuration.options,s=t.get(146);this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=s.isViewportWrapping,this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Ln.Y(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1,t=new Set;for(let e of this._selections)t.add(e.positionLineNumber);let s=Array.from(t);s.sort((e,t)=>e-t),sD.fS(this._cursorLineNumbers,s)||(this._cursorLineNumbers=s,e=!0);let x=this._selections.every(e=>e.isEmpty());return this._selectionIsEmpty!==x&&(this._selectionIsEmpty=x,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(146);return this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=s.isViewportWrapping,this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=e.isFocused,!0)}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,x=[];for(let e=t;e<=s;e++)x[e-t]="";if(this._wordWrap){let E=this._renderOne(e,!1);for(let e of this._cursorLineNumbers){let a=this._context.viewModel.coordinatesConverter,r=a.convertViewPositionToModelPosition(new cs.L(e,1)).lineNumber,i=a.convertModelPositionToViewPosition(new cs.L(r,1)).lineNumber,n=a.convertModelPositionToViewPosition(new cs.L(r,this._context.viewModel.model.getLineMaxColumn(r))).lineNumber,_=Math.max(i,t),T=Math.min(n,s);for(let e=_;e<=T;e++)x[e-t]=E}}let E=this._renderOne(e,!0);for(let e of this._cursorLineNumbers)e<t||e>s||(x[e-t]=E);this._renderData=x}render(e,t){if(!this._renderData)return"";let s=t-e;return s>=this._renderData.length?"":this._renderData[s]}_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 h0 extends h${_renderOne(e,t){let s="current-line"+(this._shouldRenderInMargin()?" current-line-both":"")+(t?" current-line-exact":"");return`<div class="${s}" style="width:${Math.max(e.scrollWidth,this._contentWidth)}px;"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class h2 extends h${_renderOne(e,t){let s="current-line"+(this._shouldRenderInMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"")+(this._shouldRenderInMargin()&&t?" current-line-exact-margin":"");return`<div class="${s}" style="width:${this._contentLeft}px"></div>`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}(0,iR.Ic)((e,t)=>{let s=e.getColor(A4.Kh);if(s&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${s}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${s}; border: none; }`)),!s||s.isTransparent()||e.defines(A4.Mm)){let s=e.getColor(A4.Mm);s&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${s}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${s}; }`),(0,TQ.c3)(e.type)&&(t.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}}),x(54751);class h1 extends LP{constructor(e){super(),this._context=e;let t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){let t=e.getDecorationsInViewport(),s=[],x=0;for(let e=0,E=t.length;e<E;e++){let E=t[e];E.options.className&&(s[x++]=E)}s=s.sort((e,t)=>{if(e.options.zIndex<t.options.zIndex)return -1;if(e.options.zIndex>t.options.zIndex)return 1;let s=e.options.className,x=t.options.className;return s<x?-1:s>x?1:r3.e.compareRangesUsingStarts(e.range,t.range)});let E=e.visibleRange.startLineNumber,a=e.visibleRange.endLineNumber,r=[];for(let e=E;e<=a;e++)r[e-E]="";this._renderWholeLineDecorations(e,s,r),this._renderNormalDecorations(e,s,r),this._renderResult=r}_renderWholeLineDecorations(e,t,s){let x=e.visibleRange.startLineNumber,E=e.visibleRange.endLineNumber;for(let e=0,a=t.length;e<a;e++){let a=t[e];if(!a.options.isWholeLine)continue;let r='<div class="cdr '+a.options.className+'" style="left:0;width:100%;"></div>',i=Math.max(a.range.startLineNumber,x),n=Math.min(a.range.endLineNumber,E);for(let e=i;e<=n;e++){let t=e-x;s[t]+=r}}}_renderNormalDecorations(e,t,s){let x=e.visibleRange.startLineNumber,E=null,a=!1,r=null,i=!1;for(let n=0,_=t.length;n<_;n++){let _=t[n];if(_.options.isWholeLine)continue;let T=_.options.className,S=!!_.options.showIfCollapsed,R=_.range;if(S&&1===R.endColumn&&R.endLineNumber!==R.startLineNumber&&(R=new r3.e(R.startLineNumber,R.startColumn,R.endLineNumber-1,this._context.viewModel.getLineMaxColumn(R.endLineNumber-1))),E===T&&a===S&&r3.e.areIntersectingOrTouching(r,R)){r=r3.e.plusRange(r,R);continue}null!==E&&this._renderNormalDecoration(e,r,E,i,a,x,s),E=T,a=S,r=R,i=_.options.shouldFillLineOnLineBreak??!1}null!==E&&this._renderNormalDecoration(e,r,E,i,a,x,s)}_renderNormalDecoration(e,t,s,x,E,a,r){let i=e.linesVisibleRangesForRange(t,"findMatch"===s);if(i)for(let e=0,t=i.length;e<t;e++){let t=i[e];if(t.outsideRenderedLine)continue;let n=t.lineNumber-a;if(E&&1===t.ranges.length){let e=t.ranges[0];if(e.width<this._typicalHalfwidthCharacterWidth){let s=Math.max(0,Math.round(Math.round(e.left+e.width/2)-this._typicalHalfwidthCharacterWidth/2));t.ranges[0]=new Iw(s,this._typicalHalfwidthCharacterWidth)}}for(let e=0,E=t.ranges.length;e<E;e++){let a=x&&t.continuesOnNextLine&&1===E,i=t.ranges[e],_='<div class="cdr '+s+'" style="left:'+String(i.left)+"px;width:"+(a?"100%;":String(i.width)+"px;")+'"></div>';r[n]+=_}}}render(e,t){if(!this._renderResult)return"";let s=t-e;return s<0||s>=this._renderResult.length?"":this._renderResult[s]}}class h3 extends IV{constructor(e,t,s,x){super(e);let E=this._context.configuration.options,a=E.get(104),r=E.get(75),i=E.get(40),n=E.get(107),_={listenOnDomNode:s.domNode,className:"editor-scrollable "+(0,iR.m6)(e.theme.type),useShadows:!1,lazyRender:!0,vertical:a.vertical,horizontal:a.horizontal,verticalHasArrows:a.verticalHasArrows,horizontalHasArrows:a.horizontalHasArrows,verticalScrollbarSize:a.verticalScrollbarSize,verticalSliderSize:a.verticalSliderSize,horizontalScrollbarSize:a.horizontalScrollbarSize,horizontalSliderSize:a.horizontalSliderSize,handleMouseWheel:a.handleMouseWheel,alwaysConsumeMouseWheel:a.alwaysConsumeMouseWheel,arrowSize:a.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:i,scrollPredominantAxis:n,scrollByPage:a.scrollByPage};this.scrollbar=this._register(new nr(t.domNode,_,this._context.viewLayout.getScrollable())),IX.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=a9(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();let T=(e,t,s)=>{let x={};if(t){let t=e.scrollTop;t&&(x.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(s){let t=e.scrollLeft;t&&(x.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(x,1)};this._register(aE(s.domNode,"scroll",e=>T(s.domNode,!0,!0))),this._register(aE(t.domNode,"scroll",e=>T(t.domNode,!0,!1))),this._register(aE(x.domNode,"scroll",e=>T(x.domNode,!0,!1))),this._register(aE(this.scrollbarDomNode.domNode,"scroll",e=>T(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){let e=this._context.configuration.options,t=e.get(146);this.scrollbarDomNode.setLeft(t.contentLeft),"right"===e.get(73).side?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(104)||e.hasChanged(75)||e.hasChanged(40)){let e=this._context.configuration.options,t=e.get(104),s=e.get(75),x=e.get(40),E=e.get(107),a={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:s,fastScrollSensitivity:x,scrollPredominantAxis:E};this.scrollbar.updateOptions(a)}return e.hasChanged(146)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+(0,iR.m6)(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}x(27664);class h7{constructor(e,t,s,x,E){this.startLineNumber=e,this.endLineNumber=t,this.className=s,this.tooltip=x,this._decorationToRenderBrand=void 0,this.zIndex=E??0}}class h5{constructor(e,t,s){this.className=e,this.zIndex=t,this.tooltip=s}}class h4{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class h6 extends LP{_render(e,t,s){let x=[];for(let s=e;s<=t;s++)x[s-e]=new h4;if(0===s.length)return x;s.sort((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className<t.className?-1:1);let E=null,a=0;for(let r=0,i=s.length;r<i;r++){let i=s[r],n=i.className,_=i.zIndex,T=Math.max(i.startLineNumber,e)-e,S=Math.min(i.endLineNumber,t)-e;E===n?(T=Math.max(a+1,T),a=Math.max(a,S)):(E=n,a=S);for(let e=T;e<=a;e++)x[e].add(new h5(n,_,i.tooltip))}return x}}class h8 extends IV{constructor(e){super(e),this._widgets={},this._context=e;let t=this._context.configuration.options,s=t.get(146);this.domNode=a9(document.createElement("div")),this.domNode.setClassName("glyph-margin-widgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this._lineHeight=t.get(67),this._glyphMargin=t.get(57),this._glyphMarginLeft=s.glyphMarginLeft,this._glyphMarginWidth=s.glyphMarginWidth,this._glyphMarginDecorationLaneCount=s.glyphMarginDecorationLaneCount,this._managedDomNodes=[],this._decorationGlyphsToRender=[]}dispose(){this._managedDomNodes=[],this._decorationGlyphsToRender=[],this._widgets={},super.dispose()}getWidgets(){return Object.values(this._widgets)}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(146);return this._lineHeight=t.get(67),this._glyphMargin=t.get(57),this._glyphMarginLeft=s.glyphMarginLeft,this._glyphMarginWidth=s.glyphMarginWidth,this._glyphMarginDecorationLaneCount=s.glyphMarginDecorationLaneCount,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}addWidget(e){let t=a9(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:e.getPosition(),domNode:t,renderInfo:null},t.setPosition("absolute"),t.setDisplay("none"),t.setAttribute("widgetId",e.getId()),this.domNode.appendChild(t),this.setShouldRender()}setWidgetPosition(e,t){let s=this._widgets[e.getId()];return!(s.preference.lane===t.lane&&s.preference.zIndex===t.zIndex&&r3.e.equalsRange(s.preference.range,t.range))&&(s.preference=t,this.setShouldRender(),!0)}removeWidget(e){let t=e.getId();if(this._widgets[t]){let e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender()}}_collectDecorationBasedGlyphRenderRequest(e,t){let s=e.visibleRange.startLineNumber,x=e.visibleRange.endLineNumber;for(let E of e.getDecorationsInViewport()){let e=E.options.glyphMarginClassName;if(!e)continue;let a=Math.max(E.range.startLineNumber,s),r=Math.min(E.range.endLineNumber,x),i=E.options.glyphMargin?.position??of.U.Center,n=E.options.zIndex??0;for(let s=a;s<=r;s++){let x=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(s,0)),E=this._context.viewModel.glyphLanes.getLanesAtLine(x.lineNumber).indexOf(i);t.push(new h9(s,E,n,e))}}}_collectWidgetBasedGlyphRenderRequest(e,t){let s=e.visibleRange.startLineNumber,x=e.visibleRange.endLineNumber;for(let e of Object.values(this._widgets)){let E=e.preference.range,{startLineNumber:a,endLineNumber:r}=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(r3.e.lift(E));if(!a||!r||r<s||a>x)continue;let i=Math.max(a,s),n=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(i,0)),_=this._context.viewModel.glyphLanes.getLanesAtLine(n.lineNumber).indexOf(e.preference.lane);t.push(new Ce(i,_,e.preference.zIndex,e))}}_collectSortedGlyphRenderRequests(e){let t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort((e,t)=>{if(e.lineNumber===t.lineNumber){if(e.laneIndex===t.laneIndex)return e.zIndex===t.zIndex?t.type===e.type?0===e.type&&0===t.type?e.className<t.className?-1:1:0:t.type-e.type:t.zIndex-e.zIndex;return e.laneIndex-t.laneIndex}return e.lineNumber-t.lineNumber}),t}prepareRender(e){if(!this._glyphMargin){this._decorationGlyphsToRender=[];return}for(let e of Object.values(this._widgets))e.renderInfo=null;let t=new sD.H9(this._collectSortedGlyphRenderRequests(e)),s=[];for(;t.length>0;){let e=t.peek();if(!e)break;let x=t.takeWhile(t=>t.lineNumber===e.lineNumber&&t.laneIndex===e.laneIndex);if(!x||0===x.length)break;let E=x[0];if(0===E.type){let e=[];for(let t of x){if(t.zIndex!==E.zIndex||t.type!==E.type)break;(0===e.length||e[e.length-1]!==t.className)&&e.push(t.className)}s.push(E.accept(e.join(" ")))}else E.widget.renderInfo={lineNumber:E.lineNumber,laneIndex:E.laneIndex}}this._decorationGlyphsToRender=s}render(e){if(!this._glyphMargin){for(let e of Object.values(this._widgets))e.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){let e=this._managedDomNodes.pop();e?.domNode.remove()}return}let t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(let s of Object.values(this._widgets))if(s.renderInfo){let x=e.viewportData.relativeVerticalOffset[s.renderInfo.lineNumber-e.viewportData.startLineNumber],E=this._glyphMarginLeft+s.renderInfo.laneIndex*this._lineHeight;s.domNode.setDisplay("block"),s.domNode.setTop(x),s.domNode.setLeft(E),s.domNode.setWidth(t),s.domNode.setHeight(this._lineHeight)}else s.domNode.setDisplay("none");for(let s=0;s<this._decorationGlyphsToRender.length;s++){let x;let E=this._decorationGlyphsToRender[s],a=e.viewportData.relativeVerticalOffset[E.lineNumber-e.viewportData.startLineNumber],r=this._glyphMarginLeft+E.laneIndex*this._lineHeight;s<this._managedDomNodes.length?x=this._managedDomNodes[s]:(x=a9(document.createElement("div")),this._managedDomNodes.push(x),this.domNode.appendChild(x)),x.setClassName("cgmr codicon "+E.combinedClassName),x.setPosition("absolute"),x.setTop(a),x.setLeft(r),x.setWidth(t),x.setHeight(this._lineHeight)}for(;this._managedDomNodes.length>this._decorationGlyphsToRender.length;){let e=this._managedDomNodes.pop();e?.domNode.remove()}}}class h9{constructor(e,t,s,x){this.lineNumber=e,this.laneIndex=t,this.zIndex=s,this.className=x,this.type=0}accept(e){return new Ct(this.lineNumber,this.laneIndex,e)}}class Ce{constructor(e,t,s,x){this.lineNumber=e,this.laneIndex=t,this.zIndex=s,this.widget=x,this.type=1}}class Ct{constructor(e,t,s){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=s}}x(12829);var Cs=x(56026),Cx=x(20935);class CE extends LP{constructor(e){super(),this._context=e,this._primaryPosition=null;let t=this._context.configuration.options,s=t.get(147),x=t.get(50);this._spaceWidth=x.spaceWidth,this._maxIndentLeft=-1===s.wrappingColumn?-1:s.wrappingColumn*x.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(147),x=t.get(50);return this._spaceWidth=x.spaceWidth,this._maxIndentLeft=-1===s.wrappingColumn?-1:s.wrappingColumn*x.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){let t=e.selections[0].getPosition();return!this._primaryPosition?.equals(t)&&(this._primaryPosition=t,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){if(!this._bracketPairGuideOptions.indentation&&!1===this._bracketPairGuideOptions.bracketPairs){this._renderResult=null;return}let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,x=e.scrollWidth,E=this._primaryPosition,a=this.getGuidesByLine(t,Math.min(s+1,this._context.viewModel.getLineCount()),E),r=[];for(let E=t;E<=s;E++){let s=E-t,i=a[s],n="",_=e.visibleRangeForPosition(new cs.L(E,1))?.left??0;for(let t of i){let s=-1===t.column?_+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new cs.L(E,t.column)).left;if(s>x||this._maxIndentLeft>0&&s>this._maxIndentLeft)break;let a=t.horizontalLine?t.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=t.horizontalLine?(e.visibleRangeForPosition(new cs.L(E,t.horizontalLine.endColumn))?.left??s+this._spaceWidth)-s:this._spaceWidth;n+=`<div class="core-guide ${t.className} ${a}" style="left:${s}px;width:${r}px"></div>`}r[s]=n}this._renderResult=r}getGuidesByLine(e,t,s){let x=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,s,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?Cx.s6.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?Cx.s6.EnabledForActive:Cx.s6.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,E=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null,a=0,r=0,i=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&s){let x=this._context.viewModel.getActiveIndentGuide(s.lineNumber,e,t);a=x.startLineNumber,r=x.endLineNumber,i=x.indent}let{indentSize:n}=this._context.viewModel.model.getOptions(),_=[];for(let s=e;s<=t;s++){let t=[];_.push(t);let T=x?x[s-e]:[],S=new sD.H9(T),R=E?E[s-e]:0;for(let e=1;e<=R;e++){let x=(e-1)*n+1,E=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===T.length)&&a<=s&&s<=r&&e===i;t.push(...S.takeWhile(e=>e.visibleColumn<x)||[]);let _=S.peek();(!_||_.visibleColumn!==x||_.horizontalLine)&&t.push(new Cx.UO(x,-1,`core-guide-indent lvl-${(e-1)%30}`+(E?" indent-active":""),null,-1,-1))}t.push(...S.takeWhile(e=>!0)||[])}return _}render(e,t){if(!this._renderResult)return"";let s=t-e;return s<0||s>=this._renderResult.length?"":this._renderResult[s]}}function Ca(e){if(!(e&&e.isTransparent()))return e}(0,iR.Ic)((e,t)=>{let s=[{bracketColor:A4.zJ,guideColor:A4.oV,guideColorActive:A4.Qb},{bracketColor:A4.Vs,guideColor:A4.m$,guideColorActive:A4.m3},{bracketColor:A4.CE,guideColor:A4.DS,guideColorActive:A4.To},{bracketColor:A4.UP,guideColor:A4.lS,guideColorActive:A4.L7},{bracketColor:A4.r0,guideColor:A4.Jn,guideColorActive:A4.HV},{bracketColor:A4.m1,guideColor:A4.YF,guideColorActive:A4.f9}],x=new Cs.W,E=[{indentColor:A4.gS,indentColorActive:A4.qe},{indentColor:A4.Tf,indentColorActive:A4.Xy},{indentColor:A4.H_,indentColorActive:A4.cK},{indentColor:A4.h1,indentColorActive:A4.N8},{indentColor:A4.vP,indentColorActive:A4.zd},{indentColor:A4.e9,indentColorActive:A4.ll}],a=s.map(t=>{let s=e.getColor(t.bracketColor),x=e.getColor(t.guideColor),E=e.getColor(t.guideColorActive),a=Ca(Ca(x)??s?.transparent(.3)),r=Ca(Ca(E)??s);if(a&&r)return{guideColor:a,guideColorActive:r}}).filter(ru.$K),r=E.map(t=>{let s=e.getColor(t.indentColor),x=e.getColor(t.indentColorActive),E=Ca(s),a=Ca(x);if(E&&a)return{indentColor:E,indentColorActive:a}}).filter(ru.$K);if(a.length>0){for(let e=0;e<30;e++){let s=a[e%a.length];t.addRule(`.monaco-editor .${x.getInlineClassNameOfLevel(e).replace(/ /g,".")} { --guide-color: ${s.guideColor}; --guide-color-active: ${s.guideColorActive}; }`)}t.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),t.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),t.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),t.addRule(`.monaco-editor .vertical.${x.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${x.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${x.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let e=0;e<30;e++){let s=r[e%r.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${e} { --indent-color: ${s.indentColor}; --indent-color-active: ${s.indentColorActive}; }`)}t.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),t.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}}),x(64396);class Cr{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;let e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class Ci{constructor(){this._currentVisibleRange=new r3.e(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class Cn{constructor(e,t,s,x,E,a,r){this.minimalReveal=e,this.lineNumber=t,this.startColumn=s,this.endColumn=x,this.startScrollTop=E,this.stopScrollTop=a,this.scrollType=r,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class C_{constructor(e,t,s,x,E){this.minimalReveal=e,this.selections=t,this.startScrollTop=s,this.stopScrollTop=x,this.scrollType=E,this.type="selections";let a=t[0].startLineNumber,r=t[0].endLineNumber;for(let e=1,s=t.length;e<s;e++){let s=t[e];a=Math.min(a,s.startLineNumber),r=Math.max(r,s.endLineNumber)}this.minLineNumber=a,this.maxLineNumber=r}}class Cc extends IV{static{this.HORIZONTAL_EXTRA_PX=30}constructor(e,t){super(e);let s=this._context.configuration,x=this._context.configuration.options,E=x.get(50),a=x.get(147);this._lineHeight=x.get(67),this._typicalHalfwidthCharacterWidth=E.typicalHalfwidthCharacterWidth,this._isViewportWrapping=a.isViewportWrapping,this._revealHorizontalRightPadding=x.get(101),this._cursorSurroundingLines=x.get(29),this._cursorSurroundingLinesStyle=x.get(30),this._canUseLayerHinting=!x.get(32),this._viewLineOptions=new Iq(s,this._context.theme.type),this._linesContent=t,this._textRangeRestingSpot=document.createElement("div"),this._visibleLines=new hV({createLine:()=>new Ij(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,IX.write(this.domNode,8),this.domNode.setClassName(`view-lines ${Lp}`),re(this.domNode,E),this._maxLineWidth=0,this._asyncUpdateLineWidths=new x9.pY(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new x9.pY(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new Ci,this._horizontalRevealRequest=null,this._stickyScrollEnabled=x.get(116).enabled,this._maxNumberStickyLines=x.get(116).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(147)&&(this._maxLineWidth=0);let t=this._context.configuration.options,s=t.get(50),x=t.get(147);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=s.typicalHalfwidthCharacterWidth,this._isViewportWrapping=x.isViewportWrapping,this._revealHorizontalRightPadding=t.get(101),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(116).enabled,this._maxNumberStickyLines=t.get(116).maxLineCount,re(this.domNode,s),this._onOptionsMaybeChanged(),e.hasChanged(146)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){let e=new Iq(this._context.configuration,this._context.theme.type);if(!this._viewLineOptions.equals(e)){this._viewLineOptions=e;let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();for(let e=t;e<=s;e++)this._visibleLines.getVisibleLine(e).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber(),x=!1;for(let e=t;e<=s;e++)x=this._visibleLines.getVisibleLine(e).onSelectionChanged()||x;return x}onDecorationsChanged(e){{let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let s=e;s<=t;s++)this._visibleLines.getVisibleLine(s).onDecorationsChanged()}return!0}onFlushed(e){let t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){let t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(-1===t)return!1;let s=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?s={scrollTop:s.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new Cn(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),s.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new C_(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),s.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;let x=Math.abs(this._context.viewLayout.getCurrentScrollTop()-s.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(s,x),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){let t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),s=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTop<t||e.scrollTop>s)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){let s=this._getViewLineDomNode(e);if(null===s)return null;let x=this._getLineNumberFor(s);if(-1===x||x<1||x>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(x))return new cs.L(x,1);let E=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();if(x<E||x>a)return null;let r=this._visibleLines.getVisibleLine(x).getColumnOfNodeOffset(e,t),i=this._context.viewModel.getLineMinColumn(x);return r<i&&(r=i),new cs.L(x,r)}_getViewLineDomNode(e){for(;e&&1===e.nodeType;){if(e.className===Ij.CLASS_NAME)return e;e=e.parentElement}return null}_getLineNumberFor(e){let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();for(let x=t;x<=s;x++)if(e===this._visibleLines.getVisibleLine(x).getDomNode())return x;return -1}getLineWidth(e){let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();if(e<t||e>s)return -1;let x=new Cr(this.domNode.domNode,this._textRangeRestingSpot),E=this._visibleLines.getVisibleLine(e).getWidth(x);return this._updateLineWidthsSlowIfDomDidLayout(x),E}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;let s=e.endLineNumber,x=r3.e.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!x)return null;let E=[],a=0,r=new Cr(this.domNode.domNode,this._textRangeRestingSpot),i=0;t&&(i=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(x.startLineNumber,1)).lineNumber);let n=this._visibleLines.getStartLineNumber(),_=this._visibleLines.getEndLineNumber();for(let e=x.startLineNumber;e<=x.endLineNumber;e++){if(e<n||e>_)continue;let T=e===x.startLineNumber?x.startColumn:1,S=e!==x.endLineNumber,R=S?this._context.viewModel.getLineMaxColumn(e):x.endColumn,O=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,T,R,r);O&&(t&&e<s&&i!==(i=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(e+1,1)).lineNumber)&&(O.ranges[O.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth),E[a++]=new Ik(O.outsideRenderedLine,e,Iw.from(O.ranges),S))}return(this._updateLineWidthsSlowIfDomDidLayout(r),0===a)?null:E}_visibleRangesForLineRange(e,t,s){if(this.shouldRender()||e<this._visibleLines.getStartLineNumber()||e>this._visibleLines.getEndLineNumber())return null;let x=new Cr(this.domNode.domNode,this._textRangeRestingSpot),E=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,s,x);return this._updateLineWidthsSlowIfDomDidLayout(x),E}visibleRangeForPosition(e){let t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new IK(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){!e.didDomLayout||this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow())}_updateLineWidths(e){let t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber(),x=1,E=!0;for(let a=t;a<=s;a++){let t=this._visibleLines.getVisibleLine(a);if(e&&!t.getWidthIsFast()){E=!1;continue}x=Math.max(x,t.getWidth(null))}return E&&1===t&&s===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(x),E}_checkMonospaceFontAssumptions(){let e=-1,t=-1,s=this._visibleLines.getStartLineNumber(),x=this._visibleLines.getEndLineNumber();for(let E=s;E<=x;E++){let s=this._visibleLines.getVisibleLine(E);if(s.needsMonospaceFontCheck()){let x=s.getWidth(null);x>t&&(t=x,e=E)}}if(-1!==e&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let e=s;e<=x;e++)this._visibleLines.getVisibleLine(e).onMonospaceAssumptionsInvalidated()}prepareRender(){throw Error("Not supported")}render(){throw Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){let t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();let e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),sP.IJ&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let s=e;s<=t;s++)if(this._visibleLines.getVisibleLine(s).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");let t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){let t=Math.ceil(e);this._maxLineWidth<t&&(this._maxLineWidth=t,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(e,t,s,x,E,a){let r,i,n,_;let T=e.top,S=e.height,R=T+S;if(E&&E.length>0){let e=E[0].startLineNumber,t=E[0].endLineNumber;for(let s=1,x=E.length;s<x;s++){let x=E[s];e=Math.min(e,x.startLineNumber),t=Math.max(t,x.endLineNumber)}r=!1,i=this._context.viewLayout.getVerticalOffsetForLineNumber(e),n=this._context.viewLayout.getVerticalOffsetForLineNumber(t)+this._lineHeight}else{if(!x)return -1;r=!0,i=this._context.viewLayout.getVerticalOffsetForLineNumber(x.startLineNumber),n=this._context.viewLayout.getVerticalOffsetForLineNumber(x.endLineNumber)+this._lineHeight}let O=("mouse"===t||s)&&"default"===this._cursorSurroundingLinesStyle,A=0,N=0;if(O)s||(A=this._lineHeight);else{let e=Math.min(S/this._lineHeight/2,Math.max(this._cursorSurroundingLines,this._stickyScrollEnabled?this._maxNumberStickyLines:0));A=e*this._lineHeight,N=Math.max(0,e-1)*this._lineHeight}if(s||0!==a&&4!==a||(N+=this._lineHeight),i-=A,(n+=N)-i>S){if(!r)return -1;_=i}else if(5===a||6===a){if(6===a&&T<=i&&n<=R)_=T;else{let e=i-Math.max(5*this._lineHeight,.2*S);_=Math.max(n-S,e)}}else _=1===a||2===a?2===a&&T<=i&&n<=R?T:Math.max(0,(i+n)/2-S/2):this._computeMinimumScrolling(T,R,i,n,3===a,4===a);return _}_computeScrollLeftToReveal(e){let t=this._context.viewLayout.getCurrentViewport(),s=this._context.configuration.options.get(146),x=t.left,E=x+t.width-s.verticalScrollbarWidth,a=1073741824,r=0;if("range"===e.type){let t=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!t)return null;for(let e of t.ranges)a=Math.min(a,Math.round(e.left)),r=Math.max(r,Math.round(e.left+e.width))}else for(let t of e.selections){if(t.startLineNumber!==t.endLineNumber)return null;let e=this._visibleRangesForLineRange(t.startLineNumber,t.startColumn,t.endColumn);if(!e)return null;for(let t of e.ranges)a=Math.min(a,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}return(e.minimalReveal||(a=Math.max(0,a-Cc.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===e.type&&r-a>t.width)?null:{scrollLeft:this._computeMinimumScrolling(x,E,a,r),maxHorizontalOffset:r}}_computeMinimumScrolling(e,t,s,x,E,a){e|=0,t|=0,s|=0,x|=0,E=!!E,a=!!a;let r=t-e;return!(x-s<r)||E?s:a?Math.max(0,x-r):s<e?s:x>t?Math.max(0,x-r):e}}x(40461);class CT extends h6{constructor(e){super(),this._context=e;let t=this._context.configuration.options.get(146);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options.get(146);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),s=[],x=0;for(let e=0,E=t.length;e<E;e++){let E=t[e],a=E.options.linesDecorationsClassName,r=E.options.zIndex;a&&(s[x++]=new h7(E.range.startLineNumber,E.range.endLineNumber,a,E.options.linesDecorationsTooltip??null,r));let i=E.options.firstLineDecorationClassName;i&&(s[x++]=new h7(E.range.startLineNumber,E.range.startLineNumber,i,E.options.linesDecorationsTooltip??null,r))}return s}prepareRender(e){let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,x=this._render(t,s,this._getDecorations(e)),E='" style="left:'+this._decorationsLeft.toString()+"px;width:"+this._decorationsWidth.toString()+'px;"></div>',a=[];for(let e=t;e<=s;e++){let s=e-t,r=x[s].getDecorations(),i="";for(let e of r){let t='<div class="cldr '+e.className;null!==e.tooltip&&(t+='" title="'+e.tooltip),t+=E,i+=t}a[s]=i}this._renderResult=a}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}x(48201);class CS extends h6{constructor(e){super(),this._context=e,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),s=[],x=0;for(let e=0,E=t.length;e<E;e++){let E=t[e],a=E.options.marginClassName,r=E.options.zIndex;a&&(s[x++]=new h7(E.range.startLineNumber,E.range.endLineNumber,a,null,r))}return s}prepareRender(e){let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,x=this._render(t,s,this._getDecorations(e)),E=[];for(let e=t;e<=s;e++){let s=e-t,a=x[s].getDecorations(),r="";for(let e of a)r+='<div class="cmdr '+e.className+'" style=""></div>';E[s]=r}this._renderResult=E}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}x(69366);class CR{static{this.Empty=new CR(0,0,0,0)}constructor(e,t,s,x){this._rgba8Brand=void 0,this.r=CR._clamp(e),this.g=CR._clamp(t),this.b=CR._clamp(s),this.a=CR._clamp(x)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:0|e}}class CO extends xf.JT{static{this._INSTANCE=null}static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,xf.dk)(new CO)),this._INSTANCE}constructor(){super(),this._onDidChange=new Ee.Q5,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(_U.RW.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){let e=_U.RW.getColorMap();if(!e){this._colors=[CR.Empty],this._backgroundIsLight=!0;return}this._colors=[CR.Empty];for(let t=1;t<e.length;t++){let s=e[t].rgba;this._colors[t]=new CR(s.r,s.g,s.b,Math.round(255*s.a))}let t=e[2].getRelativeLuminance();this._backgroundIsLight=t>=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}let CA=(()=>{let e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})(),CN=(e,t)=>(e-=32)<0||e>96?t<=2?(e+96)%96:95:e;var Co=x(42079);class CI{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=CI.soften(e,.8),this.charDataLight=CI.soften(e,50/60)}static soften(e,t){let s=new Uint8ClampedArray(e.length);for(let x=0,E=e.length;x<E;x++)s[x]=(0,Co.K)(e[x]*t);return s}renderChar(e,t,s,x,E,a,r,i,n,_,T){let S=1*this.scale,R=2*this.scale,O=T?1:R;if(t+S>e.width||s+O>e.height){console.warn("bad render request outside image data");return}let A=_?this.charDataLight:this.charDataNormal,N=CN(x,n),o=4*e.width,I=r.r,L=r.g,h=r.b,C=E.r-I,l=E.g-L,u=E.b-h,D=Math.max(a,i),M=e.data,P=N*S*R,U=s*o+4*t;for(let e=0;e<O;e++){let e=U;for(let t=0;t<S;t++){let t=A[P++]/255*(a/255);M[e++]=I+C*t,M[e++]=L+l*t,M[e++]=h+u*t,M[e++]=D}U+=o}}blockRenderChar(e,t,s,x,E,a,r,i){let n=1*this.scale,_=2*this.scale,T=i?1:_;if(t+n>e.width||s+T>e.height){console.warn("bad render request outside image data");return}let S=4*e.width,R=E/255*.5,O=a.r,A=a.g,N=a.b,o=x.r-O,I=x.g-A,L=x.b-N,h=O+o*R,C=A+I*R,l=N+L*R,u=Math.max(E,r),D=e.data,M=s*S+4*t;for(let e=0;e<T;e++){let e=M;for(let t=0;t<n;t++)D[e++]=h,D[e++]=C,D[e++]=l,D[e++]=u;M+=S}}}let CL={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15},Ch=e=>{let t=new Uint8ClampedArray(e.length/2);for(let s=0;s<e.length;s+=2)t[s>>1]=CL[e[s]]<<4|15&CL[e[s+1]];return t},CC={1:(0,AW.M)(()=>Ch("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:(0,AW.M)(()=>Ch("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class Cl{static create(e,t){let s;return this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily?this.lastCreated:(s=CC[e]?new CI(CC[e](),e):Cl.createFromSampleData(Cl.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=s,s)}static createSampleData(e){let t=document.createElement("canvas"),s=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",s.fillStyle="#ffffff",s.font=`bold 16px ${e}`,s.textBaseline="middle";let x=0;for(let e of CA)s.fillText(String.fromCharCode(e),x,8),x+=10;return s.getImageData(0,0,960,16)}static createFromSampleData(e,t){if(61440!==e.length)throw Error("Unexpected source in MinimapCharRenderer");return new CI(Cl._downsample(e,t),t)}static _downsampleChar(e,t,s,x,E){let a=1*E,r=2*E,i=x,n=0;for(let x=0;x<r;x++){let E=x/r*16,_=(x+1)/r*16;for(let x=0;x<a;x++){let r=x/a*10,T=(x+1)/a*10,S=0,R=0;for(let s=E;s<_;s++){let x=t+3840*Math.floor(s),E=1-(s-Math.floor(s));for(let t=r;t<T;t++){let s=1-(t-Math.floor(t)),a=x+4*Math.floor(t),r=s*E;R+=r,S+=e[a]*e[a+3]/255*r}}let O=S/R;n=Math.max(n,O),s[i++]=(0,Co.K)(O)}}return n}static _downsample(e,t){let s=2*t*1*t,x=96*s,E=new Uint8ClampedArray(x),a=0,r=0,i=0;for(let x=0;x<96;x++)i=Math.max(i,this._downsampleChar(e,r,E,a,t)),a+=s,r+=40;if(i>0){let e=255/i;for(let t=0;t<x;t++)E[t]*=e}return E}}let Cu=sP.ED?'"Segoe WPC", "Segoe UI", sans-serif':sP.dz?"-apple-system, BlinkMacSystemFont, sans-serif":'system-ui, "Ubuntu", "Droid Sans", sans-serif';class CD{constructor(e,t,s){let x=e.options,E=x.get(144),a=x.get(146),r=a.minimap,i=x.get(50),n=x.get(73);this.renderMinimap=r.renderMinimap,this.size=n.size,this.minimapHeightIsEditorHeight=r.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=x.get(106),this.paddingTop=x.get(84).top,this.paddingBottom=x.get(84).bottom,this.showSlider=n.showSlider,this.autohide=n.autohide,this.pixelRatio=E,this.typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this.lineHeight=x.get(67),this.minimapLeft=r.minimapLeft,this.minimapWidth=r.minimapWidth,this.minimapHeight=a.height,this.canvasInnerWidth=r.minimapCanvasInnerWidth,this.canvasInnerHeight=r.minimapCanvasInnerHeight,this.canvasOuterWidth=r.minimapCanvasOuterWidth,this.canvasOuterHeight=r.minimapCanvasOuterHeight,this.isSampling=r.minimapIsSampling,this.editorHeight=a.height,this.fontScale=r.minimapScale,this.minimapLineHeight=r.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.sectionHeaderFontFamily=Cu,this.sectionHeaderFontSize=n.sectionHeaderFontSize*E,this.sectionHeaderLetterSpacing=n.sectionHeaderLetterSpacing,this.sectionHeaderFontColor=CD._getSectionHeaderColor(t,s.getColor(1)),this.charRenderer=(0,AW.M)(()=>Cl.create(this.fontScale,i.fontFamily)),this.defaultBackgroundColor=s.getColor(2),this.backgroundColor=CD._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=CD._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){let s=e.getColor(iv.kVY);return s?new CR(s.rgba.r,s.rgba.g,s.rgba.b,Math.round(255*s.rgba.a)):t}static _getMinimapForegroundOpacity(e){let t=e.getColor(iv.Itd);return t?CR._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){let s=e.getColor(iv.NOs);return s?new CR(s.rgba.r,s.rgba.g,s.rgba.b,Math.round(255*s.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===e.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class CM{constructor(e,t,s,x,E,a,r,i,n){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=s,this._computedSliderRatio=x,this.sliderTop=E,this.sliderHeight=a,this.topPaddingLineCount=r,this.startLineNumber=i,this.endLineNumber=n}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){let t=Math.max(this.startLineNumber,e.startLineNumber),s=Math.min(this.endLineNumber,e.endLineNumber);return t>s?null:[t,s]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,s,x,E,a,r,i,n,_,T){let S,R;let O=e.pixelRatio,A=e.minimapLineHeight,N=Math.floor(e.canvasInnerHeight/A),o=e.lineHeight;if(e.minimapHeightIsEditorHeight){let t=i*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&(t+=Math.max(0,E-e.lineHeight-e.paddingBottom));let s=Math.max(1,Math.floor(E*E/t)),x=Math.max(0,e.minimapHeight-s),a=x/(_-E),T=Math.floor(e.canvasInnerHeight/e.minimapLineHeight);return new CM(n,_,x>0,a,n*a,s,Math.floor(e.paddingTop/e.lineHeight),1,Math.min(r,T))}S=a&&s!==r?Math.floor((s-t+1)*A/O):Math.floor(E/o*A/O);let I=Math.floor(e.paddingTop/o),L=Math.floor(e.paddingBottom/o);e.scrollBeyondLastLine&&(L=Math.max(L,E/o-1)),R=L>0?(I+r+L-E/o-1)*A/O:Math.max(0,(I+r)*A/O-S);let h=(R=Math.min(e.minimapHeight-S,R))/(_-E),C=n*h;if(N>=I+r+L)return new CM(n,_,R>0,h,C,S,I,1,r);{let s,E;let a=Math.max(1,Math.floor((t>1?t+I:Math.max(1,n/o))-C*O/A));a<I?(s=I-a+1,a=1):(s=0,a=Math.max(1,a-I)),T&&T.scrollHeight===_&&(T.scrollTop>n&&(a=Math.min(a,T.startLineNumber),s=Math.max(s,T.topPaddingLineCount)),T.scrollTop<n&&(a=Math.max(a,T.startLineNumber),s=Math.min(s,T.topPaddingLineCount)));let i=Math.min(r,a-s+N-1),R=(n-x)/o;return E=n>=e.paddingTop?(t-a+s+R)*A/O:n/e.paddingTop*(s+R)*A/O,new CM(n,_,!0,h,E,S,s,a,i)}}}class CP{static{this.INVALID=new CP(-1)}constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}class CU{constructor(e,t,s){this.renderedLayout=e,this._imageData=t,this._renderedLines=new hy({createLine:()=>CP.INVALID}),this._renderedLines._set(e.startLineNumber,s)}linesEquals(e){if(!this.scrollEquals(e))return!1;let t=this._renderedLines._get().lines;for(let e=0,s=t.length;e<s;e++)if(-1===t[e].dy)return!1;return!0}scrollEquals(e){return this.renderedLayout.startLineNumber===e.startLineNumber&&this.renderedLayout.endLineNumber===e.endLineNumber}_get(){let e=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines}}onLinesChanged(e,t){return this._renderedLines.onLinesChanged(e,t)}onLinesDeleted(e,t){this._renderedLines.onLinesDeleted(e,t)}onLinesInserted(e,t){this._renderedLines.onLinesInserted(e,t)}onTokensChanged(e){return this._renderedLines.onTokensChanged(e)}}class Cd{constructor(e,t,s,x){this._backgroundFillData=Cd._createBackgroundFillData(t,s,x),this._buffers=[e.createImageData(t,s),e.createImageData(t,s)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;let e=this._buffers[this._lastUsedBuffer];return e.data.set(this._backgroundFillData),e}static _createBackgroundFillData(e,t,s){let x=s.r,E=s.g,a=s.b,r=s.a,i=new Uint8ClampedArray(e*t*4),n=0;for(let s=0;s<t;s++)for(let t=0;t<e;t++)i[n]=x,i[n+1]=E,i[n+2]=a,i[n+3]=r,n+=4;return i}}class CY{static compute(e,t,s){if(0===e.renderMinimap||!e.isSampling)return[null,[]];let{minimapLineCount:x}=s7.computeContainedMinimapLineCount({viewLineCount:t,scrollBeyondLastLine:e.scrollBeyondLastLine,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:e.editorHeight,lineHeight:e.lineHeight,pixelRatio:e.pixelRatio}),E=t/x,a=E/2;if(!s||0===s.minimapLines.length){let e=[];if(e[0]=1,x>1){for(let t=0,s=x-1;t<s;t++)e[t]=Math.round(t*E+a);e[x-1]=t}return[new CY(E,e),[]]}let r=s.minimapLines,i=r.length,n=[],_=0,T=0,S=1,R=[],O=null;for(let e=0;e<x;e++){let s;let A=Math.max(S,Math.round(e*E)),N=Math.max(A,Math.round((e+1)*E));for(;_<i&&r[_]<A;){if(R.length<10){let e=_+1+T;O&&"deleted"===O.type&&O._oldIndex===_-1?O.deleteToLineNumber++:(O={type:"deleted",_oldIndex:_,deleteFromLineNumber:e,deleteToLineNumber:e},R.push(O)),T--}_++}if(_<i&&r[_]<=N)s=r[_],_++;else if(s=0===e?1:e+1===x?t:Math.round(e*E+a),R.length<10){let t=_+1+T;O&&"inserted"===O.type&&O._i===e-1?O.insertToLineNumber++:(O={type:"inserted",_i:e,insertFromLineNumber:t,insertToLineNumber:t},R.push(O)),T++}n[e]=s,S=s}if(R.length<10)for(;_<i;){let e=_+1+T;O&&"deleted"===O.type&&O._oldIndex===_-1?O.deleteToLineNumber++:(O={type:"deleted",_oldIndex:_,deleteFromLineNumber:e,deleteToLineNumber:e},R.push(O)),T--,_++}else R=[{type:"flush"}];return[new CY(E,n),R]}constructor(e,t){this.samplingRatio=e,this.minimapLines=t}modelLineToMinimapLine(e){return Math.min(this.minimapLines.length,Math.max(1,Math.round(e/this.samplingRatio)))}modelLineRangeToMinimapLineRange(e,t){let s=this.modelLineToMinimapLine(e)-1;for(;s>0&&this.minimapLines[s-1]>=e;)s--;let x=this.modelLineToMinimapLine(t)-1;for(;x+1<this.minimapLines.length&&this.minimapLines[x+1]<=t;)x++;if(s===x){let x=this.minimapLines[s];if(x<e||x>t)return null}return[s+1,x+1]}decorationLineRangeToMinimapLineRange(e,t){let s=this.modelLineToMinimapLine(e),x=this.modelLineToMinimapLine(t);return e!==t&&x===s&&(x===this.minimapLines.length?s>1&&s--:x++),[s,x]}onLinesDeleted(e){let t=e.toLineNumber-e.fromLineNumber+1,s=this.minimapLines.length,x=0;for(let E=this.minimapLines.length-1;E>=0&&!(this.minimapLines[E]<e.fromLineNumber);E--)this.minimapLines[E]<=e.toLineNumber?(this.minimapLines[E]=Math.max(1,e.fromLineNumber-1),s=Math.min(s,E),x=Math.max(x,E)):this.minimapLines[E]-=t;return[s,x]}onLinesInserted(e){let t=e.toLineNumber-e.fromLineNumber+1;for(let s=this.minimapLines.length-1;s>=0&&!(this.minimapLines[s]<e.fromLineNumber);s--)this.minimapLines[s]+=t}}class Cp extends IV{constructor(e){super(e),this._sectionHeaderCache=new nh.z6(10,1.5),this.tokensColorTracker=CO.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new CD(this._context.configuration,this._context.theme,this.tokensColorTracker);let[t]=CY.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=t,this._shouldCheckSampling=!1,this._actual=new CG(e.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){let e=new CD(this._context.configuration,this._context.theme,this.tokensColorTracker);return!this.options.equals(e)&&(this.options=e,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(e){return this._onOptionsMaybeChanged()}onCursorStateChanged(e){return this._selections=e.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(e){return!!e.affectsMinimap&&this._actual.onDecorationsChanged()}onFlushed(e){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}onLinesChanged(e){if(!this._samplingState)return this._actual.onLinesChanged(e.fromLineNumber,e.count);{let t=this._samplingState.modelLineRangeToMinimapLineRange(e.fromLineNumber,e.fromLineNumber+e.count-1);return!!t&&this._actual.onLinesChanged(t[0],t[1]-t[0]+1)}}onLinesDeleted(e){if(!this._samplingState)return this._actual.onLinesDeleted(e.fromLineNumber,e.toLineNumber);{let[t,s]=this._samplingState.onLinesDeleted(e);return t<=s&&this._actual.onLinesChanged(t+1,s-t+1),this._shouldCheckSampling=!0,!0}}onLinesInserted(e){return this._samplingState?(this._samplingState.onLinesInserted(e),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(e.fromLineNumber,e.toLineNumber)}onScrollChanged(e){return this._actual.onScrollChanged()}onThemeChanged(e){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(e){if(!this._samplingState)return this._actual.onTokensChanged(e.ranges);{let t=[];for(let s of e.ranges){let e=this._samplingState.modelLineRangeToMinimapLineRange(s.fromLineNumber,s.toLineNumber);e&&t.push({fromLineNumber:e[0],toLineNumber:e[1]})}return!!t.length&&this._actual.onTokensChanged(t)}}onTokensColorsChanged(e){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(e){return this._actual.onZonesChanged()}prepareRender(e){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(e){let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber;this._samplingState&&(t=this._samplingState.modelLineToMinimapLine(t),s=this._samplingState.modelLineToMinimapLine(s));let x={viewportContainsWhitespaceGaps:e.viewportData.whitespaceViewportData.length>0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:s,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(x)}_recreateLineSampling(){this._minimapSelections=null;let e=!!this._samplingState,[t,s]=CY.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(let e of s)switch(e.type){case"deleted":this._actual.onLinesDeleted(e.deleteFromLineNumber,e.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(e.insertFromLineNumber,e.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(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,s){if(this._samplingState){let x=[];for(let E=0,a=t-e+1;E<a;E++)s[E]?x[E]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[e+E-1]):x[E]=null;return x}return this._context.viewModel.getMinimapLinesRenderingData(e,t,s).data}getSelections(){if(null===this._minimapSelections){if(this._samplingState)for(let e of(this._minimapSelections=[],this._selections)){let[t,s]=this._samplingState.decorationLineRangeToMinimapLineRange(e.startLineNumber,e.endLineNumber);this._minimapSelections.push(new Ln.Y(t,e.startColumn,s,e.endColumn))}else this._minimapSelections=this._selections}return this._minimapSelections}getMinimapDecorationsInViewport(e,t){let s=this._getMinimapDecorationsInViewport(e,t).filter(e=>!e.options.minimap?.sectionHeaderStyle);if(this._samplingState){let e=[];for(let t of s){if(!t.options.minimap)continue;let s=t.range,x=this._samplingState.modelLineToMinimapLine(s.startLineNumber),E=this._samplingState.modelLineToMinimapLine(s.endLineNumber);e.push(new o7(new r3.e(x,s.startColumn,E,s.endColumn),t.options))}return e}return s}getSectionHeaderDecorationsInViewport(e,t){let s=this.options.minimapLineHeight,x=this.options.sectionHeaderFontSize;return e=Math.floor(Math.max(1,e-x/s)),this._getMinimapDecorationsInViewport(e,t).filter(e=>!!e.options.minimap?.sectionHeaderStyle)}_getMinimapDecorationsInViewport(e,t){let s;if(this._samplingState){let x=this._samplingState.minimapLines[e-1],E=this._samplingState.minimapLines[t-1];s=new r3.e(x,1,E,this._context.viewModel.getLineMaxColumn(E))}else s=new r3.e(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(s)}getSectionHeaderText(e,t){let s=e.options.minimap?.sectionHeaderText;if(!s)return null;let x=this._sectionHeaderCache.get(s);if(x)return x;let E=t(s);return this._sectionHeaderCache.set(s,E),E}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new r3.e(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class CG extends xf.JT{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(iv.ov3),this._domNode=a9(document.createElement("div")),IX.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=a9(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=a9(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=a9(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=a9(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=a9(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=aa(this._domNode.domNode,af.POINTER_DOWN,e=>{if(e.preventDefault(),0===this._model.options.renderMinimap||!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===e.button&&this._lastRenderData){let t=aR(this._slider.domNode),s=t.top+t.height/2;this._startSliderDragging(e,s,this._lastRenderData.renderedLayout)}return}let t=this._model.options.minimapLineHeight,s=Math.floor(this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY/t)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;s=Math.min(s,this._model.getLineCount()),this._model.revealLineNumber(s)}),this._sliderPointerMoveMonitor=new iz,this._sliderPointerDownListener=aa(this._slider.domNode,af.POINTER_DOWN,e=>{e.preventDefault(),e.stopPropagation(),0===e.button&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=ij.addTarget(this._domNode.domNode),this._sliderTouchStartListener=aE(this._domNode.domNode,z.Start,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))},{passive:!1}),this._sliderTouchMoveListener=aE(this._domNode.domNode,z.Change,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)},{passive:!1}),this._sliderTouchEndListener=aa(this._domNode.domNode,z.End,e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,t,s){if(!e.target||!(e.target instanceof Element))return;let x=e.pageX;this._slider.toggleClassName("active",!0);let E=(e,E)=>{let a=aR(this._domNode.domNode),r=Math.min(Math.abs(E-x),Math.abs(E-a.left),Math.abs(E-a.left-a.width));if(sP.ED&&r>140){this._model.setScrollTop(s.scrollTop);return}this._model.setScrollTop(s.getDesiredScrollTopFromDelta(e-t))};e.pageY!==t&&E(e.pageY,x),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>E(e.pageY,e.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){let t=this._domNode.domNode.getBoundingClientRect().top,s=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(s)}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(){let e=["minimap"];return"always"===this._model.options.showSlider?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.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 Cd(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(e,t){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e,t)}onLinesDeleted(e,t){return this._lastRenderData?.onLinesDeleted(e,t),!0}onLinesInserted(e,t){return this._lastRenderData?.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(iv.ov3),this._renderDecorations=!0,!0}onTokensChanged(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(0===this._model.options.renderMinimap){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");let t=CM.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?"block":"none"),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;let t=this._model.getSelections();t.sort(r3.e.compareRangesUsingStarts);let s=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);s.sort((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0));let{canvasInnerWidth:x,canvasInnerHeight:E}=this._model.options,a=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,i=this._model.getOptions().tabSize,n=this._decorationsCanvas.domNode.getContext("2d");n.clearRect(0,0,x,E);let _=new CB(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(n,t,_,e,a),this._renderDecorationsLineHighlights(n,s,_,e,a);let T=new CB(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(n,t,T,e,a,i,r,x),this._renderDecorationsHighlights(n,s,T,e,a,i,r,x),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,s,x,E){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let a=0,r=0;for(let i of t){let t=x.intersectWithViewport(i);if(!t)continue;let[n,_]=t;for(let e=n;e<=_;e++)s.set(e,!0);let T=x.getYForLineNumber(n,E),S=x.getYForLineNumber(_,E);r>=T||(r>a&&e.fillRect(8,a,e.canvas.width,r-a),a=T),r=S}r>a&&e.fillRect(8,a,e.canvas.width,r-a)}_renderDecorationsLineHighlights(e,t,s,x,E){let a=new Map;for(let r=t.length-1;r>=0;r--){let i=t[r],n=i.options.minimap;if(!n||1!==n.position)continue;let _=x.intersectWithViewport(i.range);if(!_)continue;let[T,S]=_,R=n.getColor(this._theme.value);if(!R||R.isTransparent())continue;let O=a.get(R.toString());O||(O=R.transparent(.5).toString(),a.set(R.toString(),O)),e.fillStyle=O;for(let t=T;t<=S;t++){if(s.has(t))continue;s.set(t,!0);let a=x.getYForLineNumber(T,E);e.fillRect(8,a,e.canvas.width,E)}}}_renderSelectionsHighlights(e,t,s,x,E,a,r,i){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(let n of t){let t=x.intersectWithViewport(n);if(!t)continue;let[_,T]=t;for(let t=_;t<=T;t++)this.renderDecorationOnLine(e,s,n,this._selectionColor,x,t,E,E,a,r,i)}}_renderDecorationsHighlights(e,t,s,x,E,a,r,i){for(let n of t){let t=n.options.minimap;if(!t)continue;let _=x.intersectWithViewport(n.range);if(!_)continue;let[T,S]=_,R=t.getColor(this._theme.value);if(!(!R||R.isTransparent()))for(let _=T;_<=S;_++)switch(t.position){case 1:this.renderDecorationOnLine(e,s,n.range,R,x,_,E,E,a,r,i);continue;case 2:{let t=x.getYForLineNumber(_,E);this.renderDecoration(e,R,2,t,2,E);continue}}}}renderDecorationOnLine(e,t,s,x,E,a,r,i,n,_,T){let S=E.getYForLineNumber(a,i);if(S+r<0||S>this._model.options.canvasInnerHeight)return;let{startLineNumber:R,endLineNumber:O}=s,A=R===a?s.startColumn:1,N=O===a?s.endColumn:this._model.getLineMaxColumn(a),o=this.getXOffsetForPosition(t,a,A,n,_,T),I=this.getXOffsetForPosition(t,a,N,n,_,T);this.renderDecoration(e,x,o,S,I-o,r)}getXOffsetForPosition(e,t,s,x,E,a){if(1===s)return 8;if((s-1)*E>=a)return a;let r=e.get(t);if(!r){let s=this._model.getLineContent(t);r=[8];let i=8;for(let e=1;e<s.length+1;e++){let t=s.charCodeAt(e-1),n=i+(9===t?x*E:xg.K7(t)?2*E:E);if(n>=a){r[e]=a;break}r[e]=n,i=n}e.set(t,r)}return s-1<r.length?r[s-1]:a}renderDecoration(e,t,s,x,E,a){e.fillStyle=t&&t.toString()||"",e.fillRect(s,x,E,a)}_renderSectionHeaders(e){let t=this._model.options.minimapLineHeight,s=this._model.options.sectionHeaderFontSize,x=this._model.options.sectionHeaderLetterSpacing,E=1.5*s,{canvasInnerWidth:a}=this._model.options,r=this._model.options.backgroundColor,i=`rgb(${r.r} ${r.g} ${r.b} / .7)`,n=this._model.options.sectionHeaderFontColor,_=`rgb(${n.r} ${n.g} ${n.b})`,T=this._decorationsCanvas.domNode.getContext("2d");T.letterSpacing=x+"px",T.font="500 "+s+"px "+this._model.options.sectionHeaderFontFamily,T.strokeStyle=_,T.lineWidth=.2;let S=this._model.getSectionHeaderDecorationsInViewport(e.startLineNumber,e.endLineNumber);S.sort((e,t)=>e.range.startLineNumber-t.range.startLineNumber);let R=CG._fitSectionHeader.bind(null,T,a-8);for(let x of S){let r=e.getYForLineNumber(x.range.startLineNumber,t)+s,n=r-s,S=n+2,O=this._model.getSectionHeaderText(x,R);CG._renderSectionLabel(T,O,x.options.minimap?.sectionHeaderStyle===2,i,_,a,n,E,r,S)}}static _fitSectionHeader(e,t,s){if(!s)return s;let x=e.measureText(s).width,E=e.measureText("…").width;if(x<=t||x<=E)return s;let a=s.length,r=Math.floor((t-E)/(x/s.length))-1,i=Math.ceil(r/2);for(;i>0&&/\s/.test(s[i-1]);)--i;return s.substring(0,i)+"…"+s.substring(a-(r-i))}static _renderSectionLabel(e,t,s,x,E,a,r,i,n,_){t&&(e.fillStyle=x,e.fillRect(0,r,a,i),e.fillStyle=E,e.fillText(t,8,n)),s&&(e.beginPath(),e.moveTo(0,_),e.lineTo(a,_),e.closePath(),e.stroke())}renderLines(e){let t=e.startLineNumber,s=e.endLineNumber,x=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){let t=this._lastRenderData._get();return new CU(e,t.imageData,t.lines)}let E=this._getBuffer();if(!E)return null;let[a,r,i]=CG._renderUntouchedLines(E,e.topPaddingLineCount,t,s,x,this._lastRenderData),n=this._model.getMinimapLinesRenderingData(t,s,i),_=this._model.getOptions().tabSize,T=this._model.options.defaultBackgroundColor,S=this._model.options.backgroundColor,R=this._model.options.foregroundAlpha,O=this._model.tokensColorTracker,A=O.backgroundIsLight(),N=this._model.options.renderMinimap,o=this._model.options.charRenderer(),I=this._model.options.fontScale,L=this._model.options.minimapCharWidth,h=(1===N?2:3)*I,C=x>h?Math.floor((x-h)/2):0,l=S.a/255,u=new CR(Math.round((S.r-T.r)*l+T.r),Math.round((S.g-T.g)*l+T.g),Math.round((S.b-T.b)*l+T.b),255),D=e.topPaddingLineCount*x,M=[];for(let e=0,a=s-t+1;e<a;e++)i[e]&&CG._renderLine(E,u,S.a,A,N,L,O,R,o,D,C,_,n[e],I,x),M[e]=new CP(D),D+=x;let P=-1===a?0:a,U=-1===r?E.height:r;return this._canvas.domNode.getContext("2d").putImageData(E,0,0,0,P,E.width,U-P),new CU(e,E,M)}static _renderUntouchedLines(e,t,s,x,E,a){let r=[];if(!a){for(let e=0,t=x-s+1;e<t;e++)r[e]=!0;return[-1,-1,r]}let i=a._get(),n=i.imageData.data,_=i.rendLineNumberStart,T=i.lines,S=T.length,R=e.width,O=e.data,A=(x-s+1)*E*R*4,N=-1,o=-1,I=-1,L=-1,h=-1,C=-1,l=t*E;for(let e=s;e<=x;e++){let t=e-s,x=e-_,a=x>=0&&x<S?T[x].dy:-1;if(-1===a){r[t]=!0,l+=E;continue}let i=a*R*4,u=(a+E)*R*4,D=l*R*4,M=(l+E)*R*4;L===i&&C===D?L=u:(-1!==I&&(O.set(n.subarray(I,L),h),-1===N&&0===I&&I===h&&(N=L),-1===o&&L===A&&I===h&&(o=I)),I=i,L=u,h=D),C=M,r[t]=!1,l+=E}return -1!==I&&(O.set(n.subarray(I,L),h),-1===N&&0===I&&I===h&&(N=L),-1===o&&L===A&&I===h&&(o=I)),[-1===N?-1:N/(4*R),-1===o?-1:o/(4*R),r]}static _renderLine(e,t,s,x,E,a,r,i,n,_,T,S,R,O,A){let N=R.content,o=R.tokens,I=e.width-a,L=1===A,h=8,C=0,l=0;for(let R=0,A=o.getCount();R<A;R++){let A=o.getEndOffset(R),u=o.getForeground(R),D=r.getColor(u);for(;C<A;C++){if(h>I)return;let r=N.charCodeAt(C);if(9===r){let e=S-(C+l)%S;l+=e-1,h+=e*a}else if(32===r)h+=a;else{let S=xg.K7(r)?2:1;for(let R=0;R<S;R++)if(2===E?n.blockRenderChar(e,h,_+T,D,i,t,s,L):n.renderChar(e,h,_+T,r,D,i,t,s,O,x,L),(h+=a)>I)return}}}}}class CB{constructor(e,t,s){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=s,this._values=[];for(let e=0,t=this._endLineNumber-this._startLineNumber+1;e<t;e++)this._values[e]=s}has(e){return this.get(e)!==this._defaultValue}set(e,t){e<this._startLineNumber||e>this._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return e<this._startLineNumber||e>this._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}x(82347);class Cm extends IV{constructor(e,t){super(e),this._viewDomNode=t;let s=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=s.verticalScrollbarWidth,this._minimapWidth=s.minimap.minimapWidth,this._horizontalScrollbarHeight=s.horizontalScrollbarHeight,this._editorHeight=s.height,this._editorWidth=s.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=a9(document.createElement("div")),IX.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=a9(document.createElement("div")),IX.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){let t=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){let t=a9(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){let s=this._widgets[e.getId()],x=t?t.preference:null,E=t?.stackOridinal;return s.preference===x&&s.stack===E?(this._updateMaxMinWidth(),!1):(s.preference=x,s.stack=E,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){let t=e.getId();if(this._widgets.hasOwnProperty(t)){let e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let e=0,t=Object.keys(this._widgets);for(let s=0,x=t.length;s<x;s++){let x=t[s],E=this._widgets[x],a=E.widget.getMinContentWidthInPx?.();void 0!==a&&(e=Math.max(e,a))}this._context.viewLayout.setOverlayWidgetsMinWidth(e)}_renderWidget(e,t){let s=e.domNode;if(null===e.preference){s.setTop("");return}let x=2*this._verticalScrollbarWidth+this._minimapWidth;if(0===e.preference||1===e.preference){if(1===e.preference){let e=s.domNode.clientHeight;s.setTop(this._editorHeight-e-2*this._horizontalScrollbarHeight)}else s.setTop(0);void 0!==e.stack?(s.setTop(t[e.preference]),t[e.preference]+=s.domNode.clientWidth):s.setRight(x)}else if(2===e.preference)s.domNode.style.right="50%",void 0!==e.stack?(s.setTop(t[2]),t[2]+=s.domNode.clientHeight):s.setTop(0);else{let{top:t,left:x}=e.preference;if(this._context.configuration.options.get(42)&&e.widget.allowEditorOverflow){let e=this._viewDomNodeRect;s.setTop(t+e.top),s.setLeft(x+e.left),s.setPosition("fixed")}else s.setTop(t),s.setLeft(x),s.setPosition("absolute")}}prepareRender(e){this._viewDomNodeRect=aR(this._viewDomNode.domNode)}render(e){this._domNode.setWidth(this._editorWidth);let t=Object.keys(this._widgets),s=Array.from({length:3},()=>0);t.sort((e,t)=>(this._widgets[e].stack||0)-(this._widgets[t].stack||0));for(let e=0,x=t.length;e<x;e++){let x=t[e];this._renderWidget(this._widgets[x],s)}}}class Cf{constructor(e,t){let s=e.options;this.lineHeight=s.get(67),this.pixelRatio=s.get(144),this.overviewRulerLanes=s.get(83),this.renderBorder=s.get(82);let x=t.getColor(A4.zw);this.borderColor=x?x.toString():null,this.hideCursor=s.get(59);let E=t.getColor(A4.n0);this.cursorColorSingle=E?E.transparent(.7).toString():null;let a=t.getColor(A4.jD);this.cursorColorPrimary=a?a.transparent(.7).toString():null;let r=t.getColor(A4.x_);this.cursorColorSecondary=r?r.transparent(.7).toString():null,this.themeType=t.type;let i=s.get(73),n=i.enabled,_=i.side,T=t.getColor(A4.e_),S=_U.RW.getDefaultBackground();T?this.backgroundColor=T:n&&"right"===_?this.backgroundColor=S:this.backgroundColor=null;let R=s.get(146).overviewRuler;this.top=R.top,this.right=R.right,this.domWidth=R.width,this.domHeight=R.height,0===this.overviewRulerLanes?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);let[O,A]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=O,this.w=A}_initLanes(e,t,s){let x=t-e;if(s>=3){let t=Math.floor(x/3),s=Math.floor(x/3),E=x-t-s,a=e+t;return[[0,e,a,e,e+t+E,e,a,e],[0,t,E,t+E,s,t+E+s,E+s,t+E+s]]}if(2!==s)return[[0,e,e,e,e,e,e,e],[0,x,x,x,x,x,x,x]];{let t=Math.floor(x/2),s=x-t;return[[0,e,e,e,e+t,e,e,e],[0,t,t,t,s,t+s,t+s,t+s]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&cq.Il.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class Cg extends IV{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=a9(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=_U.RW.onDidChange(e=>{e.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new cs.L(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){let t=new Cf(this._context.configuration,this._context.theme);return!(this._settings&&this._settings.equals(t))&&(this._settings=t,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,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,s=e.selections.length;t<s;t++){let x=this._settings.cursorColorSingle;s>1&&(x=0===t?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:x})}return this._cursorPositions.sort((e,t)=>cs.L.compare(e.position,t.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return!!e.affectsOverviewRuler&&this._markRenderingIsMaybeNeeded()}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return!!e.scrollHeightChanged&&this._markRenderingIsNeeded()}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){let e=this._settings.backgroundColor;if(0===this._settings.overviewRulerLanes){this._domNode.setBackgroundColor(e?cq.Il.Format.CSS.formatHexA(e):""),this._domNode.setDisplay("none");return}let t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(o5.compareByRenderingProps),1!==this._actualShouldRender||o5.equalsArr(this._renderedDecorations,t)||(this._actualShouldRender=2),1!==this._actualShouldRender||(0,sD.fS)(this._renderedCursorPositions,this._cursorPositions,(e,t)=>e.position.lineNumber===t.position.lineNumber&&e.color===t.color)||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");let s=this._settings.canvasWidth,x=this._settings.canvasHeight,E=this._settings.lineHeight,a=this._context.viewLayout,r=x/this._context.viewLayout.getScrollHeight(),i=6*this._settings.pixelRatio|0,n=i/2|0,_=this._domNode.domNode.getContext("2d");e?(e.isOpaque()||_.clearRect(0,0,s,x),_.fillStyle=cq.Il.Format.CSS.formatHexA(e),_.fillRect(0,0,s,x)):_.clearRect(0,0,s,x);let T=this._settings.x,S=this._settings.w;for(let e of t){let t=e.color,s=e.data;_.fillStyle=t;let R=0,O=0,A=0;for(let e=0,t=s.length/3;e<t;e++){let t=s[3*e],N=s[3*e+1],o=s[3*e+2],I=a.getVerticalOffsetForLineNumber(N)*r|0,L=(a.getVerticalOffsetForLineNumber(o)+E)*r|0;if(L-I<i){let e=(I+L)/2|0;e<n?e=n:e+n>x&&(e=x-n),I=e-n,L=e+n}I>A+1||t!==R?(0!==e&&_.fillRect(T[R],O,S[R],A-O),R=t,O=I,A=L):L>A&&(A=L)}_.fillRect(T[R],O,S[R],A-O)}if(!this._settings.hideCursor){let e=2*this._settings.pixelRatio|0,t=e/2|0,s=this._settings.x[7],E=this._settings.w[7],i=-100,n=-100,T=null;for(let S=0,R=this._cursorPositions.length;S<R;S++){let R=this._cursorPositions[S].color;if(!R)continue;let O=this._cursorPositions[S].position,A=a.getVerticalOffsetForLineNumber(O.lineNumber)*r|0;A<t?A=t:A+t>x&&(A=x-t);let N=A-t,o=N+e;N>n+1||R!==T?(0!==S&&T&&_.fillRect(s,i,E,n-i),i=N,n=o):o>n&&(n=o),T=R,_.fillStyle=R}T&&_.fillRect(s,i,E,n-i)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(_.beginPath(),_.lineWidth=1,_.strokeStyle=this._settings.borderColor,_.moveTo(0,0),_.lineTo(0,x),_.moveTo(1,0),_.lineTo(s,0),_.stroke())}}class CF{constructor(e,t,s){this._colorZoneBrand=void 0,this.from=0|e,this.to=0|t,this.colorId=0|s}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class CH{constructor(e,t,s,x){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=s,this.color=x,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.color<t.color?-1:1}setColorZone(e){this._colorZone=e}getColorZones(){return this._colorZone}}class Cy{constructor(e){this._getVerticalOffsetForLine=e,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(e){this._zones=e,this._zones.sort(CH.compare)}setLineHeight(e){return this._lineHeight!==e&&(this._lineHeight=e,this._colorZonesInvalid=!0,!0)}setPixelRatio(e){this._pixelRatio=e,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(e){return this._domWidth!==e&&(this._domWidth=e,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(e){return this._domHeight!==e&&(this._domHeight=e,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(e){return this._outerHeight!==e&&(this._outerHeight=e,this._colorZonesInvalid=!0,!0)}resolveColorZones(){let e=this._colorZonesInvalid,t=Math.floor(this._lineHeight),s=Math.floor(this.getCanvasHeight()),x=s/Math.floor(this._outerHeight),E=Math.floor(4*this._pixelRatio/2),a=[];for(let r=0,i=this._zones.length;r<i;r++){let i=this._zones[r];if(!e){let e=i.getColorZones();if(e){a.push(e);continue}}let n=this._getVerticalOffsetForLine(i.startLineNumber),_=0===i.heightInLines?this._getVerticalOffsetForLine(i.endLineNumber)+t:n+i.heightInLines*t,T=Math.floor(x*n),S=Math.floor(x*_),R=Math.floor((T+S)/2),O=S-R;O<E&&(O=E),R-O<0&&(R=O),R+O>s&&(R=s-O);let A=i.color,N=this._color2Id[A];N||(N=++this._lastAssignedId,this._color2Id[A]=N,this._id2Color[N]=A);let o=new CF(R-O,R+O,N);i.setColorZone(o),a.push(o)}return this._colorZonesInvalid=!1,a.sort(CF.compare),a}}class CV extends Iy{constructor(e,t){super(),this._context=e;let s=this._context.configuration.options;this._domNode=a9(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new Cy(e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(s.get(67)),this._zoneManager.setPixelRatio(s.get(144)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(144)&&(this._zoneManager.setPixelRatio(t.get(144)),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(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,(t=this._zoneManager.setDOMHeight(e.height)||t)&&(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(e){this._zoneManager.setZones(e),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;let e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),s=this._zoneManager.resolveColorZones(),x=this._zoneManager.getId2Color(),E=this._domNode.domNode.getContext("2d");return E.clearRect(0,0,e,t),s.length>0&&this._renderOneLane(E,s,x,e),!0}_renderOneLane(e,t,s,x){let E=0,a=0,r=0;for(let i of t){let t=i.colorId,n=i.from,_=i.to;t!==E?(e.fillRect(0,a,x,r-a),E=t,e.fillStyle=s[E],a=n,r=_):r>=n?r=Math.max(r,_):(e.fillRect(0,a,x,r-a),a=n,r=_)}e.fillRect(0,a,x,r-a)}}x(80188);class CX extends IV{constructor(e){super(e),this.domNode=a9(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];let t=this._context.configuration.options;this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){let e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e<t){let{tabSize:s}=this._context.viewModel.model.getOptions(),x=t-e;for(;x>0;){let e=a9(document.createElement("div"));e.setClassName("view-ruler"),e.setWidth(s),this.domNode.appendChild(e),this._renderedRulers.push(e),x--}return}let s=e-t;for(;s>0;){let e=this._renderedRulers.pop();this.domNode.removeChild(e),s--}}render(e){this._ensureRulersCount();for(let t=0,s=this._rulers.length;t<s;t++){let s=this._renderedRulers[t],x=this._rulers[t];s.setBoxShadow(x.color?`1px 0 0 0 ${x.color} inset`:""),s.setHeight(Math.min(e.scrollHeight,1e6)),s.setLeft(x.column*this._typicalHalfwidthCharacterWidth)}}}x(37543);class Cb extends IV{constructor(e){super(e),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;let t=this._context.configuration.options.get(104);this._useShadows=t.useShadows,this._domNode=a9(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){let e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e&&(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){let e=this._context.configuration.options.get(146);0===e.minimap.renderMinimap||e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){let t=this._context.configuration.options.get(104);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}x(42247);class Cv{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class Ck{constructor(e,t){this.lineNumber=e,this.ranges=t}}function Cw(e){return new Cv(e)}function CW(e){return new Ck(e.lineNumber,e.ranges.map(Cw))}class CK extends LP{static{this.SELECTION_CLASS_NAME="selected-text"}static{this.SELECTION_TOP_LEFT="top-left-radius"}static{this.SELECTION_BOTTOM_LEFT="bottom-left-radius"}static{this.SELECTION_TOP_RIGHT="top-right-radius"}static{this.SELECTION_BOTTOM_RIGHT="bottom-right-radius"}static{this.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background"}static{this.ROUNDED_PIECE_WIDTH=10}constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;let t=this._context.configuration.options;this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,s=e.length;t<s;t++)if(e[t].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,s){let x=this._typicalHalfwidthCharacterWidth/4,E=null,a=null;if(s&&s.length>0&&t.length>0){let x=t[0].lineNumber;if(x===e.startLineNumber)for(let e=0;!E&&e<s.length;e++)s[e].lineNumber===x&&(E=s[e].ranges[0]);let r=t[t.length-1].lineNumber;if(r===e.endLineNumber)for(let e=s.length-1;!a&&e>=0;e--)s[e].lineNumber===r&&(a=s[e].ranges[0]);E&&!E.startStyle&&(E=null),a&&!a.startStyle&&(a=null)}for(let e=0,s=t.length;e<s;e++){let r=t[e].ranges[0],i=r.left,n=r.left+r.width,_={top:0,bottom:0},T={top:0,bottom:0};if(e>0){let s=t[e-1].ranges[0].left,E=t[e-1].ranges[0].left+t[e-1].ranges[0].width;CQ(i-s)<x?_.top=2:i>s&&(_.top=1),CQ(n-E)<x?T.top=2:s<n&&n<E&&(T.top=1)}else E&&(_.top=E.startStyle.top,T.top=E.endStyle.top);if(e+1<s){let s=t[e+1].ranges[0].left,E=t[e+1].ranges[0].left+t[e+1].ranges[0].width;CQ(i-s)<x?_.bottom=2:s<i&&i<E&&(_.bottom=1),CQ(n-E)<x?T.bottom=2:n<E&&(T.bottom=1)}else a&&(_.bottom=a.startStyle.bottom,T.bottom=a.endStyle.bottom);r.startStyle=_,r.endStyle=T}}_getVisibleRangesWithStyle(e,t,s){let x=(t.linesVisibleRangesForRange(e,!0)||[]).map(CW);return!this._visibleRangesHaveGaps(x)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(t.visibleRange,x,s),x}_createSelectionPiece(e,t,s,x,E){return'<div class="cslr '+s+'" style="top:'+e.toString()+"px;bottom:"+t.toString()+"px;left:"+x.toString()+"px;width:"+E.toString()+'px;"></div>'}_actualRenderOneSelection(e,t,s,x){if(0===x.length)return;let E=!!x[0].ranges[0].startStyle,a=x[0].lineNumber,r=x[x.length-1].lineNumber;for(let i=0,n=x.length;i<n;i++){let n=x[i],_=n.lineNumber,T=_-t,S=s&&_===a?1:0,R=s&&_!==a&&_===r?1:0,O="",A="";for(let e=0,t=n.ranges.length;e<t;e++){let t=n.ranges[e];if(E){let e=t.startStyle,s=t.endStyle;if(1===e.top||1===e.bottom){O+=this._createSelectionPiece(S,R,CK.SELECTION_CLASS_NAME,t.left-CK.ROUNDED_PIECE_WIDTH,CK.ROUNDED_PIECE_WIDTH);let s=CK.EDITOR_BACKGROUND_CLASS_NAME;1===e.top&&(s+=" "+CK.SELECTION_TOP_RIGHT),1===e.bottom&&(s+=" "+CK.SELECTION_BOTTOM_RIGHT),O+=this._createSelectionPiece(S,R,s,t.left-CK.ROUNDED_PIECE_WIDTH,CK.ROUNDED_PIECE_WIDTH)}if(1===s.top||1===s.bottom){O+=this._createSelectionPiece(S,R,CK.SELECTION_CLASS_NAME,t.left+t.width,CK.ROUNDED_PIECE_WIDTH);let e=CK.EDITOR_BACKGROUND_CLASS_NAME;1===s.top&&(e+=" "+CK.SELECTION_TOP_LEFT),1===s.bottom&&(e+=" "+CK.SELECTION_BOTTOM_LEFT),O+=this._createSelectionPiece(S,R,e,t.left+t.width,CK.ROUNDED_PIECE_WIDTH)}}let s=CK.SELECTION_CLASS_NAME;if(E){let e=t.startStyle,x=t.endStyle;0===e.top&&(s+=" "+CK.SELECTION_TOP_LEFT),0===e.bottom&&(s+=" "+CK.SELECTION_BOTTOM_LEFT),0===x.top&&(s+=" "+CK.SELECTION_TOP_RIGHT),0===x.bottom&&(s+=" "+CK.SELECTION_BOTTOM_RIGHT)}A+=this._createSelectionPiece(S,R,s,t.left,t.width)}e[T][0]+=O,e[T][1]+=A}}prepareRender(e){let t=[],s=e.visibleRange.startLineNumber,x=e.visibleRange.endLineNumber;for(let e=s;e<=x;e++)t[e-s]=["",""];let E=[];for(let x=0,a=this._selections.length;x<a;x++){let a=this._selections[x];if(a.isEmpty()){E[x]=null;continue}let r=this._getVisibleRangesWithStyle(a,e,this._previousFrameVisibleRangesWithStyle[x]);E[x]=r,this._actualRenderOneSelection(t,s,this._selections.length>1,r)}this._previousFrameVisibleRangesWithStyle=E,this._renderResult=t.map(([e,t])=>e+t)}render(e,t){if(!this._renderResult)return"";let s=t-e;return s<0||s>=this._renderResult.length?"":this._renderResult[s]}}function CQ(e){return e<0?-e:e}(0,iR.Ic)((e,t)=>{let s=e.getColor(iv.yb5);s&&!s.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${s}; }`)}),x(96316);class CJ{constructor(e,t,s,x,E,a,r){this.top=e,this.left=t,this.paddingLeft=s,this.width=x,this.height=E,this.textContent=a,this.textContentClassName=r}}!function(e){e[e.Single=0]="Single",e[e.MultiPrimary=1]="MultiPrimary",e[e.MultiSecondary=2]="MultiSecondary"}(eq||(eq={}));class CZ{constructor(e,t){this._context=e;let s=this._context.configuration.options,x=s.get(50);this._cursorStyle=s.get(28),this._lineHeight=s.get(67),this._typicalHalfwidthCharacterWidth=x.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(s.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=a9(document.createElement("div")),this._domNode.setClassName(`cursor ${Lp}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),re(this._domNode,x),this._domNode.setDisplay("none"),this._position=new cs.L(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case eq.Single:this._pluralityClass="";break;case eq.MultiPrimary:this._pluralityClass="cursor-primary";break;case eq.MultiSecondary:this._pluralityClass="cursor-secondary"}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=s.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),re(this._domNode,s),!0}onCursorPositionChanged(e,t){return t?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=e,!0}_getGraphemeAwarePosition(){let{lineNumber:e,column:t}=this._position,s=this._context.viewModel.getLineContent(e),[x,E]=xg.J_(s,t-1);return[new cs.L(e,x+1),s.substring(x,E)]}_prepareRender(e){let t="",s="",[x,E]=this._getGraphemeAwarePosition();if(this._cursorStyle===W.Line||this._cursorStyle===W.LineThin){let a;let r=e.visibleRangeForPosition(x);if(!r||r.outsideRenderedLine)return null;let i=E1(this._domNode.domNode);this._cursorStyle===W.Line?(a=aK(i,this._lineCursorWidth>0?this._lineCursorWidth:2))>2&&(t=E,s=this._getTokenClassName(x)):a=aK(i,1);let n=r.left,_=0;return a>=2&&n>=1&&(n-=_=1),new CJ(e.getVerticalOffsetForLineNumber(x.lineNumber)-e.bigNumbersDelta,n,_,a,this._lineHeight,t,s)}let a=e.linesVisibleRangesForRange(new r3.e(x.lineNumber,x.column,x.lineNumber,x.column+E.length),!1);if(!a||0===a.length)return null;let r=a[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;let i=r.ranges[0],n=" "===E?this._typicalHalfwidthCharacterWidth:i.width<1?this._typicalHalfwidthCharacterWidth:i.width;this._cursorStyle===W.Block&&(t=E,s=this._getTokenClassName(x));let _=e.getVerticalOffsetForLineNumber(x.lineNumber)-e.bigNumbersDelta,T=this._lineHeight;return(this._cursorStyle===W.Underline||this._cursorStyle===W.UnderlineThin)&&(_+=this._lineHeight-2,T=2),new CJ(_,i.left,0,n,T,t,s)}_getTokenClassName(e){let t=this._context.viewModel.getViewLineData(e.lineNumber),s=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(s)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${Lp} ${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 Cz extends IV{static{this.BLINK_INTERVAL=500}constructor(e){super(e);let t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new CZ(this._context,eq.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=a9(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 x9._F,this._cursorFlatBlinkInterval=new ai,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){let t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let t=0,s=this._secondaryCursors.length;t<s;t++)this._secondaryCursors[t].onConfigurationChanged(e);return!0}_onCursorPositionChanged(e,t,s){let x=this._secondaryCursors.length!==t.length||"explicit"===this._cursorSmoothCaretAnimation&&3!==s;if(this._primaryCursor.setPlurality(t.length?eq.MultiPrimary:eq.Single),this._primaryCursor.onCursorPositionChanged(e,x),this._updateBlinking(),this._secondaryCursors.length<t.length){let e=t.length-this._secondaryCursors.length;for(let t=0;t<e;t++){let e=new CZ(this._context,eq.MultiSecondary);this._domNode.domNode.insertBefore(e.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(e)}}else if(this._secondaryCursors.length>t.length){let e=this._secondaryCursors.length-t.length;for(let t=0;t<e;t++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let e=0;e<t.length;e++)this._secondaryCursors[e].onCursorPositionChanged(t[e],x)}onCursorStateChanged(e){let t=[];for(let s=0,x=e.selections.length;s<x;s++)t[s]=e.selections[s].getPosition();this._onCursorPositionChanged(t[0],t.slice(1),e.reason);let s=e.selections[0].isEmpty();return this._selectionIsEmpty!==s&&(this._selectionIsEmpty=s,this._updateDomClassName()),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onFocusChanged(e){return this._editorHasFocus=e.isFocused,this._updateBlinking(),!1}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return!0}onTokensChanged(e){let t=t=>{for(let s=0,x=e.ranges.length;s<x;s++)if(e.ranges[s].fromLineNumber<=t.lineNumber&&t.lineNumber<=e.ranges[s].toLineNumber)return!0;return!1};if(t(this._primaryCursor.getPosition()))return!0;for(let e of this._secondaryCursors)if(t(e.getPosition()))return!0;return!1}onZonesChanged(e){return!0}_getCursorBlinking(){return this._isComposingInput||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();let e=this._getCursorBlinking(),t=0===e;t?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),t||5===e||(1===e?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()},Cz.BLINK_INTERVAL,E1(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},Cz.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case W.Line:e+=" cursor-line-style";break;case W.Block:e+=" cursor-block-style";break;case W.Underline:e+=" cursor-underline-style";break;case W.LineThin:e+=" cursor-line-thin-style";break;case W.BlockOutline:e+=" cursor-block-outline-style";break;case W.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return("on"===this._cursorSmoothCaretAnimation||"explicit"===this._cursorSmoothCaretAnimation)&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].hide();this._isVisible=!1}prepareRender(e){this._primaryCursor.prepareRender(e);for(let t=0,s=this._secondaryCursors.length;t<s;t++)this._secondaryCursors[t].prepareRender(e)}render(e){let t=[],s=0,x=this._primaryCursor.render(e);x&&(t[s++]=x);for(let x=0,E=this._secondaryCursors.length;x<E;x++){let E=this._secondaryCursors[x].render(e);E&&(t[s++]=E)}this._renderData=t}getLastRenderData(){return this._renderData}}(0,iR.Ic)((e,t)=>{for(let s of[{class:".cursor",foreground:A4.n0,background:A4.fY},{class:".cursor-primary",foreground:A4.jD,background:A4.s2},{class:".cursor-secondary",foreground:A4.x_,background:A4.P0}]){let x=e.getColor(s.foreground);if(x){let E=e.getColor(s.background);E||(E=x.opposite()),t.addRule(`.monaco-editor .cursors-layer ${s.class} { background-color: ${x}; border-color: ${x}; color: ${E}; }`),(0,TQ.c3)(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${s.class} { border-left: 1px solid ${E}; border-right: 1px solid ${E}; }`)}}});let Cq=()=>{throw Error("Invalid change accessor")};class Cj extends IV{constructor(e){super(e);let t=this._context.configuration.options,s=t.get(146);this._lineHeight=t.get(67),this._contentWidth=s.contentWidth,this._contentLeft=s.contentLeft,this.domNode=a9(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=a9(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(){let e=this._context.viewLayout.getWhitespaces(),t=new Map;for(let s of e)t.set(s.id,s);let s=!1;return this._context.viewModel.changeWhitespace(e=>{let x=Object.keys(this._zones);for(let E=0,a=x.length;E<a;E++){let a=x[E],r=this._zones[a],i=this._computeWhitespaceProps(r.delegate);r.isInHiddenArea=i.isInHiddenArea;let n=t.get(a);n&&(n.afterLineNumber!==i.afterViewLineNumber||n.height!==i.heightInPx)&&(e.changeOneWhitespace(a,i.afterViewLineNumber,i.heightInPx),this._safeCallOnComputedHeight(r.delegate,i.heightInPx),s=!0)}}),s}onConfigurationChanged(e){let t=this._context.configuration.options,s=t.get(146);return this._lineHeight=t.get(67),this._contentWidth=s.contentWidth,this._contentLeft=s.contentLeft,e.hasChanged(67)&&this._recomputeWhitespacesProps(),!0}onLineMappingChanged(e){return this._recomputeWhitespacesProps()}onLinesDeleted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}onLinesInserted(e){return!0}_getZoneOrdinal(e){return e.ordinal??e.afterColumn??1e4}_computeWhitespaceProps(e){let t,s;if(0===e.afterLineNumber)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(e),minWidthInPx:this._minWidthInPixels(e)};if(void 0!==e.afterColumn)t=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{let s=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;t=new cs.L(s,this._context.viewModel.model.getLineMaxColumn(s))}s=t.column===this._context.viewModel.model.getLineMaxColumn(t.lineNumber)?this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber+1,column:1}):this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber,column:t.column+1});let x=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t,e.afterColumnAffinity,!0),E=e.showInHiddenAreas||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(s);return{isInHiddenArea:!E,afterViewLineNumber:x.lineNumber,heightInPx:E?this._heightInPixels(e):0,minWidthInPx:this._minWidthInPixels(e)}}changeViewZones(e){let t=!1;return this._context.viewModel.changeWhitespace(s=>{let x={addZone:e=>(t=!0,this._addZone(s,e)),removeZone:e=>{e&&(t=this._removeZone(s,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(s,e)||t)}};(function(e,t){try{e(t)}catch(e){(0,xZ.dL)(e)}})(e,x),x.addZone=Cq,x.removeZone=Cq,x.layoutZone=Cq}),t}_addZone(e,t){let s=this._computeWhitespaceProps(t),x={whitespaceId:e.insertWhitespace(s.afterViewLineNumber,this._getZoneOrdinal(t),s.heightInPx,s.minWidthInPx),delegate:t,isInHiddenArea:s.isInHiddenArea,isVisible:!1,domNode:a9(t.domNode),marginDomNode:t.marginDomNode?a9(t.marginDomNode):null};return this._safeCallOnComputedHeight(x.delegate,s.heightInPx),x.domNode.setPosition("absolute"),x.domNode.domNode.style.width="100%",x.domNode.setDisplay("none"),x.domNode.setAttribute("monaco-view-zone",x.whitespaceId),this.domNode.appendChild(x.domNode),x.marginDomNode&&(x.marginDomNode.setPosition("absolute"),x.marginDomNode.domNode.style.width="100%",x.marginDomNode.setDisplay("none"),x.marginDomNode.setAttribute("monaco-view-zone",x.whitespaceId),this.marginDomNode.appendChild(x.marginDomNode)),this._zones[x.whitespaceId]=x,this.setShouldRender(),x.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){let s=this._zones[t];return delete this._zones[t],e.removeWhitespace(s.whitespaceId),s.domNode.removeAttribute("monaco-visible-view-zone"),s.domNode.removeAttribute("monaco-view-zone"),s.domNode.domNode.remove(),s.marginDomNode&&(s.marginDomNode.removeAttribute("monaco-visible-view-zone"),s.marginDomNode.removeAttribute("monaco-view-zone"),s.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){let s=this._zones[t],x=this._computeWhitespaceProps(s.delegate);return s.isInHiddenArea=x.isInHiddenArea,e.changeOneWhitespace(s.whitespaceId,x.afterViewLineNumber,x.heightInPx),this._safeCallOnComputedHeight(s.delegate,x.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return!!this._zones.hasOwnProperty(e)&&!!this._zones[e].delegate.suppressMouseDown}_heightInPixels(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(e){(0,xZ.dL)(e)}}_safeCallOnDomNodeTop(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(e){(0,xZ.dL)(e)}}prepareRender(e){}render(e){let t=e.viewportData.whitespaceViewportData,s={},x=!1;for(let e of t)this._zones[e.id].isInHiddenArea||(s[e.id]=e,x=!0);let E=Object.keys(this._zones);for(let t=0,x=E.length;t<x;t++){let x=E[t],a=this._zones[x],r=0,i=0,n="none";s.hasOwnProperty(x)?(r=s[x].verticalOffset-e.bigNumbersDelta,i=s[x].height,n="block",a.isVisible||(a.domNode.setAttribute("monaco-visible-view-zone","true"),a.isVisible=!0),this._safeCallOnDomNodeTop(a.delegate,e.getScrolledTopFromAbsoluteTop(s[x].verticalOffset))):(a.isVisible&&(a.domNode.removeAttribute("monaco-visible-view-zone"),a.isVisible=!1),this._safeCallOnDomNodeTop(a.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))),a.domNode.setTop(r),a.domNode.setHeight(i),a.domNode.setDisplay(n),a.marginDomNode&&(a.marginDomNode.setTop(r),a.marginDomNode.setHeight(i),a.marginDomNode.setDisplay(n))}x&&(this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}}x(14429);class C$ extends LP{constructor(e){super(),this._context=e,this._options=new C0(this._context.configuration),this._selection=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=new C0(this._context.configuration);return this._options.equals(t)?e.hasChanged(146):(this._options=t,!0)}onCursorStateChanged(e){return this._selection=e.selections,"selection"===this._options.renderWhitespace}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}prepareRender(e){if("none"===this._options.renderWhitespace){this._renderResult=null;return}let t=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber-t+1,x=Array(s);for(let e=0;e<s;e++)x[e]=!0;let E=this._context.viewModel.getMinimapLinesRenderingData(e.viewportData.startLineNumber,e.viewportData.endLineNumber,x);this._renderResult=[];for(let t=e.viewportData.startLineNumber;t<=e.viewportData.endLineNumber;t++){let s=t-e.viewportData.startLineNumber,x=E.data[s],a=null;if("selection"===this._options.renderWhitespace)for(let e of this._selection){if(e.endLineNumber<t||e.startLineNumber>t)continue;let s=e.startLineNumber===t?e.startColumn:x.minColumn,E=e.endLineNumber===t?e.endColumn:x.maxColumn;s<E&&(a||(a=[]),a.push(new ov(s-1,E-1)))}this._renderResult[s]=this._applyRenderWhitespace(e,t,a,x)}}_applyRenderWhitespace(e,t,s,x){let E;if("selection"===this._options.renderWhitespace&&!s||"trailing"===this._options.renderWhitespace&&x.continuesWithWrappedLine)return"";let a=this._context.theme.getColor(A4.dI),r=this._options.renderWithSVG,i=x.content,n=-1===this._options.stopRenderingLineAfter?i.length:Math.min(this._options.stopRenderingLineAfter,i.length),_=x.continuesWithWrappedLine,T=x.minColumn-1,S="boundary"===this._options.renderWhitespace,R="trailing"===this._options.renderWhitespace,O=this._options.lineHeight,A=this._options.middotWidth,N=this._options.wsmiddotWidth,o=this._options.spaceWidth,I=Math.abs(N-o)<Math.abs(A-o)?11825:183,L=this._options.canUseHalfwidthRightwardsArrow,h="",C=!1,l=xg.LC(i);-1===l?(C=!0,l=n,E=n):E=xg.ow(i);let u=0,D=s&&s[u],M=0;for(let x=T;x<n;x++){let a=i.charCodeAt(x);if(D&&x>=D.endOffset&&(u++,D=s&&s[u]),9!==a&&32!==a||R&&!C&&x<=E)continue;if(S&&x>=l&&x<=E&&32===a){let e=x-1>=0?i.charCodeAt(x-1):0,t=x+1<n?i.charCodeAt(x+1):0;if(32!==e&&32!==t)continue}if(S&&_&&x===n-1){let e=x-1>=0?i.charCodeAt(x-1):0;if(32===a&&32!==e&&9!==e)continue}if(s&&(!D||D.startOffset>x||D.endOffset<=x))continue;let T=e.visibleRangeForPosition(new cs.L(t,x+1));T&&(r?(M=Math.max(M,T.left),9===a?h+=this._renderArrow(O,o,T.left):h+=`<circle cx="${(T.left+o/2).toFixed(2)}" cy="${(O/2).toFixed(2)}" r="${(o/7).toFixed(2)}" />`):9===a?h+=`<div class="mwh" style="left:${T.left}px;height:${O}px;">${L?String.fromCharCode(65515):String.fromCharCode(8594)}</div>`:h+=`<div class="mwh" style="left:${T.left}px;height:${O}px;">${String.fromCharCode(I)}</div>`)}return r?(M=Math.round(M+o),`<svg style="bottom:0;position:absolute;width:${M}px;height:${O}px" viewBox="0 0 ${M} ${O}" xmlns="http://www.w3.org/2000/svg" fill="${a}">`+h+"</svg>"):h}_renderArrow(e,t,s){let x=e/2,E={x:0,y:t/7/2},a={x:.8*t,y:E.y},r={x:a.x-.2*a.x,y:a.y+.2*a.x},i={x:r.x+.1*a.x,y:r.y+.1*a.x},n={x:i.x+.35*a.x,y:i.y-.35*a.x},_={x:n.x,y:-n.y},T={x:i.x,y:-i.y},S={x:r.x,y:-r.y},R={x:a.x,y:-a.y},O={x:E.x,y:-E.y},A=[E,a,r,i,n,_,T,S,R,O].map(e=>`${(s+e.x).toFixed(2)} ${(x+e.y).toFixed(2)}`).join(" L ");return`<path d="M ${A}" />`}render(e,t){if(!this._renderResult)return"";let s=t-e;return s<0||s>=this._renderResult.length?"":this._renderResult[s]}}class C0{constructor(e){let t=e.options,s=t.get(50),x=t.get(38);"off"===x?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===x?(this.renderWhitespace=t.get(100),this.renderWithSVG=!0):(this.renderWhitespace=t.get(100),this.renderWithSVG=!1),this.spaceWidth=s.spaceWidth,this.middotWidth=s.middotWidth,this.wsmiddotWidth=s.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=s.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(118)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class C2{constructor(e,t,s,x){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.lineHeight=0|t.lineHeight,this.whitespaceViewportData=s,this._model=x,this.visibleRange=new r3.e(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class C1{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class C3{constructor(e,t,s){this.configuration=e,this.theme=new C1(t),this.viewModel=s,this.viewLayout=s.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}let C7=class extends Iy{constructor(e,t,s,x,E,a,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Ln.Y(1,1,1,1)],this._renderAnimationFrame=null;let i=new hH(t,x,E,e);this._context=new C3(t,s,x),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(Lm,this._context,i,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=a9(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=a9(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=a9(document.createElement("div")),IX.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new h3(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new Cc(this._context,this._linesContent),this._viewZones=new Cj(this._context),this._viewParts.push(this._viewZones);let n=new Cg(this._context);this._viewParts.push(n);let _=new Cb(this._context);this._viewParts.push(_);let T=new hk(this._context);this._viewParts.push(T),T.addDynamicOverlay(new h0(this._context)),T.addDynamicOverlay(new CK(this._context)),T.addDynamicOverlay(new CE(this._context)),T.addDynamicOverlay(new h1(this._context)),T.addDynamicOverlay(new C$(this._context));let S=new hw(this._context);this._viewParts.push(S),S.addDynamicOverlay(new h2(this._context)),S.addDynamicOverlay(new CS(this._context)),S.addDynamicOverlay(new CT(this._context)),S.addDynamicOverlay(new LU(this._context)),this._glyphMarginWidgets=new h8(this._context),this._viewParts.push(this._glyphMarginWidgets);let R=new Ld(this._context);R.getDomNode().appendChild(this._viewZones.marginDomNode),R.getDomNode().appendChild(S.getDomNode()),R.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(R),this._contentWidgets=new hQ(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new Cz(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new Cm(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);let O=new CX(this._context);this._viewParts.push(O);let A=new hK(this._context);this._viewParts.push(A);let N=new Cp(this._context);if(this._viewParts.push(N),n){let e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(n.getDomNode(),e.insertBefore)}this._linesContent.appendChild(T.getDomNode()),this._linesContent.appendChild(O.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(R.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(_.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(N.getDomNode()),this._overflowGuardContainer.appendChild(A.domNode),this.domNode.appendChild(this._overflowGuardContainer),a?(a.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),a.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new LM(this._context,i,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){let e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes,s=[],x=0;for(let E of((s=(s=s.concat(e.getAllMarginDecorations().map(e=>{let t=e.options.glyphMargin?.position??of.U.Center;return x=Math.max(x,e.range.endLineNumber),{range:e.range,lane:t,persist:e.options.glyphMargin?.persistLane}}))).concat(this._glyphMarginWidgets.getWidgets().map(t=>{let s=e.validateRange(t.preference.range);return x=Math.max(x,s.endLineNumber),{range:s,lane:t.preference.lane}}))).sort((e,t)=>r3.e.compareRangesUsingStarts(e.range,t.range)),t.reset(x),s))t.push(E.lane,E.range,E.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>new I8(this._viewCursors.getLastRenderData()||[],this._textAreaHandler.getLastRenderData()),renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new cs.L(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){let e=this._context.configuration.options.get(146);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){let e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(143)+" "+(0,iR.m6)(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){for(let e of(null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose(),this._viewParts))e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new xZ.he;if(null===this._renderAnimationFrame){let e=this._createCoordinatedRendering();this._renderAnimationFrame=C4.INSTANCE.scheduleCoordinatedRendering({window:E1(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new xZ.he;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new xZ.he;return e.renderText()},prepareRender:(t,s)=>{if(this._store.isDisposed)throw new xZ.he;return e.prepareRender(t,s)},render:(t,s)=>{if(this._store.isDisposed)throw new xZ.he;return e.render(t,s)}})}}_flushAccumulatedAndRenderNow(){let e=this._createCoordinatedRendering();C5(()=>e.prepareRenderText());let t=C5(()=>e.renderText());if(t){let[s,x]=t;C5(()=>e.prepareRender(s,x)),C5(()=>e.render(s,x))}}_getViewPartsToRender(){let e=[],t=0;for(let s of this._viewParts)s.shouldRender()&&(e[t++]=s);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;let e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}eb.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===e.length)return null;let t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);let s=new C2(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(s),this._viewLines.shouldRender()&&(this._viewLines.renderText(s),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new Iv(this._context.viewLayout,s,this._viewLines)]},prepareRender:(e,t)=>{for(let s of e)s.prepareRender(t)},render:(e,t)=>{for(let s of e)s.render(t),s.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){let s=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),x=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s);this._flushAccumulatedAndRenderNow();let E=this._viewLines.visibleRangeForPosition(new cs.L(x.lineNumber,x.column));return E?E.left:-1}getTargetAtClientPoint(e,t){let s=this._pointerHandler.getTargetAtClientPoint(e,t);return s?hW.convertViewToModelMouseTarget(s,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new CV(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t)for(let e of(this._viewLines.forceShouldRender(),this._viewParts))e.forceShouldRender();e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){this._contentWidgets.setWidgetPosition(e.widget,e.position?.position??null,e.position?.secondaryPosition??null,e.position?.preference??null,e.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){this._overlayWidgets.setWidgetPosition(e.widget,e.position)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){let t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function C5(e){try{return e()}catch(e){return(0,xZ.dL)(e),null}}C7=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([(h=rc.TG,function(e,t){h(e,t,6)})],C7);class C4{static{this.INSTANCE=new C4}constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{let t=this._coordinatedRenderings.indexOf(e);if(-1!==t&&(this._coordinatedRenderings.splice(t,1),0===this._coordinatedRenderings.length)){for(let[e,t]of this._animationFrameRunners)t.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){this._animationFrameRunners.has(e)||this._animationFrameRunners.set(e,E(e,()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()},100))}_onRenderScheduled(){let e=this._coordinatedRenderings.slice(0);for(let t of(this._coordinatedRenderings=[],e))C5(()=>t.prepareRenderText());let t=[];for(let s=0,x=e.length;s<x;s++){let x=e[s];t[s]=C5(()=>x.renderText())}for(let s=0,x=e.length;s<x;s++){let x=e[s],E=t[s];if(!E)continue;let[a,r]=E;C5(()=>x.prepareRender(a,r))}for(let s=0,x=e.length;s<x;s++){let x=e[s],E=t[s];if(!E)continue;let[a,r]=E;C5(()=>x.render(a,r))}}}var C6=x(13896);class C8{constructor(e,t,s,x,E){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=s,this.breakOffsetsVisibleColumn=x,this.wrappedTextIndentLength=E}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){let t=e>0?this.breakOffsets[e-1]:0,s=this.breakOffsets[e]-t;return e>0&&(s+=this.wrappedTextIndentLength),s}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let s=0===e?t:this.breakOffsets[e-1]+t;if(null!==this.injectionOffsets)for(let e=0;e<this.injectionOffsets.length;e++)if(s>this.injectionOffsets[e])s<this.injectionOffsets[e]+this.injectionOptions[e].content.length?s=this.injectionOffsets[e]:s-=this.injectionOptions[e].content.length;else break;return s}translateToOutputPosition(e,t=2){let s=e;if(null!==this.injectionOffsets)for(let x=0;x<this.injectionOffsets.length&&!(e<this.injectionOffsets[x])&&(1===t||e!==this.injectionOffsets[x]);x++)s+=this.injectionOptions[x].content.length;return this.offsetInInputWithInjectionsToOutputPosition(s,t)}offsetInInputWithInjectionsToOutputPosition(e,t=2){let s=0,x=this.breakOffsets.length-1,E=0,a=0;for(;s<=x;){E=s+(x-s)/2|0;let r=this.breakOffsets[E];if(a=E>0?this.breakOffsets[E-1]:0,0===t){if(e<=a)x=E-1;else if(e>r)s=E+1;else break}else if(e<a)x=E-1;else if(e>=r)s=E+1;else break}let r=e-a;return E>0&&(r+=this.wrappedTextIndentLength),new lt(E,r)}normalizeOutputPosition(e,t,s){if(null!==this.injectionOffsets){let x=this.outputPositionToOffsetInInputWithInjections(e,t),E=this.normalizeOffsetInInputWithInjectionsAroundInjections(x,s);if(E!==x)return this.offsetInInputWithInjectionsToOutputPosition(E,s)}if(0===s){if(e>0&&t===this.getMinOutputOffset(e))return new lt(e-1,this.getMaxOutputOffset(e-1))}else if(1===s&&e<this.getOutputLineCount()-1&&t===this.getMaxOutputOffset(e))return new lt(e+1,this.getMinOutputOffset(e+1));return new lt(e,t)}outputPositionToOffsetInInputWithInjections(e,t){return e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){let s=this.getInjectedTextAtOffset(e);if(!s)return e;if(2===t){if(e===s.offsetInInputWithInjections+s.length&&C9(this.injectionOptions[s.injectedTextIndex].cursorStops))return s.offsetInInputWithInjections+s.length;{let e=s.offsetInInputWithInjections;if(le(this.injectionOptions[s.injectedTextIndex].cursorStops))return e;let t=s.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[s.injectedTextIndex]&&!C9(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!le(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t||4===t){let e=s.offsetInInputWithInjections+s.length,t=s.injectedTextIndex;for(;t+1<this.injectionOffsets.length&&this.injectionOffsets[t+1]===this.injectionOffsets[t];)e+=this.injectionOptions[t+1].content.length,t++;return e}if(0===t||3===t){let e=s.offsetInInputWithInjections,t=s.injectedTextIndex;for(;t-1>=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}(0,C6.vE)(t)}getInjectedText(e,t){let s=this.outputPositionToOffsetInInputWithInjections(e,t),x=this.getInjectedTextAtOffset(s);return x?{options:this.injectionOptions[x.injectedTextIndex]}:null}getInjectedTextAtOffset(e){let t=this.injectionOffsets,s=this.injectionOptions;if(null!==t){let x=0;for(let E=0;E<t.length;E++){let a=s[E].content.length,r=t[E]+x,i=t[E]+x+a;if(r>e)break;if(e<=i)return{injectedTextIndex:E,offsetInInputWithInjections:r,length:a};x+=a}}}}function C9(e){return null==e||e===of.RM.Right||e===of.RM.Both}function le(e){return null==e||e===of.RM.Left||e===of.RM.Both}class lt{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new cs.L(e+this.outputLineIndex,this.outputOffset+1)}}var ls=x(3539);let lx=r$("domLineBreaksComputer",{createHTML:e=>e});class lE{static create(e){return new lE(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,s,x,E){let a=[],r=[];return{addRequest:(e,t,s)=>{a.push(e),r.push(t)},finalize:()=>(function(e,t,s,x,E,a,r,i){function n(e){let s=i[e];if(!s)return null;{let x=ls.gk.applyInjectedText(t[e],s),E=s.map(e=>e.options);return new C8(s.map(e=>e.column-1),E,[x.length],[],0)}}if(-1===E){let e=[];for(let s=0,x=t.length;s<x;s++)e[s]=n(s);return e}let _=Math.round(E*s.typicalHalfwidthCharacterWidth),T=Math.round(x*(3===a?2:2===a?1:0)),S=Math.ceil(s.spaceWidth*T),R=document.createElement("div");re(R,s);let O=new oF.HT(1e4),A=[],N=[],o=[],I=[],L=[];for(let e=0;e<t.length;e++){let E=ls.gk.applyInjectedText(t[e],i[e]),r=0,n=0,T=_;if(0!==a){if(-1===(r=xg.LC(E)))r=0;else{for(let e=0;e<r;e++){let t=9===E.charCodeAt(e)?x-n%x:1;n+=t}let e=Math.ceil(s.spaceWidth*n);e+s.typicalFullwidthCharacterWidth>_?(r=0,n=0):T=_-e}}let R=E.substr(r),h=function(e,t,s,x,E,a){if(0!==a){let e=String(a);E.appendString('<div style="text-indent: -'),E.appendString(e),E.appendString("px; padding-left: "),E.appendString(e),E.appendString("px; box-sizing: border-box; width:")}else E.appendString('<div style="width:');E.appendString(String(x)),E.appendString('px;">');let r=e.length,i=t,n=0,_=[],T=[],S=0<r?e.charCodeAt(0):0;E.appendString("<span>");for(let t=0;t<r;t++){0!==t&&t%16384==0&&E.appendString("</span><span>"),_[t]=n,T[t]=i;let x=S;S=t+1<r?e.charCodeAt(t+1):0;let a=1,R=1;switch(x){case 9:R=a=s-i%s;for(let e=1;e<=a;e++)e<a?E.appendCharCode(160):E.appendASCIICharCode(32);break;case 32:32===S?E.appendCharCode(160):E.appendASCIICharCode(32);break;case 60:E.appendString("&lt;");break;case 62:E.appendString("&gt;");break;case 38:E.appendString("&amp;");break;case 0:E.appendString("&#00;");break;case 65279:case 8232:case 8233:case 133:E.appendCharCode(65533);break;default:xg.K7(x)&&R++,x<32?E.appendCharCode(9216+x):E.appendCharCode(x)}n+=a,i+=R}return E.appendString("</span>"),_[e.length]=n,T[e.length]=i,E.appendString("</div>"),[_,T]}(R,n,x,T,O,S);A[e]=r,N[e]=n,o[e]=R,I[e]=h[0],L[e]=h[1]}let h=O.build(),C=lx?.createHTML(h)??h;R.innerHTML=C,R.style.position="absolute",R.style.top="10000","keepAll"===r?(R.style.wordBreak="keep-all",R.style.overflowWrap="anywhere"):(R.style.wordBreak="inherit",R.style.overflowWrap="break-word"),e.document.body.appendChild(R);let l=document.createRange(),u=Array.prototype.slice.call(R.children,0),D=[];for(let e=0;e<t.length;e++){let t,s;let x=function(e,t,s,x){if(s.length<=1)return null;let E=Array.prototype.slice.call(t.children,0),a=[];try{(function e(t,s,x,E,a,r,i,n){if(E===r||(a=a||la(t,s,x[E],x[E+1]),i=i||la(t,s,x[r],x[r+1]),.1>=Math.abs(a[0].top-i[0].top)))return;if(E+1===r){n.push(r);return}let _=E+(r-E)/2|0,T=la(t,s,x[_],x[_+1]);e(t,s,x,E,a,_,T,n),e(t,s,x,_,T,r,i,n)})(e,E,x,0,null,s.length-1,null,a)}catch(e){return console.log(e),null}return 0===a.length?null:(a.push(s.length),a)}(l,u[e],o[e],I[e]);if(null===x){D[e]=n(e);continue}let E=A[e],a=N[e]+T,r=L[e],_=[];for(let e=0,t=x.length;e<t;e++)_[e]=r[x[e]];if(0!==E)for(let e=0,t=x.length;e<t;e++)x[e]+=E;let S=i[e];S?(t=S.map(e=>e.options),s=S.map(e=>e.column-1)):(t=null,s=null),D[e]=new C8(s,t,x,_,a)}return R.remove(),D})((0,ru.cW)(this.targetWindow.deref()),a,e,t,s,x,E,r)}}}function la(e,t,s,x){return e.setStart(t[s/16384|0].firstChild,s%16384),e.setEnd(t[x/16384|0].firstChild,x%16384),e.getClientRects()}class lr extends xf.JT{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new xf.b2),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,s){for(let x of(this._editor=e,this._instantiationService=s,t)){if(this._pending.has(x.id)){(0,xZ.dL)(Error(`Cannot have two contributions with the same id ${x.id}`));continue}this._pending.set(x.id,x)}this._instantiateSome(0),this._register(ar(E1(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(ar(E1(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(ar(E1(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){let e={};for(let[t,s]of this._instances)"function"==typeof s.saveViewState&&(e[t]=s.saveViewState());return e}restoreViewState(e){for(let[t,s]of this._instances)"function"==typeof s.restoreViewState&&s.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return ar(E1(this._editor?.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(e){if(!this._finishedInstantiation[e])for(let t of(this._finishedInstantiation[e]=!0,this._findPendingContributionsByInstantiation(e)))this._instantiateById(t.id)}_findPendingContributionsByInstantiation(e){let t=[];for(let[,s]of this._pending)s.instantiation===e&&t.push(s);return t}_instantiateById(e){let t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw Error("Cannot instantiate contributions before being initialized!");try{let e=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,e),"function"==typeof e.restoreViewState&&0!==t.instantiation&&console.warn(`Editor contribution '${t.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(e){(0,xZ.dL)(e)}}}}class li{constructor(e,t,s,x,E,a,r){this.id=e,this.label=t,this.alias=s,this.metadata=x,this._precondition=E,this._run=a,this._contextKeyService=r}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}var ln=x(74635),l_=x(64245);class lc{static create(e){return new lc(e.get(135),e.get(134))}constructor(e,t){this.classifier=new lT(e,t)}createLineBreaksComputer(e,t,s,x,E){let a=[],r=[],i=[];return{addRequest:(e,t,s)=>{a.push(e),r.push(t),i.push(s)},finalize:()=>{let n=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,_=[];for(let e=0,T=a.length;e<T;e++){let T=r[e],S=i[e];!S||S.injectionOptions||T?_[e]=function(e,t,s,x,E,a,r,i){let n,_;let T=ls.gk.applyInjectedText(t,s);if(s&&s.length>0?(n=s.map(e=>e.options),_=s.map(e=>e.column-1)):(n=null,_=null),-1===E)return n?new C8(_,n,[T.length],[],0):null;let S=T.length;if(S<=1)return n?new C8(_,n,[T.length],[],0):null;let R="keepAll"===i,O=lN(T,x,E,a,r),A=E-O,N=[],o=[],I=0,L=0,h=0,C=E,l=T.charCodeAt(0),u=e.get(l),D=lO(l,0,x,a),M=1;xg.ZG(l)&&(D+=1,l=T.charCodeAt(1),u=e.get(l),M++);for(let t=M;t<S;t++){let s,E;let r=t,i=T.charCodeAt(t);xg.ZG(i)?(t++,s=0,E=2):(s=e.get(i),E=lO(i,D,x,a)),lA(l,u,i,s,R)&&(L=r,h=D),(D+=E)>C&&((0===L||D-h>A)&&(L=r,h=D-E),N[I]=L,o[I]=h,I++,C=h+A,L=0),l=i,u=s}return 0!==I||s&&0!==s.length?(N[I]=S,o[I]=D,new C8(_,n,N,o,O)):null}(this.classifier,a[e],T,t,s,n,x,E):_[e]=function(e,t,s,x,E,a,r,i){if(-1===E)return null;let n=s.length;if(n<=1)return null;let _="keepAll"===i,T=t.breakOffsets,S=t.breakOffsetsVisibleColumn,R=lN(s,x,E,a,r),O=E-R,A=lS,N=lR,o=0,I=0,L=0,h=E,C=T.length,l=0;{let e=Math.abs(S[l]-h);for(;l+1<C;){let t=Math.abs(S[l+1]-h);if(t>=e)break;e=t,l++}}for(;l<C;){let t=l<0?0:T[l],E=l<0?0:S[l];I>t&&(t=I,E=L);let r=0,i=0,R=0,u=0;if(E<=h){let L=E,C=0===t?0:s.charCodeAt(t-1),l=0===t?0:e.get(C),D=!0;for(let E=t;E<n;E++){let t,n;let T=E,S=s.charCodeAt(E);if(xg.ZG(S)?(E++,t=0,n=2):(t=e.get(S),n=lO(S,L,x,a)),T>I&&lA(C,l,S,t,_)&&(r=T,i=L),(L+=n)>h){T>I?(R=T,u=L-n):(R=E+1,u=L),L-i>O&&(r=0),D=!1;break}C=S,l=t}if(D){o>0&&(A[o]=T[T.length-1],N[o]=S[T.length-1],o++);break}}if(0===r){let n=E,T=s.charCodeAt(t),S=e.get(T),A=!1;for(let x=t-1;x>=I;x--){let t,E;let N=x+1,o=s.charCodeAt(x);if(9===o){A=!0;break}if(xg.YK(o)?(x--,t=0,E=2):(t=e.get(o),E=xg.K7(o)?a:1),n<=h){if(0===R&&(R=N,u=n),n<=h-O)break;if(lA(o,t,T,S,_)){r=N,i=n;break}}n-=E,T=o,S=t}if(0!==r){let e=O-(u-i);if(e<=x){let t=s.charCodeAt(R);e-(xg.ZG(t)?2:lO(t,u,x,a))<0&&(r=0)}}if(A){l--;continue}}if(0===r&&(r=R,i=u),r<=I){let e=s.charCodeAt(I);xg.ZG(e)?(r=I+2,i=L+2):(r=I+1,i=L+lO(e,L,x,a))}for(I=r,A[o]=r,L=i,N[o]=i,o++,h=i+O;l<0||l<C&&S[l]<i;)l++;let D=Math.abs(S[l]-h);for(;l+1<C;){let e=Math.abs(S[l+1]-h);if(e>=D)break;D=e,l++}}return 0===o?null:(A.length=o,N.length=o,lS=t.breakOffsets,lR=t.breakOffsetsVisibleColumn,t.breakOffsets=A,t.breakOffsetsVisibleColumn=N,t.wrappedTextIndentLength=R,t)}(this.classifier,S,a[e],t,s,n,x,E)}return lS.length=0,lR.length=0,_}}}}class lT extends l_.N{constructor(e,t){super(0);for(let t=0;t<e.length;t++)this.set(e.charCodeAt(t),1);for(let e=0;e<t.length;e++)this.set(t.charCodeAt(e),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let lS=[],lR=[];function lO(e,t,s,x){return 9===e?s-t%s:xg.K7(e)||e<32?x:1}function lA(e,t,s,x,E){return 32!==s&&(2===t&&2!==x||1!==t&&1===x||!E&&3===t&&2!==x||!E&&3===x&&1!==t)}function lN(e,t,s,x,E){let a=0;if(0!==E){let r=xg.LC(e);if(-1!==r){for(let s=0;s<r;s++){let x=9===e.charCodeAt(s)?t-a%t:1;a+=x}let i=3===E?2:2===E?1:0;for(let e=0;e<i;e++){let e=t-a%t;a+=e}a+x>s&&(a=0)}}return a}var lo=x(51083);class lI{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Lk(new r3.e(1,1,1,1),0,0,new cs.L(1,1),0),new Lk(new r3.e(1,1,1,1),0,0,new cs.L(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new LX(this.modelState,this.viewState)}readSelectionFromMarkers(e){let t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?Ln.Y.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):Ln.Y.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,s){this._setState(e,t,s)}static _validatePositionWithCache(e,t,s,x){return t.equals(s)?x:e.normalizePosition(t,2)}static _validateViewState(e,t){let s=t.position,x=t.selectionStart.getStartPosition(),E=t.selectionStart.getEndPosition(),a=e.normalizePosition(s,2),r=this._validatePositionWithCache(e,x,s,a),i=this._validatePositionWithCache(e,E,x,r);return s.equals(a)&&x.equals(r)&&E.equals(i)?t:new Lk(r3.e.fromPositions(r,i),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+x.column-r.column,a,t.leftoverVisibleColumns+s.column-a.column)}_setState(e,t,s){if(s&&(s=lI._validateViewState(e.viewModel,s)),t){let s=e.model.validateRange(t.selectionStart),x=t.selectionStart.equalsRange(s)?t.selectionStartLeftoverVisibleColumns:0,E=e.model.validatePosition(t.position),a=t.position.equals(E)?t.leftoverVisibleColumns:0;t=new Lk(s,t.selectionStartKind,x,E,a)}else{if(!s)return;let x=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(s.selectionStart)),E=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(s.position));t=new Lk(x,s.selectionStartKind,s.selectionStartLeftoverVisibleColumns,E,s.leftoverVisibleColumns)}if(s){let x=e.coordinatesConverter.validateViewRange(s.selectionStart,t.selectionStart),E=e.coordinatesConverter.validateViewPosition(s.position,t.position);s=new Lk(x,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,E,t.leftoverVisibleColumns)}else{let x=e.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),E=e.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),a=new r3.e(x.lineNumber,x.column,E.lineNumber,E.column),r=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);s=new Lk(a,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,r,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=s,this._updateTrackedRange(e)}}class lL{constructor(e){this.context=e,this.cursors=[new lI(e)],this.lastAddedCursorIndex=0}dispose(){for(let e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(let e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(let e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(let e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return(0,lo.vm)(this.cursors,(0,sD.tT)(e=>e.viewState.position,cs.L.compare)).viewState.position}getBottomMostViewPosition(){return(0,lo.BS)(this.cursors,(0,sD.tT)(e=>e.viewState.position,cs.L.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(LX.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){null!==e&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){let t=this.cursors.length-1,s=e.length;if(t<s){let e=s-t;for(let t=0;t<e;t++)this._addSecondaryCursor()}else if(t>s){let e=t-s;for(let t=0;t<e;t++)this._removeSecondaryCursor(this.cursors.length-2)}for(let t=0;t<s;t++)this.cursors[t+1].setState(this.context,e[t].modelState,e[t].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new lI(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return 1===this.cursors.length||0===this.lastAddedCursorIndex?0:this.lastAddedCursorIndex}_removeSecondaryCursor(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(1===this.cursors.length)return;let e=this.cursors.slice(0),t=[];for(let s=0,x=e.length;s<x;s++)t.push({index:s,selection:e[s].modelState.selection});t.sort((0,sD.tT)(e=>e.selection,r3.e.compareRangesUsingStarts));for(let s=0;s<t.length-1;s++){let x=t[s],E=t[s+1],a=x.selection,r=E.selection;if(this.context.cursorConfig.multiCursorMergeOverlapping&&(r.isEmpty()||a.isEmpty()?r.getStartPosition().isBeforeOrEqual(a.getEndPosition()):r.getStartPosition().isBefore(a.getEndPosition()))){let a=x.index<E.index?s:s+1,r=x.index<E.index?s+1:s,i=t[r].index,n=t[a].index,_=t[r].selection,T=t[a].selection;if(!_.equalsSelection(T)){let s,x;let E=_.plusRange(T),r=_.selectionStartLineNumber===_.startLineNumber&&_.selectionStartColumn===_.startColumn,S=T.selectionStartLineNumber===T.startLineNumber&&T.selectionStartColumn===T.startColumn;i===this.lastAddedCursorIndex?(s=r,this.lastAddedCursorIndex=n):s=S,x=s?new Ln.Y(E.startLineNumber,E.startColumn,E.endLineNumber,E.endColumn):new Ln.Y(E.endLineNumber,E.endColumn,E.startLineNumber,E.startColumn),t[a].selection=x;let R=LX.fromModelSelection(x);e[n].setState(this.context,R.modelState,R.viewState)}for(let e of t)e.index>i&&e.index--;e.splice(i,1),t.splice(r,1),this._removeSecondaryCursor(i-1),s--}}}}class lh{constructor(e,t,s,x){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=s,this.cursorConfig=x}}class lC{constructor(){this.type=0}}class ll{constructor(){this.type=1}}class lu{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class lD{constructor(e,t,s){this.selections=e,this.modelSelections=t,this.reason=s,this.type=3}}class lM{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}class lP{constructor(){this.type=5}}class lU{constructor(e){this.type=6,this.isFocused=e}}class ld{constructor(){this.type=7}}class lY{constructor(){this.type=8}}class lp{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class lG{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class lB{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class lm{constructor(e,t,s,x,E,a,r){this.source=e,this.minimalReveal=t,this.range=s,this.selections=x,this.verticalType=E,this.revealHorizontal=a,this.scrollType=r,this.type=12}}class lf{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class lg{constructor(e){this.theme=e,this.type=14}}class lF{constructor(e){this.type=15,this.ranges=e}}class lH{constructor(){this.type=16}}class ly{constructor(){this.type=17}}class lV extends xf.JT{constructor(){super(),this._onEvent=this._register(new Ee.Q5),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,s=this._outgoingEvents.length;t<s;t++){let s=this._outgoingEvents[t].kind===e.kind?this._outgoingEvents[t].attemptToMerge(e):null;if(s){this._outgoingEvents[t]=s;return}}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;let e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,s=this._eventHandlers.length;t<s;t++)this._eventHandlers[t]===e&&console.warn("Detected duplicate listener in ViewEventDispatcher",e);this._eventHandlers.push(e)}removeViewEventHandler(e){for(let t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}}beginEmitViewEvents(){return this._collectorCnt++,1===this._collectorCnt&&(this._collector=new lX),this._collector}endEmitViewEvents(){if(this._collectorCnt--,0===this._collectorCnt){let e=this._collector.outgoingEvents,t=this._collector.viewEvents;for(let t of(this._collector=null,e))this._addOutgoingEvent(t);t.length>0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){let e=this._viewEventQueue;for(let t of(this._viewEventQueue=null,this._eventHandlers.slice(0)))t.handleEvents(e)}}}class lX{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class lb{constructor(e,t,s,x){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=s,this.contentHeight=x,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new lb(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class lv{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new lv(this.oldHasFocus,e.hasFocus)}}class lk{constructor(e,t,s,x,E,a,r,i){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=s,this._oldScrollTop=x,this.scrollWidth=E,this.scrollLeft=a,this.scrollHeight=r,this.scrollTop=i,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(e){return e.kind!==this.kind?null:new lk(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class lw{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class lW{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class lK{constructor(e,t,s,x,E,a,r){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=s,this.modelVersionId=x,this.source=E,this.reason=a,this.reachedMaxCursorCount=r}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let s=e.length;if(s!==t.length)return!1;for(let x=0;x<s;x++)if(!e[x].equalsSelection(t[x]))return!1;return!0}isNoOp(){return lK._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(e){return e.kind!==this.kind?null:new lK(this.oldSelections,e.selections,this.oldModelVersionId,e.modelVersionId,e.source,e.reason,this.reachedMaxCursorCount||e.reachedMaxCursorCount)}}class lQ{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class lJ{constructor(e){this.event=e,this.kind=7}isNoOp(){return!1}attemptToMerge(e){return null}}class lZ{constructor(e){this.event=e,this.kind=8}isNoOp(){return!1}attemptToMerge(e){return null}}class lz{constructor(e){this.event=e,this.kind=9}isNoOp(){return!1}attemptToMerge(e){return null}}class lq{constructor(e){this.event=e,this.kind=10}isNoOp(){return!1}attemptToMerge(e){return null}}class lj{constructor(e){this.event=e,this.kind=11}isNoOp(){return!1}attemptToMerge(e){return null}}class l${constructor(e){this.event=e,this.kind=12}isNoOp(){return!1}attemptToMerge(e){return null}}class l0 extends xf.JT{constructor(e,t,s,x){super(),this._model=e,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=t,this._coordinatesConverter=s,this.context=new lh(this._model,this._viewModel,this._coordinatesConverter,x),this._cursors=new lL(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=(0,xf.B9)(this._autoClosedActions),super.dispose()}updateConfiguration(e){this.context=new lh(this._model,this._viewModel,this._coordinatesConverter,e),this._cursors.updateContext(this.context)}onLineMappingChanged(e){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(e,"viewModel",0,this.getCursorStates())}setHasFocus(e){this._hasFocus=e}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let e=this._cursors.getSelections();for(let t=0;t<this._autoClosedActions.length;t++){let s=this._autoClosedActions[t];!s.isValid(e)&&(s.dispose(),this._autoClosedActions.splice(t,1),t--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(e,t,s,x){let E=!1,a=this.context.cursorConfig.multiCursorLimit;null!==x&&x.length>a&&(x=x.slice(0,a),E=!0);let r=l2.from(this._model,this);return this._cursors.setStates(x),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,s,r,E)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,s,x,E,a){let r=this._cursors.getViewPositions(),i=null,n=null;r.length>1?n=this._cursors.getViewSelections():i=r3.e.fromPositions(r[0],r[0]),e.emitViewEvent(new lm(t,s,i,n,x,E,a))}revealPrimary(e,t,s,x,E,a){let r=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new lm(t,s,null,r,x,E,a))}saveState(){let e=[],t=this._cursors.getSelections();for(let s=0,x=t.length;s<x;s++){let x=t[s];e.push({inSelectionMode:!x.isEmpty(),selectionStart:{lineNumber:x.selectionStartLineNumber,column:x.selectionStartColumn},position:{lineNumber:x.positionLineNumber,column:x.positionColumn}})}return e}restoreState(e,t){let s=[];for(let e=0,x=t.length;e<x;e++){let x=t[e],E=1,a=1;x.position&&x.position.lineNumber&&(E=x.position.lineNumber),x.position&&x.position.column&&(a=x.position.column);let r=E,i=a;x.selectionStart&&x.selectionStart.lineNumber&&(r=x.selectionStart.lineNumber),x.selectionStart&&x.selectionStart.column&&(i=x.selectionStart.column),s.push({selectionStartLineNumber:r,selectionStartColumn:i,positionLineNumber:E,positionColumn:a})}this.setStates(e,"restoreState",0,LX.fromModelSelections(s)),this.revealAll(e,"restoreState",!1,0,!0,1)}onModelContentChanged(e,t){if(t instanceof ls.D8){if(!this._isHandling){this._isHandling=!0;try{this.setStates(e,"modelChange",0,this.getCursorStates())}finally{this._isHandling=!1}}}else{let s=t.rawContentChangedEvent;if(this._knownModelVersionId=s.versionId,this._isHandling)return;let x=s.containsEvent(1);if(this._prevEditOperationType=0,x)this._cursors.dispose(),this._cursors=new lL(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,"model",1,null,!1);else if(this._hasFocus&&s.resultingSelection&&s.resultingSelection.length>0){let t=LX.fromModelSelections(s.resultingSelection);this.setStates(e,"modelChange",s.isUndoing?5:s.isRedoing?6:2,t)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{let t=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,LX.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;let e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),s=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:s.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,s)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,s,x){this.setStates(e,t,x,LX.fromModelSelections(s))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){let s=[],x=[];for(let E=0,a=e.length;E<a;E++)s.push({range:e[E],options:{description:"auto-closed-character",inlineClassName:"auto-closed-character",stickiness:1}}),x.push({range:t[E],options:{description:"auto-closed-enclosing",stickiness:1}});let E=this._model.deltaDecorations([],s),a=this._model.deltaDecorations([],x);this._autoClosedActions.push(new l1(this._model,E,a))}_executeEditOperation(e){if(!e)return;e.shouldPushStackElementBefore&&this._model.pushStackElement();let t=l3.executeCommands(this._model,this._cursors.getSelections(),e.commands);if(t){this._interpretCommandResult(t);let s=[],x=[];for(let t=0;t<e.commands.length;t++){let E=e.commands[t];E instanceof hN&&E.enclosingRange&&E.closeCharacterRange&&(s.push(E.closeCharacterRange),x.push(E.enclosingRange))}s.length>0&&this._pushAutoClosedAction(s,x),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,s,x,E){let a=l2.from(this._model,this);if(a.equals(x))return!1;let r=this._cursors.getSelections(),i=this._cursors.getViewSelections();if(e.emitViewEvent(new lD(i,r,s)),!x||x.cursorState.length!==a.cursorState.length||a.cursorState.some((e,t)=>!e.modelState.equals(x.cursorState[t].modelState))){let i=x?x.cursorState.map(e=>e.modelState.selection):null,n=x?x.modelVersionId:0;e.emitOutgoingEvent(new lK(i,r,n,a.modelVersionId,t||"keyboard",s,E))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;let t=[];for(let s=0,x=e.length;s<x;s++){let x=e[s];if(!x.text||x.text.indexOf("\n")>=0)return null;let E=x.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!E)return null;let a=E[1],r=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!r||1!==r.length)return null;let i=r[0].open,n=x.text.length-E[2].length-1,_=x.text.lastIndexOf(i,n-1);if(-1===_)return null;t.push([_,n])}return t}executeEdits(e,t,s,x){let E=null;"snippet"===t&&(E=this._findAutoClosingPairs(s)),E&&(s[0]._isTracked=!0);let a=[],r=[],i=this._model.pushEditOperations(this.getSelections(),s,e=>{if(E)for(let t=0,s=E.length;t<s;t++){let[s,x]=E[t],i=e[t],n=i.range.startLineNumber,_=i.range.startColumn-1+s,T=i.range.startColumn-1+x;a.push(new r3.e(n,T+1,n,T+2)),r.push(new r3.e(n,_+1,n,T+2))}let t=x(e);return t&&(this._isHandling=!0),t});i&&(this._isHandling=!1,this.setSelections(e,t,i,0)),a.length>0&&this._pushAutoClosedAction(a,r)}_executeEdit(e,t,s,x=0){if(this.context.cursorConfig.readOnly)return;let E=l2.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){(0,xZ.dL)(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,s,x,E,!1)&&this.revealAll(t,s,!1,0,!0,0)}getAutoClosedCharacters(){return l1.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new l5(this._model,this.getSelections())}endComposition(e,t){let s=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{"keyboard"===t&&this._executeEditOperation(hd.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,s,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,s){this._executeEdit(()=>{if("keyboard"===s){let e=t.length,s=0;for(;s<e;){let e=xg.vH(t,s),x=t.substr(s,e);this._executeEditOperation(hd.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),x)),s+=e}}else this._executeEditOperation(hd.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t))},e,s)}compositionType(e,t,s,x,E,a){if(0===t.length&&0===s&&0===x){if(0!==E){let t=this.getSelections().map(e=>{let t=e.getPosition();return new Ln.Y(t.lineNumber,t.column+E,t.lineNumber,t.column+E)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(hd.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,s,x,E))},e,a)}paste(e,t,s,x,E){this._executeEdit(()=>{this._executeEditOperation(hd.paste(this.context.cursorConfig,this._model,this.getSelections(),t,s,x||[]))},e,E,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(L$.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,s){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Lw(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,s)}executeCommands(e,t,s){this._executeEdit(()=>{this._executeEditOperation(new Lw(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,s)}}class l2{static from(e,t){return new l2(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,s=this.cursorState.length;t<s;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}}class l1{static getAllAutoClosedCharacters(e){let t=[];for(let s of e)t=t.concat(s.getAutoClosedCharactersRanges());return t}constructor(e,t,s){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=s}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let s=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);s&&e.push(s)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let s=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(s&&(t.push(s),s.startLineNumber!==s.endLineNumber))return!1}t.sort(r3.e.compareRangesUsingStarts),e.sort(r3.e.compareRangesUsingStarts);for(let s=0;s<e.length;s++)if(s>=t.length||!t[s].strictContainsRange(e[s]))return!1;return!0}}class l3{static executeCommands(e,t,s){let x={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},E=this._innerExecuteCommands(x,s);for(let e=0,t=x.trackedRanges.length;e<t;e++)x.model._setTrackedRange(x.trackedRanges[e],null,0);return E}static _innerExecuteCommands(e,t){if(this._arrayIsEmpty(t))return null;let s=this._getEditOperations(e,t);if(0===s.operations.length)return null;let x=s.operations,E=this._getLoserCursorMap(x);if(E.hasOwnProperty("0"))return console.warn("Ignoring commands"),null;let a=[];for(let e=0,t=x.length;e<t;e++)E.hasOwnProperty(x[e].identifier.major.toString())||a.push(x[e]);s.hadTrackedEditOperation&&a.length>0&&(a[0]._isTracked=!0);let r=e.model.pushEditOperations(e.selectionsBefore,a,s=>{let x=[];for(let t=0;t<e.selectionsBefore.length;t++)x[t]=[];for(let e of s)e.identifier&&x[e.identifier.major].push(e);let E=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let s=0;s<e.selectionsBefore.length;s++)x[s].length>0?(x[s].sort(E),a[s]=t[s].computeCursorState(e.model,{getInverseEditOperations:()=>x[s],getTrackedSelection:t=>{let s=parseInt(t,10),x=e.model._getTrackedRange(e.trackedRanges[s]);return 0===e.trackedRangesDirection[s]?new Ln.Y(x.startLineNumber,x.startColumn,x.endLineNumber,x.endColumn):new Ln.Y(x.endLineNumber,x.endColumn,x.startLineNumber,x.startColumn)}})):a[s]=e.selectionsBefore[s];return a});r||(r=e.selectionsBefore);let i=[];for(let e in E)E.hasOwnProperty(e)&&i.push(parseInt(e,10));for(let e of(i.sort((e,t)=>t-e),i))r.splice(e,1);return r}static _arrayIsEmpty(e){for(let t=0,s=e.length;t<s;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let s=[],x=!1;for(let E=0,a=t.length;E<a;E++){let a=t[E];if(a){let t=this._getEditOperationsFromCommand(e,E,a);s=s.concat(t.operations),x=x||t.hadTrackedEditOperation}}return{operations:s,hadTrackedEditOperation:x}}static _getEditOperationsFromCommand(e,t,s){let x=[],E=0,a=(e,a,r=!1)=>{r3.e.isEmpty(e)&&""===a||x.push({identifier:{major:t,minor:E++},range:e,text:a,forceMoveMarkers:r,isAutoWhitespaceEdit:s.insertsAutoWhitespace})},r=!1;try{s.getEditOperations(e.model,{addEditOperation:a,addTrackedEditOperation:(e,t,s)=>{r=!0,a(e,t,s)},trackSelection:(t,s)=>{let x;let E=Ln.Y.liftSelection(t);if(E.isEmpty()){if("boolean"==typeof s)x=s?2:3;else{let t=e.model.getLineMaxColumn(E.startLineNumber);x=E.startColumn===t?2:3}}else x=1;let a=e.trackedRanges.length,r=e.model._setTrackedRange(null,E,x);return e.trackedRanges[a]=r,e.trackedRangesDirection[a]=E.getDirection(),a.toString()}})}catch(e){return(0,xZ.dL)(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:x,hadTrackedEditOperation:r}}static _getLoserCursorMap(e){(e=e.slice(0)).sort((e,t)=>-r3.e.compareRangesUsingEnds(e.range,t.range));let t={};for(let s=1;s<e.length;s++){let x=e[s-1],E=e[s];if(r3.e.getStartPosition(x.range).isBefore(r3.e.getEndPosition(E.range))){let a;t[(a=x.identifier.major>E.identifier.major?x.identifier.major:E.identifier.major).toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<s&&s--,t--);s>0&&s--}}return t}}class l7{constructor(e,t,s){this.text=e,this.startSelection=t,this.endSelection=s}}class l5{static _capture(e,t){let s=[];for(let x of t){if(x.startLineNumber!==x.endLineNumber)return null;s.push(new l7(e.getLineContent(x.startLineNumber),x.startColumn-1,x.endColumn-1))}return s}constructor(e,t){this._original=l5._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;let s=l5._capture(e,t);if(!s||this._original.length!==s.length)return null;let x=[];for(let e=0,t=this._original.length;e<t;e++)x.push(l5._deduceOutcome(this._original[e],s[e]));return x}static _deduceOutcome(e,t){let s=Math.min(e.startSelection,t.startSelection,xg.Mh(e.text,t.text)),x=Math.min(e.text.length-e.endSelection,t.text.length-t.endSelection,xg.P1(e.text,t.text)),E=e.text.substring(s,e.text.length-x),a=t.text.substring(s,t.text.length-x);return new hY(E,e.startSelection-s,e.endSelection-s,a,t.startSelection-s,t.endSelection-s)}}class l4{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;let t=this._inserts,s=this._changes,x=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,s,x)}}class l6{constructor(e,t,s,x,E){this.id=e,this.afterLineNumber=t,this.ordinal=s,this.height=x,this.minWidth=E,this.prefixSum=0}}class l8{static{this.INSTANCE_COUNT=0}constructor(e,t,s,x){this._instanceId=xg.PJ(++l8.INSTANCE_COUNT),this._pendingChanges=new l4,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=e,this._lineHeight=t,this._paddingTop=s,this._paddingBottom=x}static findInsertionIndex(e,t,s){let x=0,E=e.length;for(;x<E;){let a=x+E>>>1;t===e[a].afterLineNumber?s<e[a].ordinal?E=a:x=a+1:t<e[a].afterLineNumber?E=a:x=a+1}return x}setLineHeight(e){this._checkPendingChanges(),this._lineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e){this._checkPendingChanges(),this._lineCount=e}changeWhitespace(e){let t=!1;try{let s={insertWhitespace:(e,s,x,E)=>{t=!0,e|=0,s|=0,x|=0,E|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new l6(a,e,s,x,E)),a},changeOneWhitespace:(e,s,x)=>{t=!0,s|=0,x|=0,this._pendingChanges.change({id:e,newAfterLineNumber:s,newHeight:x})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}};e(s)}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,s){if((e.length>0||s.length>0)&&(this._minWidth=-1),e.length+t.length+s.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of s){let t=this._findWhitespaceIndex(e.id);-1!==t&&this._removeWhitespace(t)}return}let x=new Set;for(let e of s)x.add(e.id);let E=new Map;for(let e of t)E.set(e.id,e);let a=e=>{let t=[];for(let s of e)if(!x.has(s.id)){if(E.has(s.id)){let e=E.get(s.id);s.afterLineNumber=e.newAfterLineNumber,s.height=e.newHeight}t.push(s)}return t},r=a(this._arr).concat(a(e));r.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){let t=l8.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){let t=this._arr;for(let s=0,x=t.length;s<x;s++)if(t[s].id===e)return s;return -1}_changeOneWhitespace(e,t,s){let x=this._findWhitespaceIndex(e);if(-1!==x&&(this._arr[x].height!==s&&(this._arr[x].height=s,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,x-1)),this._arr[x].afterLineNumber!==t)){let e=this._arr[x];this._removeWhitespace(x),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount-=t-e+1;for(let s=0,x=this._arr.length;s<x;s++){let x=this._arr[s].afterLineNumber;e<=x&&x<=t?this._arr[s].afterLineNumber=e-1:x>t&&(this._arr[s].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let s=0,x=this._arr.length;s<x;s++){let x=this._arr[s].afterLineNumber;e<=x&&(this._arr[s].afterLineNumber+=t-e+1)}}getWhitespacesTotalHeight(){return(this._checkPendingChanges(),0===this._arr.length)?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){this._checkPendingChanges(),e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);0===t&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let s=t;s<=e;s++)this._arr[s].prefixSum=this._arr[s-1].prefixSum+this._arr[s].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._checkPendingChanges(),this._lineHeight*this._lineCount+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){this._checkPendingChanges(),e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return -1===t?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,s=0,x=t.length-1;for(;s<=x;){let E=(x-s|0)/2|0,a=s+E|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;s=a+1|0}else x=a-1|0}return -1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return this._checkPendingChanges(),e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){return this._checkPendingChanges(),((e|=0)>1?this._lineHeight*(e-1):0)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){return this._checkPendingChanges(),e|=0,this._lineHeight*e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let e=0;for(let t=0,s=this._arr.length;t<s;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return this._checkPendingChanges(),e>this.getLinesTotalHeight()}isInTopPadding(e){return 0!==this._paddingTop&&(this._checkPendingChanges(),e<this._paddingTop)}isInBottomPadding(e){return 0!==this._paddingBottom&&(this._checkPendingChanges(),e>=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;let t=0|this._lineCount,s=this._lineHeight,x=1,E=t;for(;x<E;){let t=(x+E)/2|0,a=0|this.getVerticalOffsetForLineNumber(t);if(e>=a+s)x=t+1;else{if(e>=a)return t;E=t}}return x>t?t:x}getLinesViewportData(e,t){let s,x;this._checkPendingChanges(),e|=0,t|=0;let E=this._lineHeight,a=0|this.getLineNumberAtOrAfterVerticalOffset(e),r=0|this.getVerticalOffsetForLineNumber(a),i=0|this._lineCount,n=0|this.getFirstWhitespaceIndexAfterLineNumber(a),_=0|this.getWhitespacesCount();-1===n?(n=_,x=i+1,s=0):(x=0|this.getAfterLineNumberForWhitespaceIndex(n),s=0|this.getHeightForWhitespaceIndex(n));let T=r,S=T,R=0;r>=5e5&&(S-=R=Math.floor((R=5e5*Math.floor(r/5e5))/E)*E);let O=[],A=e+(t-e)/2,N=-1;for(let e=a;e<=i;e++){if(-1===N){let t=T,s=T+E;(t<=A&&A<s||t>A)&&(N=e)}for(T+=E,O[e-a]=S,S+=E;x===e;)S+=s,T+=s,++n>=_?x=i+1:(x=0|this.getAfterLineNumberForWhitespaceIndex(n),s=0|this.getHeightForWhitespaceIndex(n));if(T>=t){i=e;break}}-1===N&&(N=i);let o=0|this.getVerticalOffsetForLineNumber(i),I=a,L=i;return I<L&&r<e&&I++,I<L&&o+E>t&&L--,{bigNumbersDelta:R,startLineNumber:a,endLineNumber:i,relativeVerticalOffset:O,centeredLineNumber:N,completelyVisibleStartLineNumber:I,completelyVisibleEndLineNumber:L,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e);return(t>=1?this._lineHeight*t:0)+(e>0?this.getWhitespacesAccumulatedHeight(e-1):0)+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,s=this.getWhitespacesCount()-1;if(s<0)return -1;let x=this.getVerticalOffsetForWhitespaceIndex(s),E=this.getHeightForWhitespaceIndex(s);if(e>=x+E)return -1;for(;t<s;){let x=Math.floor((t+s)/2),E=this.getVerticalOffsetForWhitespaceIndex(x),a=this.getHeightForWhitespaceIndex(x);if(e>=E+a)t=x+1;else{if(e>=E)return x;s=x}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let s=this.getVerticalOffsetForWhitespaceIndex(t);if(s>e)return null;let x=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:s,height:x}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;let s=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),x=this.getWhitespacesCount()-1;if(s<0)return[];let E=[];for(let e=s;e<=x;e++){let s=this.getVerticalOffsetForWhitespaceIndex(e),x=this.getHeightForWhitespaceIndex(e);if(s>=t)break;E.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:s,height:x})}return E}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}}class l9{constructor(e,t,s,x){(e|=0)<0&&(e=0),(t|=0)<0&&(t=0),(s|=0)<0&&(s=0),(x|=0)<0&&(x=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=s,this.contentHeight=x,this.scrollHeight=Math.max(s,x)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class ue extends xf.JT{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new Ee.Q5),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new l9(0,0,0,0),this._scrollable=this._register(new i8({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let s=t.contentWidth!==e.contentWidth,x=t.contentHeight!==e.contentHeight;(s||x)&&this._onDidContentSizeChange.fire(new lb(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class ut extends xf.JT{constructor(e,t,s){super(),this._configuration=e;let x=this._configuration.options,E=x.get(146),a=x.get(84);this._linesLayout=new l8(t,x.get(67),a.top,a.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new ue(0,s)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new l9(E.contentWidth,0,E.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(115)?125:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){let e=t.get(84);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(146)){let e=t.get(146),s=e.contentWidth,x=e.height,E=this._scrollable.getScrollDimensions(),a=E.contentWidth;this._scrollable.setScrollDimensions(new l9(s,E.contentWidth,x,this._getContentHeight(s,x,a)))}else this._updateHeight();e.hasChanged(115)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let s=this._configuration.options.get(104);return 2===s.horizontal||e>=t?0:s.horizontalScrollbarSize}_getContentHeight(e,t,s){let x=this._configuration.options,E=this._linesLayout.getLinesTotalHeight();return x.get(106)?E+=Math.max(0,t-x.get(67)-x.get(84).bottom):x.get(104).ignoreHorizontalScrollbarInContentHeight||(E+=this._getHorizontalScrollbarHeight(e,s)),E}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,s=e.height,x=e.contentWidth;this._scrollable.setScrollDimensions(new l9(t,e.contentWidth,s,this._getContentHeight(t,s,x)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new oj(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new oj(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,s=e.get(147),x=e.get(50),E=e.get(146);if(s.isViewportWrapping){let s=e.get(73);return t>E.contentWidth+x.typicalHalfwidthCharacterWidth&&s.enabled&&"right"===s.side?t+E.verticalScrollbarWidth:t}{let s=e.get(105)*x.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+s+E.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new l9(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,s=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(s),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.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(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){1===t?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let s=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:s.scrollLeft+e,scrollTop:s.scrollTop+t})}}class us{constructor(e,t,s,x,E){this.editorId=e,this.model=t,this.configuration=s,this._linesCollection=x,this._coordinatesConverter=E,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(e){let t=e.id,s=this._decorationsCache[t];if(!s){let x;let E=e.range,a=e.options;if(a.isWholeLine){let e=this._coordinatesConverter.convertModelPositionToViewPosition(new cs.L(E.startLineNumber,1),0,!1,!0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new cs.L(E.endLineNumber,this.model.getLineMaxColumn(E.endLineNumber)),1);x=new r3.e(e.lineNumber,e.column,t.lineNumber,t.column)}else x=this._coordinatesConverter.convertModelRangeToViewRange(E,1);s=new o7(x,a),this._decorationsCache[t]=s}return s}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=null!==this._cachedModelDecorationsResolver;return(t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange))||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,s=!1){let x=new r3.e(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(x,t,s).inlineDecorations[0]}_getDecorationsInRange(e,t,s){let x=this._linesCollection.getDecorationsInRange(e,this.editorId,xn(this.configuration.options),t,s),E=e.startLineNumber,a=e.endLineNumber,r=[],i=0,n=[];for(let e=E;e<=a;e++)n[e-E]=[];for(let e=0,t=x.length;e<t;e++){var _,T;let t=x[e],s=t.options;if(_=this.model,(T=t).options.hideInCommentTokens&&ux(_,T.range,e=>1===e)||T.options.hideInStringTokens&&ux(_,T.range,e=>2===e))continue;let S=this._getOrCreateViewModelDecoration(t),R=S.range;if(r[i++]=S,s.inlineClassName){let e=new o1(R,s.inlineClassName,s.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(E,R.startLineNumber),x=Math.min(a,R.endLineNumber);for(let s=t;s<=x;s++)n[s-E].push(e)}if(s.beforeContentClassName&&E<=R.startLineNumber&&R.startLineNumber<=a){let e=new o1(new r3.e(R.startLineNumber,R.startColumn,R.startLineNumber,R.startColumn),s.beforeContentClassName,1);n[R.startLineNumber-E].push(e)}if(s.afterContentClassName&&E<=R.endLineNumber&&R.endLineNumber<=a){let e=new o1(new r3.e(R.endLineNumber,R.endColumn,R.endLineNumber,R.endColumn),s.afterContentClassName,2);n[R.endLineNumber-E].push(e)}}return{decorations:r,inlineDecorations:n}}}function ux(e,t,s){for(let x=t.startLineNumber;x<=t.endLineNumber;x++){let E=e.tokenization.getLineTokens(x),a=x===t.startLineNumber,r=x===t.endLineNumber,i=a?E.findTokenIndexAtOffset(t.startColumn-1):0;for(;i<E.getCount()&&!(r&&E.getStartOffset(i)>t.endColumn-1);){if(!s(E.getStandardTokenType(i)))return!1;i++}}return!0}function uE(e,t){return null!==e?new ua(e,t):t?ur.INSTANCE:ui.INSTANCE}class ua{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,s){let x;this._assertVisible();let E=s>0?this._projectionData.breakOffsets[s-1]:0,a=this._projectionData.breakOffsets[s];if(null!==this._projectionData.injectionOffsets){let s=this._projectionData.injectionOffsets.map((e,t)=>new ls.gk(0,0,e+1,this._projectionData.injectionOptions[t],0));x=ls.gk.applyInjectedText(e.getLineContent(t),s).substring(E,a)}else x=e.getValueInRange({startLineNumber:t,startColumn:E+1,endLineNumber:t,endColumn:a+1});return s>0&&(x=u_(this._projectionData.wrappedTextIndentLength)+x),x}getViewLineLength(e,t,s){return this._assertVisible(),this._projectionData.getLineLength(s)}getViewLineMinColumn(e,t,s){return this._assertVisible(),this._projectionData.getMinOutputOffset(s)+1}getViewLineMaxColumn(e,t,s){return this._assertVisible(),this._projectionData.getMaxOutputOffset(s)+1}getViewLineData(e,t,s){let x=[];return this.getViewLinesData(e,t,s,1,0,[!0],x),x[0]}getViewLinesData(e,t,s,x,E,a,r){let i;this._assertVisible();let n=this._projectionData,_=n.injectionOffsets,T=n.injectionOptions,S=null;if(_){S=[];let e=0,t=0;for(let s=0;s<n.getOutputLineCount();s++){let x=[];S[s]=x;let E=s>0?n.breakOffsets[s-1]:0,a=n.breakOffsets[s];for(;t<_.length;){let r=T[t].content.length,i=_[t]+e,S=i+r;if(i>a)break;if(E<S){let e=T[t];if(e.inlineClassName){let t=s>0?n.wrappedTextIndentLength:0,r=t+Math.max(i-E,0),_=t+Math.min(S-E,a-E);r!==_&&x.push(new o3(r,_,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(S<=a)e+=r,t++;else break}}}i=_?e.tokenization.getLineTokens(t).withInserted(_.map((e,t)=>({offset:e,text:T[t].content,tokenMetadata:_P.A.defaultTokenMetadata}))):e.tokenization.getLineTokens(t);for(let e=s;e<s+x;e++){let t=E+e-s;if(!a[t]){r[t]=null;continue}r[t]=this._getViewLineData(i,S?S[e]:null,e)}}_getViewLineData(e,t,s){this._assertVisible();let x=this._projectionData,E=s>0?x.wrappedTextIndentLength:0,a=s>0?x.breakOffsets[s-1]:0,r=x.breakOffsets[s],i=e.sliceAndInflate(a,r,E),n=i.getLineContent();s>0&&(n=u_(x.wrappedTextIndentLength)+n);let _=this._projectionData.getMinOutputOffset(s)+1,T=n.length+1;return new o0(n,s+1<this.getViewLineCount(),_,T,0===s?0:x.breakOffsetsVisibleColumn[s-1],i,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,s=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,s).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,s){let x=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,s).toPosition(x)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error("Not supported")}}class ur{static{this.INSTANCE=new ur}constructor(){}isVisible(){return!0}setVisible(e){return e?this:ui.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,s){return e.getLineContent(t)}getViewLineLength(e,t,s){return e.getLineLength(t)}getViewLineMinColumn(e,t,s){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,s){return e.getLineMaxColumn(t)}getViewLineData(e,t,s){let x=e.tokenization.getLineTokens(t),E=x.getLineContent();return new o0(E,!1,1,E.length+1,0,x.inflate(),null)}getViewLinesData(e,t,s,x,E,a,r){if(!a[E]){r[E]=null;return}r[E]=this.getViewLineData(e,t,0)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new cs.L(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,s){return t}getInjectedTextAt(e,t){return null}}class ui{static{this.INSTANCE=new ui}constructor(){}isVisible(){return!1}setVisible(e){return e?ur.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,s){throw Error("Not supported")}getViewLineLength(e,t,s){throw Error("Not supported")}getViewLineMinColumn(e,t,s){throw Error("Not supported")}getViewLineMaxColumn(e,t,s){throw Error("Not supported")}getViewLineData(e,t,s){throw Error("Not supported")}getViewLinesData(e,t,s,x,E,a,r){throw Error("Not supported")}getModelColumnOfViewPosition(e,t){throw Error("Not supported")}getViewPositionOfModelPosition(e,t){throw Error("Not supported")}getViewLineNumberOfModelPosition(e,t){throw Error("Not supported")}normalizePosition(e,t,s){throw Error("Not supported")}getInjectedTextAt(e,t){throw Error("Not supported")}}let un=[""];function u_(e){if(e>=un.length)for(let t=1;t<=e;t++)un[t]=Array(t+1).join(" ");return un[e]}var uc=x(52610);class uT{constructor(e,t,s,x,E,a,r,i,n,_){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=s,this._monospaceLineBreaksComputerFactory=x,this.fontInfo=E,this.tabSize=a,this.wrappingStrategy=r,this.wrappingColumn=i,this.wrappingIndent=n,this.wordBreak=_,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new uO(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let s=this.model.getLinesContent(),x=this.model.getInjectedTextDecorations(this._editorId),E=s.length,a=this.createLineBreaksComputer(),r=new sD.H9(ls.gk.fromDecorations(x));for(let e=0;e<E;e++){let x=r.takeWhile(t=>t.lineNumber===e+1);a.addRequest(s[e],x,t?t[e]:null)}let i=a.finalize(),n=[],_=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(r3.e.compareRangesUsingStarts),T=1,S=0,R=-1,O=0<_.length?S+1:E+2;for(let e=0;e<E;e++){let t=e+1;t===O&&(T=_[++R].startLineNumber,S=_[R].endLineNumber,O=R+1<_.length?S+1:E+2);let s=t>=T&&t<=S,x=uE(i[e],!s);n[e]=x.getViewLineCount(),this.modelLineProjections[e]=x}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new uc.Ck(n)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=function(e){if(0===e.length)return[];let t=e.slice();t.sort(r3.e.compareRangesUsingStarts);let s=[],x=t[0].startLineNumber,E=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>E+1?(s.push(new r3.e(x,1,E,1)),x=a.startLineNumber,E=a.endLineNumber):a.endLineNumber>E&&(E=a.endLineNumber)}return s.push(new r3.e(x,1,E,1)),s}(e.map(e=>this.model.validateRange(e))),s=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(r3.e.compareRangesUsingStarts);if(t.length===s.length){let e=!1;for(let x=0;x<t.length;x++)if(!t[x].equalsRange(s[x])){e=!0;break}if(!e)return!1}let x=t.map(e=>({range:e,options:ln.qx.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,x);let E=1,a=0,r=-1,i=0<t.length?a+1:this.modelLineProjections.length+2,n=!1;for(let e=0;e<this.modelLineProjections.length;e++){let s=e+1;s===i&&(E=t[++r].startLineNumber,a=t[r].endLineNumber,i=r+1<t.length?a+1:this.modelLineProjections.length+2);let x=!1;if(s>=E&&s<=a?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),x=!0):(n=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),x=!0)),x){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return n||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return!(e<1)&&!(e>this.modelLineProjections.length)&&this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,s,x,E){let a=this.fontInfo.equals(e),r=this.wrappingStrategy===t,i=this.wrappingColumn===s,n=this.wrappingIndent===x,_=this.wordBreak===E;if(a&&r&&i&&n&&_)return!1;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=s,this.wrappingIndent=x,this.wordBreak=E;let T=null;if(a&&r&&!i&&n&&_){T=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)T[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,T),!0}createLineBreaksComputer(){return("advanced"===this.wrappingStrategy?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,s){if(!e||e<=this._validModelVersionId)return null;let x=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,E=this.projectedModelLineLineCounts.getPrefixSum(s);return this.modelLineProjections.splice(t-1,s-t+1),this.projectedModelLineLineCounts.removeValues(t-1,s-t+1),new lG(x,E)}onModelLinesInserted(e,t,s,x){if(!e||e<=this._validModelVersionId)return null;let E=t>2&&!this.modelLineProjections[t-2].isVisible(),a=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,r=0,i=[],n=[];for(let e=0,t=x.length;e<t;e++){let t=uE(x[e],!E);i.push(t);let s=t.getViewLineCount();r+=s,n[e]=s}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(i).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,n),new lB(a,a+r-1)}onModelLineChanged(e,t,s){if(null!==e&&e<=this._validModelVersionId)return[!1,null,null,null];let x=t-1,E=this.modelLineProjections[x].getViewLineCount(),a=uE(s,this.modelLineProjections[x].isVisible());this.modelLineProjections[x]=a;let r=this.modelLineProjections[x].getViewLineCount(),i=!1,n=0,_=-1,T=0,S=-1,R=0,O=-1;return E>r?(O=(R=(_=(n=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1)+r-1)+1)+(E-r)-1,i=!0):E<r?(S=(T=(_=(n=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1)+E-1)+1)+(r-E)-1,i=!0):_=(n=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1)+r-1,this.projectedModelLineLineCounts.setValue(x,r),[i,n<=_?new lp(n,_-n+1):null,T<=S?new lB(T,S):null,R<=O?new lG(R,O):null]}acceptVersionId(e){this._validModelVersionId=e,1!==this.modelLineProjections.length||this.modelLineProjections[0].isVisible()||this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:0|e}getActiveIndentGuide(e,t,s){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),s=this._toValidViewLineNumber(s);let x=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),E=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(s,this.getViewLineMinColumn(s)),r=this.model.guides.getActiveIndentGuide(x.lineNumber,E.lineNumber,a.lineNumber),i=this.convertModelPositionToViewPosition(r.startLineNumber,1),n=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:i.lineNumber,endLineNumber:n.lineNumber,indent:r.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1);return new uS(t.index+1,t.remainder)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],s=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),x=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,s);return new cs.L(e.modelLineNumber,x)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],s=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),x=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,s);return new cs.L(e.modelLineNumber,x)}getViewLineInfosGroupedByModelRanges(e,t){let s=this.getViewLineInfo(e),x=this.getViewLineInfo(t),E=[],a=this.getModelStartPositionOfViewLine(s),r=[];for(let e=s.modelLineNumber;e<=x.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let E=e===s.modelLineNumber?s.modelLineWrappedLineIdx:0,a=e===x.modelLineNumber?x.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=E;t<a;t++)r.push(new uS(e,t))}if(!t.isVisible()&&a){let t=new cs.L(e-1,this.model.getLineMaxColumn(e-1)+1),s=r3.e.fromPositions(a,t);E.push(new uR(s,r)),r=[],a=null}else t.isVisible()&&!a&&(a=new cs.L(e,1))}if(a){let e=r3.e.fromPositions(a,this.getModelEndPositionOfViewLine(x));E.push(new uR(e,r))}return E}getViewLinesBracketGuides(e,t,s,x){let E=s?this.convertViewPositionToModelPosition(s.lineNumber,s.column):null,a=[];for(let s of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=s.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,s.modelRange.endLineNumber,E,x);for(let x of s.viewLines){let s=t[x.modelLineNumber-e].map(e=>{if(-1!==e.forWrappedLinesAfterColumn&&this.modelLineProjections[x.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=x.modelLineWrappedLineIdx||-1!==e.forWrappedLinesBeforeOrAtColumn&&this.modelLineProjections[x.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<x.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(-1!==e.column){let s=this.modelLineProjections[x.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(s.lineNumber===x.modelLineWrappedLineIdx)t=s.column;else if(s.lineNumber<x.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(x);else if(s.lineNumber>x.modelLineWrappedLineIdx)return}let s=this.convertModelPositionToViewPosition(x.modelLineNumber,e.horizontalLine.endColumn),E=this.modelLineProjections[x.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return E.lineNumber===x.modelLineWrappedLineIdx?new Cx.UO(e.visibleColumn,t,e.className,new Cx.vW(e.horizontalLine.top,s.column),-1,-1):E.lineNumber<x.modelLineWrappedLineIdx?void 0:-1===e.visibleColumn?new Cx.UO(e.visibleColumn,t,e.className,new Cx.vW(e.horizontalLine.top,this.getMaxColumnOfViewLine(x)),-1,-1):void 0});a.push(s.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let s=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),x=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),E=[],a=[],r=[],i=s.lineNumber-1,n=x.lineNumber-1,_=null;for(let e=i;e<=n;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let x=t.getViewLineNumberOfModelPosition(0,e===i?s.column:1),E=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),n=E-x+1,T=0;n>1&&1===t.getViewLineMinColumn(this.model,e+1,E)&&(T=0===x?1:2),a.push(n),r.push(T),null===_&&(_=new cs.L(e+1,0))}else null!==_&&(E=E.concat(this.model.guides.getLinesIndentGuides(_.lineNumber,e)),_=null)}null!==_&&(E=E.concat(this.model.guides.getLinesIndentGuides(_.lineNumber,x.lineNumber)),_=null);let T=t-e+1,S=Array(T),R=0;for(let e=0,t=E.length;e<t;e++){let t,s=E[e],x=Math.min(T-R,a[e]),i=r[e];t=2===i?0:1===i?1:x;for(let e=0;e<x;e++)e===t&&(s=0),S[R++]=s}return S}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLinesData(e,t,s){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let x=this.projectedModelLineLineCounts.getIndexOf(e-1),E=e,a=x.index,r=x.remainder,i=[];for(let x=a,n=this.model.getLineCount();x<n;x++){let n=this.modelLineProjections[x];if(!n.isVisible())continue;let _=x===a?r:0,T=n.getViewLineCount()-_,S=!1;if(E+T>t&&(S=!0,T=t-E+1),n.getViewLinesData(this.model,x+1,_,T,E-e,s,i),E+=T,S)break}return i}validateViewPosition(e,t,s){e=this._toValidViewLineNumber(e);let x=this.projectedModelLineLineCounts.getIndexOf(e-1),E=x.index,a=x.remainder,r=this.modelLineProjections[E],i=r.getViewLineMinColumn(this.model,E+1,a),n=r.getViewLineMaxColumn(this.model,E+1,a);t<i&&(t=i),t>n&&(t=n);let _=r.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new cs.L(E+1,_)).equals(s)?new cs.L(e,t):this.convertModelPositionToViewPosition(s.lineNumber,s.column)}validateViewRange(e,t){let s=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),x=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new r3.e(s.lineNumber,s.column,x.lineNumber,x.column)}convertViewPositionToModelPosition(e,t){let s=this.getViewLineInfo(e),x=this.modelLineProjections[s.modelLineNumber-1].getModelColumnOfViewPosition(s.modelLineWrappedLineIdx,t);return this.model.validatePosition(new cs.L(s.modelLineNumber,x))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new r3.e(t.lineNumber,t.column,s.lineNumber,s.column)}convertModelPositionToViewPosition(e,t,s=2,x=!1,E=!1){let a=this.model.validatePosition(new cs.L(e,t)),r=a.lineNumber,i=a.column,n=r-1,_=!1;if(E)for(;n<this.modelLineProjections.length&&!this.modelLineProjections[n].isVisible();)n++,_=!0;else for(;n>0&&!this.modelLineProjections[n].isVisible();)n--,_=!0;if(0===n&&!this.modelLineProjections[n].isVisible())return new cs.L(x?0:1,1);let T=1+this.projectedModelLineLineCounts.getPrefixSum(n);return _?E?this.modelLineProjections[n].getViewPositionOfModelPosition(T,1,s):this.modelLineProjections[n].getViewPositionOfModelPosition(T,this.model.getLineMaxColumn(n+1),s):this.modelLineProjections[r-1].getViewPositionOfModelPosition(T,i,s)}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let s=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return r3.e.fromPositions(s)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),s=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new r3.e(t.lineNumber,t.column,s.lineNumber,s.column)}}getViewLineNumberOfModelPosition(e,t){let s=e-1;if(this.modelLineProjections[s].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(s);return this.modelLineProjections[s].getViewLineNumberOfModelPosition(e,t)}for(;s>0&&!this.modelLineProjections[s].isVisible();)s--;if(0===s&&!this.modelLineProjections[s].isVisible())return 1;let x=1+this.projectedModelLineLineCounts.getPrefixSum(s);return this.modelLineProjections[s].getViewLineNumberOfModelPosition(x,this.model.getLineMaxColumn(s+1))}getDecorationsInRange(e,t,s,x,E){let a=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),r=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(r.lineNumber-a.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new r3.e(a.lineNumber,1,r.lineNumber,r.column),t,s,x,E);let i=[],n=a.lineNumber-1,_=r.lineNumber-1,T=null;for(let e=n;e<=_;e++)if(this.modelLineProjections[e].isVisible())null===T&&(T=new cs.L(e+1,e===n?a.column:1));else if(null!==T){let E=this.model.getLineMaxColumn(e);i=i.concat(this.model.getDecorationsInRange(new r3.e(T.lineNumber,T.column,e,E),t,s,x)),T=null}null!==T&&(i=i.concat(this.model.getDecorationsInRange(new r3.e(T.lineNumber,T.column,r.lineNumber,r.column),t,s,x)),T=null),i.sort((e,t)=>{let s=r3.e.compareRangesUsingStarts(e.range,t.range);return 0===s?e.id<t.id?-1:e.id>t.id?1:0:s});let S=[],R=0,O=null;for(let e of i){let t=e.id;O!==t&&(O=t,S[R++]=e)}return S}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let s=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[s.modelLineNumber-1].normalizePosition(s.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return 0===t.modelLineWrappedLineIdx?this.model.getLineIndentColumn(t.modelLineNumber):0}}class uS{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class uR{constructor(e,t){this.modelRange=e,this.viewLines=t}}class uO{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,s,x){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,s,x)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class uA{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new uN(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,s,x){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,s,x)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,s){return new lG(t,s)}onModelLinesInserted(e,t,s,x){return new lB(t,s)}onModelLineChanged(e,t,s){return[!1,new lp(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,s){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,s){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let s=t-e+1,x=Array(s);for(let e=0;e<s;e++)x[e]=0;return x}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),s=t.getLineContent();return new o0(s,!1,1,s.length+1,0,t.inflate(),null)}getViewLinesData(e,t,s){let x=this.model.getLineCount();e=Math.min(Math.max(1,e),x),t=Math.min(Math.max(1,t),x);let E=[];for(let x=e;x<=t;x++){let t=x-e;E[t]=s[t]?this.getViewLineData(x):null}return E}getDecorationsInRange(e,t,s,x,E){return this.model.getDecorationsInRange(e,t,s,x,E)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}}class uN{constructor(e){this._lines=e}_validPosition(e){return this._lines.model.validatePosition(e)}_validRange(e){return this._lines.model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._lines.model.getLineCount();return!(e.lineNumber<1)&&!(e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}let uo=of.U.Right;class uI{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*uo/8))}reset(e){let t=Math.ceil((e+1)*uo/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,s){s&&(this.persist|=1<<e-1);for(let s=t.startLineNumber;s<=t.endLineNumber;s++){let t=uo*s+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(s))}}getLanesAtLine(e){let t=[],s=uo*e;for(let e=0;e<uo;e++)(this.persist&1<<e||this.lanes[s>>>3]&1<<s%8)&&t.push(e+1),s++;return t.length?t:[of.U.Center]}countAtLine(e){let t=uo*e,s=0;for(let e=0;e<uo;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&s++,t++;return s}}class uL extends xf.JT{constructor(e,t,s,x,E,a,r,i,n,_){if(super(),this.languageConfigurationService=r,this._themeService=i,this._attachedView=n,this._transactionalTarget=_,this.hiddenAreasModel=new ul,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=s,this._eventDispatcher=new lV,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new x9.pY(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=uh.create(this.model),this.glyphLanes=new uI(0),this.model.isTooLargeForTokenization())this._lines=new uA(this.model);else{let e=this._configuration.options,t=e.get(50),s=e.get(140),a=e.get(147),r=e.get(139),i=e.get(130);this._lines=new uT(this._editorId,this.model,x,E,t,this.model.getOptions().tabSize,s,a.wrappingColumn,r,i)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new l0(s,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new ut(this._configuration,this.getLineCount(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new lf(e)),this._eventDispatcher.emitOutgoingEvent(new lk(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new us(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(CO.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new lH)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new lg(e))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new r3.e(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new lU(e)),this._eventDispatcher.emitOutgoingEvent(new lv(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new lC)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new ll)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new cs.L(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new uD(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new uD(null,0)}_onConfigurationChanged(e,t){let s=this._captureStableViewport(),x=this._configuration.options,E=x.get(50),a=x.get(140),r=x.get(147),i=x.get(139),n=x.get(130);this._lines.setWrappingSettings(E,a,r.wrappingColumn,i,n)&&(e.emitViewEvent(new lP),e.emitViewEvent(new lY),e.emitViewEvent(new lM(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(92)&&(this._decorations.reset(),e.emitViewEvent(new lM(null))),t.hasChanged(99)&&(this._decorations.reset(),e.emitViewEvent(new lM(null))),e.emitViewEvent(new lu(t)),this.viewLayout.onConfigurationChanged(t),s.recoverViewportStart(this.coordinatesConverter,this.viewLayout),LV.shouldRecreate(t)&&(this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents(),s=!1,x=!1,E=e instanceof ls.fV?e.rawContentChangedEvent.changes:e.changes,a=e instanceof ls.fV?e.rawContentChangedEvent.versionId:null,r=this._lines.createLineBreaksComputer();for(let e of E)switch(e.changeType){case 4:for(let t=0;t<e.detail.length;t++){let s=e.detail[t],x=e.injectedTexts[t];x&&(x=x.filter(e=>!e.ownerId||e.ownerId===this._editorId)),r.addRequest(s,x,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter(e=>!e.ownerId||e.ownerId===this._editorId)),r.addRequest(e.detail,t,null)}}let i=r.finalize(),n=new sD.H9(i);for(let e of E)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new lP),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),s=!0;break;case 3:{let x=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);null!==x&&(t.emitViewEvent(x),this.viewLayout.onLinesDeleted(x.fromLineNumber,x.toLineNumber)),s=!0;break}case 4:{let x=n.takeCount(e.detail.length),E=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,x);null!==E&&(t.emitViewEvent(E),this.viewLayout.onLinesInserted(E.fromLineNumber,E.toLineNumber)),s=!0;break}case 2:{let s=n.dequeue(),[E,r,i,_]=this._lines.onModelLineChanged(a,e.lineNumber,s);x=E,r&&t.emitViewEvent(r),i&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber)),_&&(t.emitViewEvent(_),this.viewLayout.onLinesDeleted(_.fromLineNumber,_.toLineNumber))}}null!==a&&this._lines.acceptVersionId(a),this.viewLayout.onHeightMaybeChanged(),!s&&x&&(t.emitViewEvent(new lY),t.emitViewEvent(new lM(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),s=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:s+this._viewportStart.startLineDelta},1)}}try{let t=this._eventDispatcher.beginEmitViewEvents();e instanceof ls.fV&&t.emitOutgoingEvent(new lq(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let s=0,x=e.ranges.length;s<x;s++){let x=e.ranges[s],E=this.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(x.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(x.toLineNumber,this.model.getLineMaxColumn(x.toLineNumber))).lineNumber;t[s]={fromLineNumber:E,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new lF(t)),this._eventDispatcher.emitOutgoingEvent(new l$(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new ld),this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new lz(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new lZ(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new lP),e.emitViewEvent(new lY),e.emitViewEvent(new lM(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new LV(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new lj(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new lM(e)),this._eventDispatcher.emitOutgoingEvent(new lJ(e))}))}setHiddenAreas(e,t){this.hiddenAreasModel.setHiddenAreas(t,e);let s=this.hiddenAreasModel.getMergedRanges();if(s===this.previousHiddenAreas)return;this.previousHiddenAreas=s;let x=this._captureStableViewport(),E=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();(E=this._lines.setHiddenAreas(s))&&(e.emitViewEvent(new lP),e.emitViewEvent(new lY),e.emitViewEvent(new lM(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());let t=x.viewportStartModelPosition?.lineNumber;t&&s.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||x.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),E&&this._eventDispatcher.emitOutgoingEvent(new lW)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(146),t=this._configuration.options.get(67),s=Math.max(20,Math.round(e.height/t)),x=this.viewLayout.getLinesViewportData(),E=Math.max(1,x.completelyVisibleStartLineNumber-s),a=Math.min(this.getLineCount(),x.completelyVisibleEndLineNumber+s);return this._toModelVisibleRanges(new r3.e(E,this.getLineMinColumn(E),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),s=this._lines.getHiddenAreas();if(0===s.length)return[t];let x=[],E=0,a=t.startLineNumber,r=t.startColumn,i=t.endLineNumber,n=t.endColumn;for(let e=0,t=s.length;e<t;e++){let t=s[e].startLineNumber,n=s[e].endLineNumber;n<a||t>i||(a<t&&(x[E++]=new r3.e(a,r,t-1,this.model.getLineMaxColumn(t-1))),a=n+1,r=1)}return(a<i||a===i&&r<n)&&(x[E++]=new r3.e(a,r,i,n)),x}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,s=e.completelyVisibleEndLineNumber;return new r3.e(t,this.getLineMinColumn(t),s,this.getLineMaxColumn(s))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),s=t.completelyVisibleStartLineNumber,x=t.completelyVisibleEndLineNumber;return new r3.e(s,this.getLineMinColumn(s),x,this.getLineMaxColumn(x))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,s=this.viewLayout.getLineNumberAtVerticalOffset(t),x=this.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(s,this.getLineMinColumn(s))),E=this.viewLayout.getVerticalOffsetForLineNumber(s)-t;return{scrollLeft:e.scrollLeft,firstPosition:x,firstPositionDeltaTop:E}}reduceRestoreState(e){if(void 0===e.firstPosition)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),s=this.coordinatesConverter.convertModelPositionToViewPosition(t),x=this.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:x}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,s){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,s){return this._lines.getActiveIndentGuide(e,t,s)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,s,x){return this._lines.getViewLinesBracketGuides(e,t,s,x)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=xg.LC(this.getLineContent(e));return -1===t?0:t+1}getLineLastNonWhitespaceColumn(e){let t=xg.ow(this.getLineContent(e));return -1===t?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewportViewLineRenderingData(e,t){let s=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return this._getViewLineRenderingData(t,s)}getViewLineRenderingData(e){let t=this._decorations.getInlineDecorationsOnLine(e);return this._getViewLineRenderingData(e,t)}_getViewLineRenderingData(e,t){let s=this.model.mightContainRTL(),x=this.model.mightContainNonBasicASCII(),E=this.getTabSize(),a=this._lines.getViewLineData(e);return a.inlineDecorations&&(t=[...t,...a.inlineDecorations.map(t=>t.toInlineDecoration(e))]),new o2(a.minColumn,a.maxColumn,a.content,a.continuesWithWrappedLine,s,x,a.tokens,t,E,a.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,s){let x=this._lines.getViewLinesData(e,t,s);return new o$(this.getTabSize(),x)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,xn(this._configuration.options)),s=new uC;for(let x of t){let t=x.options,E=t.overviewRuler;if(!E)continue;let a=E.position;if(0===a)continue;let r=E.getColor(e.value),i=this.coordinatesConverter.getViewLineNumberOfModelPosition(x.range.startLineNumber,x.range.startColumn),n=this.coordinatesConverter.getViewLineNumberOfModelPosition(x.range.endLineNumber,x.range.endColumn);s.accept(r,t.zIndex,i,n,a)}return s.asArray}_invalidateDecorationsColorCache(){for(let e of this.model.getOverviewRulerDecorations()){let t=e.options.overviewRuler;t?.invalidateCachedColor();let s=e.options.minimap;s?.invalidateCachedColor()}}getValueInRange(e,t){let s=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(s,t)}getValueLengthInRange(e,t){let s=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(s,t)}modifyPosition(e,t){let s=this.coordinatesConverter.convertViewPositionToModelPosition(e),x=this.model.modifyPosition(s,t);return this.coordinatesConverter.convertModelPositionToViewPosition(x)}deduceModelPositionRelativeToViewPosition(e,t,s){let x=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=s:t+=s);let E=this.model.getOffsetAt(x)+t;return this.model.getPositionAt(E)}getPlainTextToCopy(e,t,s){let x=s?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(r3.e.compareRangesUsingStarts);let E=!1,a=!1;for(let t of e)t.isEmpty()?E=!0:a=!0;if(!a){if(!t)return"";let s=e.map(e=>e.startLineNumber),E="";for(let e=0;e<s.length;e++)e>0&&s[e-1]===s[e]||(E+=this.model.getLineContent(s[e])+x);return E}if(E&&t){let t=[],x=0;for(let E of e){let e=E.startLineNumber;E.isEmpty()?e!==x&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(E,s?2:0)),x=e}return 1===t.length?t[0]:t}let r=[];for(let t of e)t.isEmpty()||r.push(this.model.getValueInRange(t,s?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(e,t){let s;let x=this.model.getLanguageId();if(x===_M.bd||1!==e.length)return null;let E=e[0];if(E.isEmpty()){if(!t)return null;let e=E.startLineNumber;E=new r3.e(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}let a=this._configuration.options.get(50),r=this._getColorMap();return/[:;\\\/<>]/.test(a.fontFamily)||a.fontFamily===xd.fontFamily?s=xd.fontFamily:(s=(s=a.fontFamily).replace(/"/g,"'"),!/[,']/.test(s)&&/[+ ]/.test(s)&&(s=`'${s}'`),s=`${s}, ${xd.fontFamily}`),{mode:x,html:`<div style="color: ${r[1]};background-color: ${r[2]};font-family: ${s};font-weight: ${a.fontWeight};font-size: ${a.fontSize}px;line-height: ${a.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(E,r)+"</div>"}}_getHTMLToCopy(e,t){let s=e.startLineNumber,x=e.startColumn,E=e.endLineNumber,a=e.endColumn,r=this.getTabSize(),i="";for(let e=s;e<=E;e++){let n=this.model.tokenization.getLineTokens(e),_=n.getLineContent(),T=e===s?x-1:0,S=e===E?a-1:_.length;""===_?i+="<br>":i+=function(e,t,s,x,E,a,r){let i="<div>",n=x,_=0,T=!0;for(let S=0,R=t.getCount();S<R;S++){let R=t.getEndOffset(S);if(R<=x)continue;let O="";for(;n<R&&n<E;n++){let t=e.charCodeAt(n);switch(t){case 9:{let e=a-(n+_)%a;for(_+=e-1;e>0;)r&&T?(O+="&#160;",T=!1):(O+=" ",T=!0),e--;break}case 60:O+="&lt;",T=!1;break;case 62:O+="&gt;",T=!1;break;case 38:O+="&amp;",T=!1;break;case 0:O+="&#00;",T=!1;break;case 65279:case 8232:case 8233:case 133:O+="�",T=!1;break;case 13:O+="&#8203",T=!1;break;case 32:r&&T?(O+="&#160;",T=!1):(O+=" ",T=!0);break;default:O+=String.fromCharCode(t),T=!1}}if(i+=`<span style="${t.getInlineStyle(S,s)}">${O}</span>`,R>E||n>=E)break}return i+"</div>"}(_,n.inflate(),t,T,S,r,sP.ED)}return i}_getColorMap(){let e=_U.RW.getColorMap(),t=["#000000"];if(e)for(let s=1,x=e.length;s<x;s++)t[s]=cq.Il.Format.CSS.formatHex(e[s]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,s){return this._withViewEventsCollector(x=>this._cursor.setStates(x,e,t,s))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,s=0){this._withViewEventsCollector(x=>this._cursor.setSelections(x,e,t,s))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new lQ);return}this._withViewEventsCollector(e)}executeEdits(e,t,s){this._executeCursorEdit(x=>this._cursor.executeEdits(x,e,t,s))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(s=>this._cursor.type(s,e,t))}compositionType(e,t,s,x,E){this._executeCursorEdit(a=>this._cursor.compositionType(a,e,t,s,x,E))}paste(e,t,s,x){this._executeCursorEdit(E=>this._cursor.paste(E,e,t,s,x))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(s=>this._cursor.executeCommand(s,e,t))}executeCommands(e,t){this._executeCursorEdit(s=>this._cursor.executeCommands(s,e,t))}revealAllCursors(e,t,s=!1){this._withViewEventsCollector(x=>this._cursor.revealAll(x,e,s,0,t,0))}revealPrimaryCursor(e,t,s=!1){this._withViewEventsCollector(x=>this._cursor.revealPrimary(x,e,s,0,t,0))}revealTopMostCursor(e){let t=this._cursor.getTopMostViewPosition(),s=new r3.e(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new lm(e,!1,s,null,0,!0,0)))}revealBottomMostCursor(e){let t=this._cursor.getBottomMostViewPosition(),s=new r3.e(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new lm(e,!1,s,null,0,!0,0)))}revealRange(e,t,s,x,E){this._withViewEventsCollector(a=>a.emitViewEvent(new lm(e,!1,s,null,x,t,E)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new ly),this._eventDispatcher.emitOutgoingEvent(new lw))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>{try{let t=this._eventDispatcher.beginEmitViewEvents();return e(t)}finally{this._eventDispatcher.endEmitViewEvents()}})}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}}class uh{static create(e){let t=e._setTrackedRange(null,new r3.e(1,1,1,1),1);return new uh(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,s,x,E){this._model=e,this._viewLineNumber=t,this._isValid=s,this._modelTrackedRange=x,this._startLineDelta=E}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){let s=e.coordinatesConverter.convertViewPositionToModelPosition(new cs.L(t,e.getLineMinColumn(t))),x=e.model._setTrackedRange(this._modelTrackedRange,new r3.e(s.lineNumber,s.column,s.lineNumber,s.column),1),E=e.viewLayout.getVerticalOffsetForLineNumber(t),a=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=x,this._startLineDelta=a-E}invalidate(){this._isValid=!1}}class uC{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,s,x,E){let a=this._asMap[e];if(a){let e=a.data,t=e[e.length-3],r=e[e.length-1];if(t===E&&r+1>=s){x>r&&(e[e.length-1]=x);return}e.push(E,s,x)}else{let a=new o5(e,t,[E,s,x]);this._asMap[e]=a,this.asArray.push(a)}}}class ul{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){let s=this.hiddenAreas.get(e);s&&uu(s,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;let e=Array.from(this.hiddenAreas.values()).reduce((e,t)=>(function(e,t){let s=[],x=0,E=0;for(;x<e.length&&E<t.length;){let a=e[x],r=t[E];if(a.endLineNumber<r.startLineNumber-1)s.push(e[x++]);else if(r.endLineNumber<a.startLineNumber-1)s.push(t[E++]);else{let e=Math.min(a.startLineNumber,r.startLineNumber),t=Math.max(a.endLineNumber,r.endLineNumber);s.push(new r3.e(e,1,t,1)),x++,E++}}for(;x<e.length;)s.push(e[x++]);for(;E<t.length;)s.push(t[E++]);return s})(e,t),[]);return uu(this.ranges,e)||(this.ranges=e),this.ranges}}function uu(e,t){if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(!e[s].equalsRange(t[s]))return!1;return!0}class uD{constructor(e,t){this.viewportStartModelPosition=e,this.startLineDelta=t}recoverViewportStart(e,t){if(!this.viewportStartModelPosition)return;let s=e.convertModelPositionToViewPosition(this.viewportStartModelPosition),x=t.getVerticalOffsetForLineNumber(s.lineNumber);t.setScrollPosition({scrollTop:x+this.startLineDelta},1)}}var uM=function(e,t){return function(s,x){t(s,x,e)}};let uP=class extends xf.JT{static{ej=this}static{this.dropIntoEditorDecorationOptions=ln.qx.register({description:"workbench-dnd-target",className:"dnd-target"})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(e,t,s,x,E,a,r,i,n,_,T,S){let R;super(),this.languageConfigurationService=T,this._deliveryQueue=(0,Ee.Sp)(),this._contributions=this._register(new lr),this._onDidDispose=this._register(new Ee.Q5),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new uY({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new uY({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new up(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new up(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new up(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new up(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new up(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new up(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new up(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new Ee.Q5({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onBeginUpdate=this._register(new Ee.Q5),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new Ee.Q5),this.onEndUpdate=this._onEndUpdate.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),E.willCreateCodeEditor();let O={...t};for(let t of(this._domElement=e,this._overflowWidgetsDomNode=O.overflowWidgetsDomNode,delete O.overflowWidgetsDomNode,this._id=++uU,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=s.telemetryData,this._configuration=this._register(this._createConfiguration(s.isSimpleWidget||!1,s.contextMenuId??(s.isSimpleWidget?rm.SimpleEditorContext:rm.EditorContext),O,_)),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(146)){let e=t.get(146);this._onDidLayoutChange.fire(e)}})),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=n,this._codeEditorService=E,this._commandService=a,this._themeService=i,this._register(new uG(this,this._contextKeyService)),this._register(new uB(this,this._contextKeyService,S)),this._instantiationService=this._register(x.createChild(new NJ([rP.i6,this._contextKeyService]))),this._modelData=null,this._focusTracker=new um(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},R=Array.isArray(s.contributions)?s.contributions:Z.getEditorContributions(),this._contributions.initialize(this,R,this._instantiationService),Z.getEditorActions())){if(this._actions.has(t.id)){(0,xZ.dL)(Error(`Cannot have two actions with the same id ${t.id}`));continue}let e=new li(t.id,t.label,t.alias,t.metadata,t.precondition??void 0,e=>this._instantiationService.invokeFunction(s=>Promise.resolve(t.runEditorCommand(s,this,e))),this._contextKeyService);this._actions.set(e.id,e)}let A=()=>!this._configuration.options.get(92)&&this._configuration.options.get(36).enabled;this._register(new a$(this._domElement,{onDragOver:e=>{if(!A())return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!A()||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){this._modelData?.view.writeScreenReaderContent(e)}_createConfiguration(e,t,s,x){return new IC(e,t,s,this._domElement,x)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return om.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(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?L0.getWordAtPosition(this._modelData.model,this._configuration.options.get(132),this._configuration.options.get(131),e):null}getValue(e=null){if(!this._modelData)return"";let t=!!e&&!!e.preserveBOM,s=0;return e&&e.lineEnding&&"\n"===e.lineEnding?s=1:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(s=2),this._modelData.model.getValue(s,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){try{if(this._beginUpdate(),null===this._modelData&&null===e||this._modelData&&this._modelData.model===e)return;let t={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:e?.uri||null};this._onWillChangeModel.fire(t);let s=this.hasTextFocus(),x=this._detachModel();this._attachModel(e),s&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(t),this._postDetachModelCleanup(x),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){let t=this._decorationTypeSubtypes[e];for(let s in t)this._removeDecorationType(e+"-"+s)}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(e,t,s,x){let E=e.model.validatePosition({lineNumber:t,column:s}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(E);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(a.lineNumber,x)}getTopForLineNumber(e,t=!1){return this._modelData?ej._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?ej._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,s,x=!1){let E=e.model.validatePosition({lineNumber:t,column:s}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(E);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(a.lineNumber,x)}getBottomForLineNumber(e,t=!1){if(!this._modelData)return -1;let s=this._modelData.model.getLineMaxColumn(e);return ej._getVerticalOffsetAfterPosition(this._modelData,e,s,t)}setHiddenAreas(e,t){this._modelData?.viewModel.setHiddenAreas(e.map(e=>r3.e.lift(e)),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;let t=this._modelData.model.validatePosition(e),s=this._modelData.model.getOptions().tabSize;return I7.i.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,s)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!cs.L.isIPosition(e))throw Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,s,x){if(!this._modelData)return;if(!r3.e.isIRange(e))throw Error("Invalid arguments");let E=this._modelData.model.validateRange(e),a=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(E);this._modelData.viewModel.revealRange("api",s,a,t,x)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,s){if("number"!=typeof e)throw Error("Invalid arguments");this._sendRevealRange(new r3.e(e,1,e,1),t,!1,s)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,s,x){if(!cs.L.isIPosition(e))throw Error("Invalid arguments");this._sendRevealRange(new r3.e(e.lineNumber,e.column,e.lineNumber,e.column),t,s,x)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){let s=Ln.Y.isISelection(e),x=r3.e.isIRange(e);if(!s&&!x)throw Error("Invalid arguments");if(s)this._setSelectionImpl(e,t);else if(x){let s={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(s,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;let s=new Ln.Y(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[s])}revealLines(e,t,s=0){this._revealLines(e,t,0,s)}revealLinesInCenter(e,t,s=0){this._revealLines(e,t,1,s)}revealLinesInCenterIfOutsideViewport(e,t,s=0){this._revealLines(e,t,2,s)}revealLinesNearTop(e,t,s=0){this._revealLines(e,t,5,s)}_revealLines(e,t,s,x){if("number"!=typeof e||"number"!=typeof t)throw Error("Invalid arguments");this._sendRevealRange(new r3.e(e,1,t,1),s,!1,x)}revealRange(e,t=0,s=!1,x=!0){this._revealRange(e,s?1:0,x,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,s,x){if(!r3.e.isIRange(e))throw Error("Invalid arguments");this._sendRevealRange(r3.e.lift(e),t,s,x)}setSelections(e,t="api",s=0){if(this._modelData){if(!e||0===e.length)throw Error("Invalid arguments");for(let t=0,s=e.length;t<s;t++)if(!Ln.Y.isISelection(e[t]))throw Error("Invalid arguments");this._modelData.viewModel.setSelections(t,e,s)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,t=1){if(this._modelData){if("number"!=typeof e)throw Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:e},t)}}setScrollTop(e,t=1){if(this._modelData){if("number"!=typeof e)throw Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:e},t)}}setScrollPosition(e,t=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(e,t)}hasPendingScrollAnimation(){return!!this._modelData&&this._modelData.viewModel.viewLayout.hasPendingScrollAnimation()}saveViewState(){if(!this._modelData)return null;let e=this._contributions.saveViewState();return{cursorState:this._modelData.viewModel.saveCursorState(),viewState:this._modelData.viewModel.saveState(),contributionsState:e}}restoreViewState(e){if(this._modelData&&this._modelData.hasRealView&&e&&e.cursorState&&e.viewState){let t=e.cursorState;Array.isArray(t)?t.length>0&&this._modelData.viewModel.restoreCursorState(t):this._modelData.viewModel.restoreCursorState([t]),this._contributions.restoreViewState(e.contributionsState||{});let s=this._modelData.viewModel.reduceRestoreState(e.viewState);this._modelData.view.restoreState(s)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){return this.getActions().filter(e=>e.isSupported())}getAction(e){return this._actions.get(e)||null}trigger(e,t,s){s=s||{};try{switch(this._beginUpdate(),t){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(e);return;case"type":{let t=s;this._type(e,t.text||"");return}case"replacePreviousChar":{let t=s;this._compositionType(e,t.text||"",t.replaceCharCnt||0,0,0);return}case"compositionType":{let t=s;this._compositionType(e,t.text||"",t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0);return}case"paste":{let t=s;this._paste(e,t.text||"",t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent);return}case"cut":this._cut(e);return}let x=this.getAction(t);if(x){Promise.resolve(x.run(s)).then(void 0,xZ.dL);return}if(!this._modelData||this._triggerEditorCommand(e,t,s))return;this._triggerCommand(t,s)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&0!==t.length&&("keyboard"===e&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),"keyboard"===e&&this._onDidType.fire(t))}_compositionType(e,t,s,x,E){this._modelData&&this._modelData.viewModel.compositionType(t,s,x,E,e)}_paste(e,t,s,x,E,a){if(!this._modelData)return;let r=this._modelData.viewModel,i=r.getSelection().getStartPosition();r.paste(t,s,x,e);let n=r.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire({clipboardEvent:a,range:new r3.e(i.lineNumber,i.column,n.lineNumber,n.column),languageId:E})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,s){let x=Z.getEditorCommand(t);return!!x&&((s=s||{}).source=e,this._instantiationService.invokeFunction(e=>{Promise.resolve(x.runEditorCommand(e,this,s)).then(void 0,xZ.dL)}),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!(!this._modelData||this._configuration.options.get(92))&&(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!(!this._modelData||this._configuration.options.get(92))&&(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,s){let x;return!(!this._modelData||this._configuration.options.get(92))&&(x=s?Array.isArray(s)?()=>s:s:()=>null,this._modelData.viewModel.executeEdits(e,t,x),!0)}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new uf(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,xn(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,xn(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?0===e.length&&0===t.length?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&0!==e.length&&this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){let t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(e=>e.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(146)}createOverviewRuler(e){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(e):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||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(e){let t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id:"+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let s=this._contentWidgets[t];s.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(s)}}removeContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){let t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let s=this._overlayWidgets[t];s.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(s)}}removeOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){let t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let s=this._glyphMarginWidgets[t];s.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(s)}}removeGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(e,t):null}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;let t=this._modelData.model.validatePosition(e),s=this._configuration.options,x=s.get(146);return{top:ej._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+x.glyphMarginWidth+x.lineNumbersWidth+x.decorationsWidth-this.getScrollLeft(),height:s.get(67)}}getOffsetForColumn(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(e,t):-1}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){re(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}let t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());let s=e.onBeforeAttached(),x=new uL(this._id,this._configuration,e,lE.create(E1(this._domElement)),lc.create(this._configuration.options),e=>a(E1(this._domElement),e),this.languageConfigurationService,this._themeService,s,{batchChanges:e=>{try{return this._beginUpdate(),e()}finally{this._endUpdate()}}});t.push(e.onWillDispose(()=>this.setModel(null))),t.push(x.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(t.reachedMaxCursorCount){let e=this.getOption(80),t=sY.NC("cursors.maximum","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.",e);this._notificationService.prompt(iM.Warning,t,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:sY.NC("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}let e=[];for(let s=0,x=t.selections.length;s<x;s++)e[s]=t.selections[s].getPosition();let s={position:e[0],secondaryPositions:e.slice(1),reason:t.reason,source:t.source};this._onDidChangeCursorPosition.fire(s);let x={selection:t.selections[0],secondarySelections:t.selections.slice(1),modelVersionId:t.modelVersionId,oldSelections:t.oldSelections,oldModelVersionId:t.oldModelVersionId,source:t.source,reason:t.reason};this._onDidChangeCursorSelection.fire(x);break}case 7:this._onDidChangeModelDecorations.fire(t.event);break;case 8:this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._onDidChangeModelLanguage.fire(t.event);break;case 9:this._onDidChangeModelLanguageConfiguration.fire(t.event);break;case 10:this._onDidChangeModelContent.fire(t.event);break;case 11:this._onDidChangeModelOptions.fire(t.event);break;case 12:this._onDidChangeModelTokens.fire(t.event)}}));let[E,r]=this._createView(x);if(r){this._domElement.appendChild(E.domNode.domNode);let t=Object.keys(this._contentWidgets);for(let e=0,s=t.length;e<s;e++){let s=t[e];E.addContentWidget(this._contentWidgets[s])}t=Object.keys(this._overlayWidgets);for(let e=0,s=t.length;e<s;e++){let s=t[e];E.addOverlayWidget(this._overlayWidgets[s])}t=Object.keys(this._glyphMarginWidgets);for(let e=0,s=t.length;e<s;e++){let s=t[e];E.addGlyphMarginWidget(this._glyphMarginWidgets[s])}E.render(!1,!0),E.domNode.domNode.setAttribute("data-uri",e.uri.toString())}this._modelData=new ud(e,x,E,r,t,s)}_createView(e){let t;t=this.isSimpleWidget?{paste:(e,t,s,x)=>{this._paste("keyboard",e,t,s,x)},type:e=>{this._type("keyboard",e)},compositionType:(e,t,s,x)=>{this._compositionType("keyboard",e,t,s,x)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(e,t,s,x)=>{this._commandService.executeCommand("paste",{text:e,pasteOnNewLine:t,multicursorText:s,mode:x})},type:e=>{this._commandService.executeCommand("type",{text:e})},compositionType:(e,t,s,x)=>{s||x?this._commandService.executeCommand("compositionType",{text:e,replacePrevCharCnt:t,replaceNextCharCnt:s,positionDelta:x}):this._commandService.executeCommand("replacePreviousChar",{text:e,replaceCharCnt:t})},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};let s=new hW(e.coordinatesConverter);return s.onKeyDown=e=>this._onKeyDown.fire(e),s.onKeyUp=e=>this._onKeyUp.fire(e),s.onContextMenu=e=>this._onContextMenu.fire(e),s.onMouseMove=e=>this._onMouseMove.fire(e),s.onMouseLeave=e=>this._onMouseLeave.fire(e),s.onMouseDown=e=>this._onMouseDown.fire(e),s.onMouseUp=e=>this._onMouseUp.fire(e),s.onMouseDrag=e=>this._onMouseDrag.fire(e),s.onMouseDrop=e=>this._onMouseDrop.fire(e),s.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),s.onMouseWheel=e=>this._onMouseWheel.fire(e),[new C7(t,this._configuration,this._themeService.getColorTheme(),e,s,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;let e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),t&&this._domElement.contains(t)&&t.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return null!==this._modelData}showDropIndicatorAt(e){let t=[{range:new r3.e(e.lineNumber,e.column,e.lineNumber,e.column),options:ej.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,0===this._updateCounter&&this._onEndUpdate.fire()}};uP=ej=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([uM(3,rc.TG),uM(4,rT),uM(5,rD),uM(6,rP.i6),uM(7,iR.XE),uM(8,iP),uM(9,_g),uM(10,r7.c_),uM(11,r8.ILanguageFeaturesService)],uP);let uU=0;class ud{constructor(e,t,s,x,E,a){this.model=e,this.viewModel=t,this.view=s,this.hasRealView=x,this.listenersToRemove=E,this.attachedView=a}dispose(){(0,xf.B9)(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class uY extends xf.JT{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new Ee.Q5(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new Ee.Q5(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){let t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class up extends Ee.Q5{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class uG extends xf.JT{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=eK.editorSimpleInput.bindTo(t),this._editorFocus=eK.focus.bindTo(t),this._textInputFocus=eK.textInputFocus.bindTo(t),this._editorTextFocus=eK.editorTextFocus.bindTo(t),this._tabMovesFocus=eK.tabMovesFocus.bindTo(t),this._editorReadonly=eK.readOnly.bindTo(t),this._inDiffEditor=eK.inDiffEditor.bindTo(t),this._editorColumnSelection=eK.columnSelection.bindTo(t),this._hasMultipleSelections=eK.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=eK.hasNonEmptySelection.bindTo(t),this._canUndo=eK.canUndo.bindTo(t),this._canRedo=eK.canRedo.bindTo(t),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(Ih.onDidChangeTabFocus(e=>this._tabMovesFocus.set(e))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let e=this._editor.getOptions();this._tabMovesFocus.set(Ih.getTabFocusMode()),this._editorReadonly.set(e.get(92)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){let e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.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(){let e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}}class uB extends xf.JT{constructor(e,t,s){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=s,this._langId=eK.languageId.bindTo(t),this._hasCompletionItemProvider=eK.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=eK.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=eK.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=eK.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=eK.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=eK.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=eK.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=eK.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=eK.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=eK.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=eK.hasReferenceProvider.bindTo(t),this._hasRenameProvider=eK.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=eK.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=eK.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=eK.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=eK.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=eK.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=eK.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=eK.isInEmbeddedEditor.bindTo(t);let x=()=>this._update();this._register(e.onDidChangeModel(x)),this._register(e.onDidChangeModelLanguage(x)),this._register(s.completionProvider.onDidChange(x)),this._register(s.codeActionProvider.onDidChange(x)),this._register(s.codeLensProvider.onDidChange(x)),this._register(s.definitionProvider.onDidChange(x)),this._register(s.declarationProvider.onDidChange(x)),this._register(s.implementationProvider.onDidChange(x)),this._register(s.typeDefinitionProvider.onDidChange(x)),this._register(s.hoverProvider.onDidChange(x)),this._register(s.documentHighlightProvider.onDidChange(x)),this._register(s.documentSymbolProvider.onDidChange(x)),this._register(s.referenceProvider.onDidChange(x)),this._register(s.renameProvider.onDidChange(x)),this._register(s.documentFormattingEditProvider.onDidChange(x)),this._register(s.documentRangeFormattingEditProvider.onDidChange(x)),this._register(s.signatureHelpProvider.onDidChange(x)),this._register(s.inlayHintsProvider.onDidChange(x)),x()}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._isInEmbeddedEditor.reset()})}_update(){let e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===E$.lg.walkThroughSnippet||e.uri.scheme===E$.lg.vscodeChatCodeBlock)})}}class um extends xf.JT{constructor(e,t){super(),this._onChange=this._register(new Ee.Q5),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(aH(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),t&&(this._overflowWidgetsDomNode=this._register(aH(t)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){let e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){return this._hadFocus??!1}}class uf{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,s){return this._editor.onDidChangeModelDecorations(s=>{this._isChangingDecorations||e.call(t,s)},s)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];let e=this._editor.getModel(),t=[];for(let s of this._decorationIds){let x=e.getDecorationRange(s);x&&t.push(x)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){0!==this._decorationIds.length&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(s=>{t=s.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}}let ug=encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='"),uF=encodeURIComponent("'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>");function uH(e){return ug+encodeURIComponent(e.toString())+uF}let uy=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="'),uV=encodeURIComponent('"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>');(0,iR.Ic)((e,t)=>{let s=e.getColor(iv.lXJ);s&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${uH(s)}") repeat-x bottom left; }`);let x=e.getColor(iv.uoC);x&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${uH(x)}") repeat-x bottom left; }`);let E=e.getColor(iv.c63);E&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${uH(E)}") repeat-x bottom left; }`);let a=e.getColor(iv.Dut);a&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${uy+encodeURIComponent(a.toString())+uV}") no-repeat bottom left; }`);let r=e.getColor(A4.zu);r&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${r.rgba.a}; }`)});var uX=x(81568);x(96819);class ub{static capture(e){if(0===e.getScrollTop()||e.hasPendingScrollAnimation())return new ub(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,s=0,x=e.getVisibleRanges();if(x.length>0){t=x[0].getStartPosition();let E=e.getTopForPosition(t.lineNumber,t.column);s=e.getScrollTop()-E}return new ub(e.getScrollTop(),e.getContentHeight(),t,s,e.getPosition())}constructor(e,t,s,x,E){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=s,this._visiblePositionScrollDelta=x,this._cursorPosition=E}restore(e){if((this._initialContentHeight!==e.getContentHeight()||this._initialScrollTop!==e.getScrollTop())&&this._visiblePosition){let t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;let t=e.getPosition();if(!this._cursorPosition||!t)return;let s=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+s,1)}}var uv=x(90780);function uk(e,t){let s=new xf.SL,x=e.createDecorationsCollection();return s.add((0,Ts.UV)({debugName:()=>`Apply decorations from ${t.debugName}`},e=>{let s=t.read(e);x.set(s)})),s.add({dispose:()=>{x.clear()}}),s}function uw(e,t){return e.appendChild(t),(0,xf.OF)(()=>{t.remove()})}class uW extends xf.JT{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(e,t){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new IO(e,t)),this._width=(0,Ts.uh)(this,this.elementSizeObserver.getWidth()),this._height=(0,Ts.uh)(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(e=>(0,Ts.PS)(e=>{this._width.set(this.elementSizeObserver.getWidth(),e),this._height.set(this.elementSizeObserver.getHeight(),e)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){this._automaticLayout=e,e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function uK(e,t,s){let x,E=t.get(),a=E,r=E,i=(0,Ts.uh)("animatedValue",E),n=-1;return s.add((0,Ts.nJ)({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(e,s)=>(e.didChange(t)&&(s.animate=s.animate||e.change),!0)},(s,_)=>{void 0!==x&&(e.cancelAnimationFrame(x),x=void 0),a=r,E=t.read(s),n=Date.now()-(_.animate?0:300),function t(){var s,_;let T=Date.now()-n;r=Math.floor((s=a,_=E-a,300===T?s+_:_*(-Math.pow(2,-10*T/300)+1)+s)),T<300?x=e.requestAnimationFrame(t):r=E,i.set(r,void 0)}()})),i}class uQ extends xf.JT{constructor(e,t,s){super(),this._register(new uZ(e,s)),this._register(uz(s,{height:t.actualHeight,top:t.actualTop}))}}class uJ{get afterLineNumber(){return this._afterLineNumber.get()}constructor(e,t){this._afterLineNumber=e,this.heightInPx=t,this.domNode=document.createElement("div"),this._actualTop=(0,Ts.uh)(this,void 0),this._actualHeight=(0,Ts.uh)(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=e=>{this._actualTop.set(e,void 0)},this.onComputedHeight=e=>{this._actualHeight.set(e,void 0)}}}class uZ{static{this._counter=0}constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId=`managedOverlayWidget-${uZ._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function uz(e,t){return(0,Ts.EH)(s=>{for(let[x,E]of Object.entries(t))E&&"object"==typeof E&&"read"in E&&(E=E.read(s)),"number"==typeof E&&(E=`${E}px`),x=x.replace(/[A-Z]/g,e=>"-"+e.toLowerCase()),e.style[x]=E})}function uq(e,t,s,x){let E=new xf.SL,a=[];return E.add((0,Ts.gp)((E,r)=>{let i=t.read(E),n=new Map,_=new Map;s&&s(!0),e.changeViewZones(e=>{for(let t of a)e.removeZone(t),x?.delete(t);for(let t of(a.length=0,i)){let s=e.addZone(t);t.setZoneId&&t.setZoneId(s),a.push(s),x?.add(s),n.set(t,s)}}),s&&s(!1),r.add((0,Ts.nJ)({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(e,t){let s=_.get(e.changedObservable);return void 0!==s&&t.zoneIds.push(s),!0}},(t,x)=>{for(let e of i)e.onChange&&(_.set(e.onChange,n.get(e)),e.onChange.read(t));s&&s(!0),e.changeViewZones(e=>{for(let t of x.zoneIds)e.layoutZone(t)}),s&&s(!1)}))})),E.add({dispose(){s&&s(!0),e.changeViewZones(e=>{for(let t of a)e.removeZone(t)}),x?.clear(),s&&s(!1)}}),E}function uj(e,t){let s=(0,lo.dF)(t,t=>t.original.startLineNumber<=e.lineNumber);if(!s)return r3.e.fromPositions(e);if(s.original.endLineNumberExclusive<=e.lineNumber){let t=e.lineNumber-s.original.endLineNumberExclusive+s.modified.endLineNumberExclusive;return r3.e.fromPositions(new cs.L(t,e.column))}if(!s.innerChanges)return r3.e.fromPositions(new cs.L(s.modified.startLineNumber,1));let x=(0,lo.dF)(s.innerChanges,t=>t.originalRange.getStartPosition().isBeforeOrEqual(e));if(!x){let t=e.lineNumber-s.original.startLineNumber+s.modified.startLineNumber;return r3.e.fromPositions(new cs.L(t,e.column))}if(x.originalRange.containsPosition(e))return x.modifiedRange;{var E;let t=(E=x.originalRange.getEndPosition()).lineNumber===e.lineNumber?new uv.A(0,e.column-E.column):new uv.A(e.lineNumber-E.lineNumber,e.column-1);return r3.e.fromPositions(t.addToPosition(x.modifiedRange.getEndPosition()))}}class u${static create(e,t){return new u0(e,e,t)}static createWithDisposable(e,t,s){let x=new xf.SL;return x.add(t),x.add(e),new u0(e,x,s)}}class u0 extends u${constructor(e,t,s){super(),this.object=e,this._disposable=t,this._debugOwner=s,this._refCount=1,this._isDisposed=!1,this._owners=[],s&&this._addOwner(s)}_addOwner(e){e&&this._owners.push(e)}createNewRef(e){return this._refCount++,e&&this._addOwner(e),new u2(this,e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(e){if(this._refCount--,0===this._refCount&&this._disposable.dispose(),e){let t=this._owners.indexOf(e);-1!==t&&this._owners.splice(t,1)}}}class u2 extends u${constructor(e,t){super(),this._base=e,this._debugOwner=t,this._isDisposed=!1}get object(){return this._base.object}createNewRef(e){return this._base.createNewRef(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}var u1=x(98434);x(44748);var u3=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},u7=function(e,t){return function(s,x){t(s,x,e)}};let u5=NE("diff-review-insert",i7.l.add,(0,sY.NC)("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),u4=NE("diff-review-remove",i7.l.remove,(0,sY.NC)("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),u6=NE("diff-review-close",i7.l.close,(0,sY.NC)("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer.")),u8=class extends xf.JT{static{this._ttPolicy=r$("diffReview",{createHTML:e=>e})}constructor(e,t,s,x,E,a,r,i,n){super(),this._parentNode=e,this._visible=t,this._setVisible=s,this._canClose=x,this._width=E,this._height=a,this._diffs=r,this._models=i,this._instantiationService=n,this._state=(0,Ts.Be)(this,(e,t)=>{let s=this._visible.read(e);if(this._parentNode.style.visibility=s?"visible":"hidden",!s)return null;let x=t.add(this._instantiationService.createInstance(u9,this._diffs,this._models,this._setVisible,this._canClose)),E=t.add(this._instantiationService.createInstance(Da,this._parentNode,x,this._width,this._height,this._models));return{model:x,view:E}}).recomputeInitiallyAndOnChange(this._store)}next(){(0,Ts.PS)(e=>{let t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){(0,Ts.PS)(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){(0,Ts.PS)(e=>{this._setVisible(!1,e)})}};u8=u3([u7(8,rc.TG)],u8);let u9=class extends xf.JT{constructor(e,t,s,x,E){super(),this._diffs=e,this._models=t,this._setVisible=s,this.canClose=x,this._accessibilitySignalService=E,this._groups=(0,Ts.uh)(this,[]),this._currentGroupIdx=(0,Ts.uh)(this,0),this._currentElementIdx=(0,Ts.uh)(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((e,t)=>this._groups.read(t)[e]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((e,t)=>this.currentGroup.read(t)?.lines[e]),this._register((0,Ts.EH)(e=>{let t=this._diffs.read(e);if(!t){this._groups.set([],void 0);return}let s=function(e,t,s){let x=[];for(let E of(0,sD.mw)(e,(e,t)=>t.modified.startLineNumber-e.modified.endLineNumberExclusive<6)){let e=[];e.push(new Dt);let a=new it.z(Math.max(1,E[0].original.startLineNumber-3),Math.min(E[E.length-1].original.endLineNumberExclusive+3,t+1)),r=new it.z(Math.max(1,E[0].modified.startLineNumber-3),Math.min(E[E.length-1].modified.endLineNumberExclusive+3,s+1));(0,sD.zy)(E,(t,s)=>{let x=new it.z(t?t.original.endLineNumberExclusive:a.startLineNumber,s?s.original.startLineNumber:a.endLineNumberExclusive),E=new it.z(t?t.modified.endLineNumberExclusive:r.startLineNumber,s?s.modified.startLineNumber:r.endLineNumberExclusive);x.forEach(t=>{e.push(new DE(t,E.startLineNumber+(t-x.startLineNumber)))}),s&&(s.original.forEach(t=>{e.push(new Ds(s,t))}),s.modified.forEach(t=>{e.push(new Dx(s,t))}))});let i=E[0].modified.join(E[E.length-1].modified),n=E[0].original.join(E[E.length-1].original);x.push(new De(new ie.f0(i,n),e))}return x}(t,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());(0,Ts.PS)(e=>{let t=this._models.getModifiedPosition();if(t){let x=s.findIndex(e=>t?.lineNumber<e.range.modified.endLineNumberExclusive);-1!==x&&this._currentGroupIdx.set(x,e)}this._groups.set(s,e)})})),this._register((0,Ts.EH)(e=>{let t=this.currentElement.read(e);t?.type===e$.Deleted?this._accessibilitySignalService.playSignal(N6.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):t?.type===e$.Added&&this._accessibilitySignalService.playSignal(N6.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register((0,Ts.EH)(e=>{let t=this.currentElement.read(e);if(t&&t.type!==e$.Header){let e=t.modifiedLineNumber??t.diff.modified.startLineNumber;this._models.modifiedSetSelection(r3.e.fromPositions(new cs.L(e,1)))}}))}_goToGroupDelta(e,t){let s=this.groups.get();s&&!(s.length<=1)&&(0,Ts.c8)(t,t=>{this._currentGroupIdx.set(u1.q.ofLength(s.length).clipCyclic(this._currentGroupIdx.get()+e),t),this._currentElementIdx.set(0,t)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){let t=this.currentGroup.get();t&&!(t.lines.length<=1)&&(0,Ts.PS)(s=>{this._currentElementIdx.set(u1.q.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),s)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){let t=this.currentGroup.get();if(!t)return;let s=t.lines.indexOf(e);-1!==s&&(0,Ts.PS)(e=>{this._currentElementIdx.set(s,e)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);let e=this.currentElement.get();e&&(e.type===e$.Deleted?this._models.originalReveal(r3.e.fromPositions(new cs.L(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==e$.Header?r3.e.fromPositions(new cs.L(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};u9=u3([u7(4,N7)],u9),function(e){e[e.Header=0]="Header",e[e.Unchanged=1]="Unchanged",e[e.Deleted=2]="Deleted",e[e.Added=3]="Added"}(e$||(e$={}));class De{constructor(e,t){this.range=e,this.lines=t}}class Dt{constructor(){this.type=e$.Header}}class Ds{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=e$.Deleted,this.modifiedLineNumber=void 0}}class Dx{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=e$.Added,this.originalLineNumber=void 0}}class DE{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=e$.Unchanged}}let Da=class extends xf.JT{constructor(e,t,s,x,E,a){super(),this._element=e,this._model=t,this._width=s,this._height=x,this._models=E,this._languageService=a,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";let r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new Ss(r)),this._register((0,Ts.EH)(e=>{this._actionBar.clear(),this._model.canClose.read(e)&&this._actionBar.push(new rO("diffreview.close",(0,sY.NC)("label.close","Close"),"close-diff-review "+rh.k.asClassName(u6),!0,async()=>t.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 ni(this._content,{})),aX(this.domNode,this._scrollbar.getDomNode(),r),this._register((0,Ts.EH)(e=>{this._height.read(e),this._width.read(e),this._scrollbar.scanDomNode()})),this._register((0,xf.OF)(()=>{aX(this.domNode)})),this._register(uz(this.domNode,{width:this._width,height:this._height})),this._register(uz(this._content,{width:this._width,height:this._height})),this._register((0,Ts.gp)((e,t)=>{this._model.currentGroup.read(e),this._render(t)})),this._register(aa(this.domNode,"keydown",e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._model.goToNextLine()),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._model.goToPreviousLine()),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this._model.close()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){let t=this._models.getOriginalOptions(),s=this._models.getModifiedOptions(),x=document.createElement("div");x.className="diff-review-table",x.setAttribute("role","list"),x.setAttribute("aria-label",(0,sY.NC)("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),re(x,s.get(50)),aX(this._content,x);let E=this._models.getOriginalModel(),a=this._models.getModifiedModel();if(!E||!a)return;let r=E.getOptions(),i=a.getOptions(),n=s.get(67),_=this._model.currentGroup.get();for(let T of _?.lines||[]){let S;if(!_)break;if(T.type===e$.Header){let e=document.createElement("div");e.className="diff-review-row",e.setAttribute("role","listitem");let t=_.range,s=this._model.currentGroupIndex.get(),x=this._model.groups.get().length,E=e=>0===e?(0,sY.NC)("no_lines_changed","no lines changed"):1===e?(0,sY.NC)("one_line_changed","1 line changed"):(0,sY.NC)("more_lines_changed","{0} lines changed",e),a=E(t.original.length),r=E(t.modified.length);e.setAttribute("aria-label",(0,sY.NC)({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",s+1,x,t.original.startLineNumber,a,t.modified.startLineNumber,r));let i=document.createElement("div");i.className="diff-review-cell diff-review-summary",i.appendChild(document.createTextNode(`${s+1}/${x}: @@ -${t.original.startLineNumber},${t.original.length} +${t.modified.startLineNumber},${t.modified.length} @@`)),e.appendChild(i),S=e}else S=this._createRow(T,n,this._width.get(),t,E,r,s,a,i);x.appendChild(S);let R=(0,Ts.nK)(e=>this._model.currentElement.read(e)===T);e.add((0,Ts.EH)(e=>{let t=R.read(e);S.tabIndex=t?0:-1,t&&S.focus()})),e.add(aE(S,"focus",()=>{this._model.goToLine(T)}))}this._scrollbar.scanDomNode()}_createRow(e,t,s,x,E,a,r,i,n){let _;let T=x.get(146),S=T.glyphMarginWidth+T.lineNumbersWidth,R=r.get(146),O=10+R.glyphMarginWidth+R.lineNumbersWidth,A="diff-review-row",N="",o=null;switch(e.type){case e$.Added:A="diff-review-row line-insert",N=" char-insert",o=u5;break;case e$.Deleted:A="diff-review-row line-delete",N=" char-delete",o=u4}let I=document.createElement("div");I.style.minWidth=s+"px",I.className=A,I.setAttribute("role","listitem"),I.ariaLevel="";let L=document.createElement("div");L.className="diff-review-cell",L.style.height=`${t}px`,I.appendChild(L);let h=document.createElement("span");h.style.width=S+"px",h.style.minWidth=S+"px",h.className="diff-review-line-number"+N,void 0!==e.originalLineNumber?h.appendChild(document.createTextNode(String(e.originalLineNumber))):h.innerText="\xa0",L.appendChild(h);let C=document.createElement("span");C.style.width=O+"px",C.style.minWidth=O+"px",C.style.paddingRight="10px",C.className="diff-review-line-number"+N,void 0!==e.modifiedLineNumber?C.appendChild(document.createTextNode(String(e.modifiedLineNumber))):C.innerText="\xa0",L.appendChild(C);let l=document.createElement("span");if(l.className="diff-review-spacer",o){let e=document.createElement("span");e.className=rh.k.asClassName(o),e.innerText="\xa0\xa0",l.appendChild(e)}else l.innerText="\xa0\xa0";if(L.appendChild(l),void 0!==e.modifiedLineNumber){let t=this._getLineHtml(i,r,n.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);u8._ttPolicy&&(t=u8._ttPolicy.createHTML(t)),L.insertAdjacentHTML("beforeend",t),_=i.getLineContent(e.modifiedLineNumber)}else{let t=this._getLineHtml(E,x,a.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);u8._ttPolicy&&(t=u8._ttPolicy.createHTML(t)),L.insertAdjacentHTML("beforeend",t),_=E.getLineContent(e.originalLineNumber)}0===_.length&&(_=(0,sY.NC)("blankLine","blank"));let u="";switch(e.type){case e$.Unchanged:u=e.originalLineNumber===e.modifiedLineNumber?(0,sY.NC)({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",_,e.originalLineNumber):(0,sY.NC)("equalLine","{0} original line {1} modified line {2}",_,e.originalLineNumber,e.modifiedLineNumber);break;case e$.Added:u=(0,sY.NC)("insertLine","+ {0} modified line {1}",_,e.modifiedLineNumber);break;case e$.Deleted:u=(0,sY.NC)("deleteLine","- {0} original line {1}",_,e.originalLineNumber)}return I.setAttribute("aria-label",u),I}_getLineHtml(e,t,s,x,E){let a=e.getLineContent(x),r=t.get(50),i=_P.A.createEmpty(a,E),n=o2.isBasicASCII(a,e.mightContainNonBasicASCII()),_=o2.containsRTL(a,n,e.mightContainRTL());return oZ(new ok(r.isMonospace&&!t.get(33),r.canUseHalfwidthRightwardsArrow,a,!1,n,_,0,i,[],s,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,t.get(118),t.get(100),t.get(95),t.get(51)!==sq.OFF,null)).html}};Da=u3([u7(5,_D.O)],Da);class Dr{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}(0,iv.P6G)("diffEditor.move.border","#8b8b8b9c",(0,sY.NC)("diffEditor.move.border","The border color for text that got moved in the diff editor.")),(0,iv.P6G)("diffEditor.moveActive.border","#FFA500",(0,sY.NC)("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor.")),(0,iv.P6G)("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},(0,sY.NC)("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));let Di=NE("diff-insert",i7.l.add,(0,sY.NC)("diffInsertIcon","Line decoration for inserts in the diff editor.")),Dn=NE("diff-remove",i7.l.remove,(0,sY.NC)("diffRemoveIcon","Line decoration for removals in the diff editor.")),D_=ln.qx.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+rh.k.asClassName(Di),marginClassName:"gutter-insert"}),Dc=ln.qx.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+rh.k.asClassName(Dn),marginClassName:"gutter-delete"}),DT=ln.qx.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),DS=ln.qx.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),DR=ln.qx.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),DO=ln.qx.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),DA=ln.qx.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),DN=ln.qx.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),Do=ln.qx.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),DI=ln.qx.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});var DL=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},Dh=function(e,t){return function(s,x){t(s,x,e)}};let DC=(0,rc.yh)("diffProviderFactoryService"),Dl=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(Du,e)}};Dl=DL([Dh(0,rc.TG)],Dl),(0,iA.z)(DC,Dl,1);let Du=class{static{e0=this}static{this.diffCache=new Map}constructor(e,t,s){this.editorWorkerService=t,this.telemetryService=s,this.onDidChangeEventEmitter=new Ee.Q5,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose()}async computeDiff(e,t,s,x){if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(e,t,s,x);if(e.isDisposed()||t.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return 1===t.getLineCount()&&1===t.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new ie.gB(new it.z(1,2),new it.z(1,t.getLineCount()+1),[new ie.iy(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};let E=JSON.stringify([e.uri.toString(),t.uri.toString()]),a=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(s)]),r=e0.diffCache.get(E);if(r&&r.context===a)return r.result;let i=r6.G.create(),n=await this.editorWorkerService.computeDiff(e.uri,t.uri,s,this.diffAlgorithm),_=i.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:_,timedOut:n?.quitEarly??!0,detectedMoves:s.computeMoves?n?.moves.length??0:-1}),x.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!n)throw Error("no diff result available");return e0.diffCache.size>10&&e0.diffCache.delete(e0.diffCache.keys().next().value),e0.diffCache.set(E,{result:n,context:a}),n}setOptions(e){let t=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,"string"!=typeof e.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),t=!0),t&&this.onDidChangeEventEmitter.fire()}};Du=e0=DL([Dh(1,SL.IEditorWorkerService),Dh(2,rV)],Du);var DD=x(58173);function DM(){return DD.OB&&!!DD.OB.VSCODE_DEV}function DP(e){if(!DM())return{dispose(){}};{let t=function(){R||(R=new Set);let e=globalThis;return e.$hotReload_applyNewExports||(e.$hotReload_applyNewExports=e=>{let t={config:{mode:void 0},...e},s=[];for(let e of R){let x=e(t);x&&s.push(x)}if(s.length>0)return e=>{let t=!1;for(let x of s)x(e)&&(t=!0);return t}}),R}();return t.add(e),{dispose(){t.delete(e)}}}}function DU(e,t){var s;return s=[e],DM()&&(0,Ts.aq)("reload",e=>DP(({oldExports:t})=>{if([...Object.values(t)].some(e=>s.includes(e)))return t=>(e(void 0),!0)})).read(t),e}DM()&&DP(({oldExports:e,newSrc:t,config:s})=>{if("patch-prototype"===s.mode)return t=>{for(let s in t){let x=t[s];if(console.log(`[hot-reload] Patching prototype methods of '${s}'`,{exportedItem:x}),"function"==typeof x&&x.prototype){let E=e[s];if(E){for(let e of Object.getOwnPropertyNames(x.prototype)){let t=Object.getOwnPropertyDescriptor(x.prototype,e),a=Object.getOwnPropertyDescriptor(E.prototype,e);t?.value?.toString()!==a?.value?.toString()&&console.log(`[hot-reload] Patching prototype method '${s}.${e}'`),Object.defineProperty(E.prototype,e,t)}t[s]=E}}}return!0}});var Dd=x(63152),DY=x(88121),Dp=x(28312),DG=x(8804);let DB=class extends xf.JT{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,s){super(),this.model=e,this._options=t,this._diffProviderFactoryService=s,this._isDiffUpToDate=(0,Ts.uh)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,Ts.uh)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,Ts.uh)(this,void 0),this.unchangedRegions=(0,Ts.nK)(this,e=>this._options.hideUnchangedRegions.read(e)?this._unchangedRegions.read(e)?.regions??[]:((0,Ts.PS)(e=>{for(let t of this._unchangedRegions.get()?.regions||[])t.collapseAll(e)}),[])),this.movedTextToCompare=(0,Ts.uh)(this,void 0),this._activeMovedText=(0,Ts.uh)(this,void 0),this._hoveredMovedText=(0,Ts.uh)(this,void 0),this.activeMovedText=(0,Ts.nK)(this,e=>this.movedTextToCompare.read(e)??this._hoveredMovedText.read(e)??this._activeMovedText.read(e)),this._cancellationTokenSource=new _Z.AU,this._diffProvider=(0,Ts.nK)(this,e=>{let t=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(e)}),s=(0,Ts.aq)("onDidChange",t.onDidChange);return{diffProvider:t,onChangeSignal:s}}),this._register((0,xf.OF)(()=>this._cancellationTokenSource.cancel()));let x=(0,Ts.GN)("contentChangedSignal"),E=this._register(new x9.pY(()=>x.trigger(void 0),200));this._register((0,Ts.EH)(t=>{let s=this._unchangedRegions.read(t);if(!s||s.regions.some(e=>e.isDragged.read(t)))return;let x=s.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?it.z.fromRangeInclusive(e):void 0),E=s.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?it.z.fromRangeInclusive(e):void 0),a=s.regions.map((e,s)=>x[s]&&E[s]?new Dg(x[s].startLineNumber,E[s].startLineNumber,x[s].length,e.visibleLineCountTop.read(t),e.visibleLineCountBottom.read(t)):void 0).filter(ru.$K),r=[],i=!1;for(let e of(0,sD.mw)(a,(e,s)=>e.getHiddenModifiedRange(t).endLineNumberExclusive===s.getHiddenModifiedRange(t).startLineNumber))if(e.length>1){i=!0;let t=e.reduce((e,t)=>e+t.lineCount,0),s=new Dg(e[0].originalLineNumber,e[0].modifiedLineNumber,t,e[0].visibleLineCountTop.get(),e[e.length-1].visibleLineCountBottom.get());r.push(s)}else r.push(e[0]);if(i){let t=e.original.deltaDecorations(s.originalDecorationIds,r.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),x=e.modified.deltaDecorations(s.modifiedDecorationIds,r.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));(0,Ts.PS)(e=>{this._unchangedRegions.set({regions:r,originalDecorationIds:t,modifiedDecorationIds:x},e)})}}));let a=(t,s,x)=>{let E;let a=Dg.fromDiffs(t.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(x),this._options.hideUnchangedRegionsContextLineCount.read(x)),r=this._unchangedRegions.get();if(r){let t=r.originalDecorationIds.map(t=>e.original.getDecorationRange(t)).map(e=>e?it.z.fromRangeInclusive(e):void 0),s=r.modifiedDecorationIds.map(t=>e.modified.getDecorationRange(t)).map(e=>e?it.z.fromRangeInclusive(e):void 0),a=(function(e,t){let s;return e.filter(e=>{let x=t(e,s);return s=e,x})})(r.regions.map((e,x)=>{if(!t[x]||!s[x])return;let E=t[x].length;return new Dg(t[x].startLineNumber,s[x].startLineNumber,E,Math.min(e.visibleLineCountTop.get(),E),Math.min(e.visibleLineCountBottom.get(),E-e.visibleLineCountTop.get()))}).filter(ru.$K),(e,t)=>!t||e.modifiedLineNumber>=t.modifiedLineNumber+t.lineCount&&e.originalLineNumber>=t.originalLineNumber+t.lineCount).map(e=>new ie.f0(e.getHiddenOriginalRange(x),e.getHiddenModifiedRange(x)));a=ie.f0.clip(a,it.z.ofLength(1,e.original.getLineCount()),it.z.ofLength(1,e.modified.getLineCount())),E=ie.f0.inverse(a,e.original.getLineCount(),e.modified.getLineCount())}let i=[];if(E)for(let e of a){let t=E.filter(t=>t.original.intersectsStrict(e.originalUnchangedRange)&&t.modified.intersectsStrict(e.modifiedUnchangedRange));i.push(...e.setVisibleRanges(t,s))}else i.push(...a);let n=e.original.deltaDecorations(r?.originalDecorationIds||[],i.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),_=e.modified.deltaDecorations(r?.modifiedDecorationIds||[],i.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:i,originalDecorationIds:n,modifiedDecorationIds:_},s)};this._register(e.modified.onDidChangeContent(t=>{if(this._diff.get()){let s=DY.Q.fromModelContentChanges(t.changes),x=DH(this._lastDiff,s,e.original,e.modified);x&&(this._lastDiff=x,(0,Ts.PS)(e=>{this._diff.set(Dm.fromDiffResult(this._lastDiff),e),a(x,e);let t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified)):void 0,e)}))}this._isDiffUpToDate.set(!1,void 0),E.schedule()})),this._register(e.original.onDidChangeContent(t=>{if(this._diff.get()){let s=DY.Q.fromModelContentChanges(t.changes),x=DF(this._lastDiff,s,e.original,e.modified);x&&(this._lastDiff=x,(0,Ts.PS)(e=>{this._diff.set(Dm.fromDiffResult(this._lastDiff),e),a(x,e);let t=this.movedTextToCompare.get();this.movedTextToCompare.set(t?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(t.lineRangeMapping.modified)):void 0,e)}))}this._isDiffUpToDate.set(!1,void 0),E.schedule()})),this._register((0,Ts.gp)(async(t,s)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(t),this._options.hideUnchangedRegionsContextLineCount.read(t),E.cancel(),x.read(t);let r=this._diffProvider.read(t);r.onChangeSignal.read(t),DU(Dd.DW,t),DU(DG.xG,t),this._isDiffUpToDate.set(!1,void 0);let i=[];s.add(e.original.onDidChangeContent(e=>{let t=DY.Q.fromModelContentChanges(e.changes);i=(0,Dp.o)(i,t)}));let n=[];s.add(e.modified.onDidChangeContent(e=>{let t=DY.Q.fromModelContentChanges(e.changes);n=(0,Dp.o)(n,t)}));let _=await r.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(t),maxComputationTimeMs:this._options.maxComputationTimeMs.read(t),computeMoves:this._options.showMoves.read(t)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||e.original.isDisposed()||e.modified.isDisposed()||(_=DH(_=DF(_=function(e,t,s){return{changes:e.changes.map(e=>new ie.gB(e.original,e.modified,e.innerChanges?e.innerChanges.map(e=>{let x,E;return x=e.originalRange,E=e.modifiedRange,1===x.startColumn&&1===E.startColumn&&(1!==x.endColumn||1!==E.endColumn)&&x.endColumn===t.getLineMaxColumn(x.endLineNumber)&&E.endColumn===s.getLineMaxColumn(E.endLineNumber)&&x.endLineNumber<t.getLineCount()&&E.endLineNumber<s.getLineCount()&&(x=x.setEndPosition(x.endLineNumber+1,1),E=E.setEndPosition(E.endLineNumber+1,1)),new ie.iy(x,E)}):void 0)),moves:e.moves,identical:e.identical,quitEarly:e.quitEarly}}(_,e.original,e.modified),i,e.original,e.modified)??_,n,e.original,e.modified)??_,(0,Ts.PS)(e=>{a(_,e),this._lastDiff=_;let t=Dm.fromDiffResult(_);this._diff.set(t,e),this._isDiffUpToDate.set(!0,e);let s=this.movedTextToCompare.get();this.movedTextToCompare.set(s?this._lastDiff.moves.find(e=>e.lineRangeMapping.modified.intersect(s.lineRangeMapping.modified)):void 0,e)}))}))}ensureModifiedLineIsVisible(e,t,s){if(this.diff.get()?.mappings.length!==0){for(let x of this._unchangedRegions.get()?.regions||[])if(x.getHiddenModifiedRange(void 0).contains(e)){x.showModifiedLine(e,t,s);return}}}ensureOriginalLineIsVisible(e,t,s){if(this.diff.get()?.mappings.length!==0){for(let x of this._unchangedRegions.get()?.regions||[])if(x.getHiddenOriginalRange(void 0).contains(e)){x.showOriginalLine(e,t,s);return}}}async waitForDiff(){await (0,Ts.F_)(this.isDiffUpToDate,e=>e)}serializeState(){let e=this._unchangedRegions.get();return{collapsedRegions:e?.regions.map(e=>({range:e.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){let t=e.collapsedRegions?.map(e=>it.z.deserialize(e.range)),s=this._unchangedRegions.get();s&&t&&(0,Ts.PS)(e=>{for(let x of s.regions)for(let s of t)if(x.modifiedUnchangedRange.intersect(s)){x.setHiddenModifiedRange(s,e);break}})}};DB=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([function(e,t){DC(e,t,2)}],DB);class Dm{static fromDiffResult(e){return new Dm(e.changes.map(e=>new Df(e)),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,s,x){this.mappings=e,this.movedTexts=t,this.identical=s,this.quitEarly=x}}class Df{constructor(e){this.lineRangeMapping=e}}class Dg{static fromDiffs(e,t,s,x,E){let a=ie.gB.inverse(e,t,s),r=[];for(let e of a){let a=e.original.startLineNumber,i=e.modified.startLineNumber,n=e.original.length,_=1===a&&1===i,T=a+n===t+1&&i+n===s+1;(_||T)&&n>=E+x?(_&&!T&&(n-=E),T&&!_&&(a+=E,i+=E,n-=E),r.push(new Dg(a,i,n,0,0))):n>=2*E+x&&(a+=E,i+=E,n-=2*E,r.push(new Dg(a,i,n,0,0)))}return r}get originalUnchangedRange(){return it.z.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return it.z.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,s,x,E){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=s,this._visibleLineCountTop=(0,Ts.uh)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,Ts.uh)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,Ts.nK)(this,e=>this.visibleLineCountTop.read(e)+this.visibleLineCountBottom.read(e)===this.lineCount&&!this.isDragged.read(e)),this.isDragged=(0,Ts.uh)(this,void 0);let a=Math.max(Math.min(x,this.lineCount),0),r=Math.max(Math.min(E,this.lineCount-x),0);(0,C6.wN)(x===a),(0,C6.wN)(E===r),this._visibleLineCountTop.set(a,void 0),this._visibleLineCountBottom.set(r,void 0)}setVisibleRanges(e,t){let s=[],x=new it.i(e.map(e=>e.modified)).subtractFrom(this.modifiedUnchangedRange),E=this.originalLineNumber,a=this.modifiedLineNumber,r=this.modifiedLineNumber+this.lineCount;if(0===x.ranges.length)this.showAll(t),s.push(this);else{let e=0;for(let i of x.ranges){let n=e===x.ranges.length-1;e++;let _=(n?r:i.endLineNumberExclusive)-a,T=new Dg(E,a,_,0,0);T.setHiddenModifiedRange(i,t),s.push(T),E=T.originalUnchangedRange.endLineNumberExclusive,a=T.modifiedUnchangedRange.endLineNumberExclusive}}return s}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return it.z.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return it.z.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){let s=e.startLineNumber-this.modifiedLineNumber,x=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(s,x,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){let s=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,s),t)}showMoreBelow(e=10,t){let s=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,s),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,s){let x=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),E=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;0===t&&x<E||1===t?this._visibleLineCountTop.set(this._visibleLineCountTop.get()+x,s):this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+E,s)}showOriginalLine(e,t,s){let x=e-this.originalLineNumber,E=this.originalLineNumber+this.lineCount-e;0===t&&x<E||1===t?this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+E-x,this.getMaxVisibleLineCountTop()),s):this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+x-E,this.getMaxVisibleLineCountBottom()),s)}collapseAll(e){this._visibleLineCountTop.set(0,e),this._visibleLineCountBottom.set(0,e)}setState(e,t,s){e=Math.max(Math.min(e,this.lineCount),0),t=Math.max(Math.min(t,this.lineCount-e),0),this._visibleLineCountTop.set(e,s),this._visibleLineCountBottom.set(t,s)}}function DF(e,t,s,x){}function DH(e,t,s,x){}class Dy extends xf.JT{get visibility(){return this._visibility}set visibility(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?"visible":"hidden")}constructor(e,t,s,x,E,a,r,i,n){super(),this._getViewZoneId=e,this._marginDomNode=t,this._modifiedEditor=s,this._diff=x,this._editor=E,this._viewLineCounts=a,this._originalTextModel=r,this._contextMenuService=i,this._clipboardService=n,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=rh.k.asClassName(i7.l.lightBulb)+" lightbulb-glyph",this._diffActions.style.position="absolute";let _=this._modifiedEditor.getOption(67);this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${_}px`,this._diffActions.style.lineHeight=`${_}px`,this._marginDomNode.appendChild(this._diffActions);let T=0,S=s.getOption(128)&&!sP.gn,R=(e,t)=>{this._contextMenuService.showContextMenu({domForShadowRoot:S?s.getDomNode()??void 0:void 0,getAnchor:()=>({x:e,y:t}),getActions:()=>{let e=[],t=x.modified.isEmpty;return e.push(new rO("diff.clipboard.copyDeletedContent",t?x.original.length>1?(0,sY.NC)("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):(0,sY.NC)("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):x.original.length>1?(0,sY.NC)("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):(0,sY.NC)("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,async()=>{let e=this._originalTextModel.getValueInRange(x.original.toExclusiveRange());await this._clipboardService.writeText(e)})),x.original.length>1&&e.push(new rO("diff.clipboard.copyDeletedLineContent",t?(0,sY.NC)("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",x.original.startLineNumber+T):(0,sY.NC)("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",x.original.startLineNumber+T),void 0,!0,async()=>{let e=this._originalTextModel.getLineContent(x.original.startLineNumber+T);""===e&&(e=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"),await this._clipboardService.writeText(e)})),s.getOption(92)||e.push(new rO("diff.inline.revertChange",(0,sY.NC)("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),e},autoSelectFirstItem:!0})};this._register(aa(this._diffActions,"mousedown",e=>{if(!e.leftButton)return;let{top:t,height:s}=aR(this._diffActions),x=Math.floor(_/3);e.preventDefault(),R(e.posx,t+s+x)})),this._register(s.onMouseMove(e=>{(8===e.target.type||5===e.target.type)&&e.target.detail.viewZoneId===this._getViewZoneId()?(T=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,_),this.visibility=!0):this.visibility=!1})),this._register(s.onMouseDown(e=>{e.event.leftButton&&(8===e.target.type||5===e.target.type)&&e.target.detail.viewZoneId===this._getViewZoneId()&&(e.event.preventDefault(),T=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,_),R(e.event.posx,e.event.posy+_))}))}_updateLightBulbPosition(e,t,s){let{top:x}=aR(e),E=Math.floor((t-x)/s);if(this._diffActions.style.top=`${E*s}px`,this._viewLineCounts){let e=0;for(let t=0;t<this._viewLineCounts.length;t++)if(E<(e+=this._viewLineCounts[t]))return t}return E}}let DV=r$("diffEditorWidget",{createHTML:e=>e});class DX{constructor(e,t,s,x){this.lineTokens=e,this.lineBreakData=t,this.mightContainNonBasicASCII=s,this.mightContainRTL=x}}class Db{static fromEditor(e){let t=e.getOptions(),s=t.get(50),x=t.get(146);return new Db(e.getModel()?.getOptions().tabSize||0,s,t.get(33),s.typicalHalfwidthCharacterWidth,t.get(105),t.get(67),x.decorationsWidth,t.get(118),t.get(100),t.get(95),t.get(51))}constructor(e,t,s,x,E,a,r,i,n,_,T){this.tabSize=e,this.fontInfo=t,this.disableMonospaceOptimizations=s,this.typicalHalfwidthCharacterWidth=x,this.scrollBeyondLastColumn=E,this.lineHeight=a,this.lineDecorationsWidth=r,this.stopRenderingLineAfter=i,this.renderWhitespace=n,this.renderControlCharacters=_,this.fontLigatures=T}}function Dv(e,t,s,x,E,a,r,i){i.appendString('<div class="view-line'),x||i.appendString(" char-delete"),i.appendString('" style="top:'),i.appendString(String(e*r.lineHeight)),i.appendString('px;width:1000000px;">');let n=t.getLineContent(),_=o2.isBasicASCII(n,E),T=o2.containsRTL(n,_,a),S=oQ(new ok(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,n,!1,_,T,0,t,s,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==sq.OFF,null),i);return i.appendString("</div>"),S.characterMapping.getHorizontalOffset(S.characterMapping.length)}var Dk=function(e,t){return function(s,x){t(s,x,e)}};let Dw=class extends xf.JT{constructor(e,t,s,x,E,a,r,i,n,_){super(),this._targetWindow=e,this._editors=t,this._diffModel=s,this._options=x,this._diffEditorWidget=E,this._canIgnoreViewZoneUpdateEvent=a,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=i,this._clipboardService=n,this._contextMenuService=_,this._originalTopPadding=(0,Ts.uh)(this,0),this._originalScrollOffset=(0,Ts.uh)(this,0),this._originalScrollOffsetAnimated=uK(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=(0,Ts.uh)(this,0),this._modifiedScrollOffset=(0,Ts.uh)(this,0),this._modifiedScrollOffsetAnimated=uK(this._targetWindow,this._modifiedScrollOffset,this._store);let T=(0,Ts.uh)("invalidateAlignmentsState",0),S=this._register(new x9.pY(()=>{T.set(T.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||S.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(e=>{this._canIgnoreViewZoneUpdateEvent()||S.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(e=>{(e.hasChanged(147)||e.hasChanged(67))&&S.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(e=>{(e.hasChanged(147)||e.hasChanged(67))&&S.schedule()}));let R=this._diffModel.map(e=>e?(0,Ts.rD)(this,e.model.original.onDidChangeTokens,()=>2===e.model.original.tokenization.backgroundTokenizationState):void 0).map((e,t)=>e?.read(t)),O=(0,Ts.nK)(e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);if(!t||!s)return null;T.read(e);let x=this._options.renderSideBySide.read(e);return DW(this._editors.original,this._editors.modified,s.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,x)}),A=(0,Ts.nK)(e=>{let t=this._diffModel.read(e)?.movedTextToCompare.read(e);if(!t)return null;T.read(e);let s=t.changes.map(e=>new Df(e));return DW(this._editors.original,this._editors.modified,s,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function N(){let e=document.createElement("div");return e.className="diagonal-fill",e}let o=this._register(new xf.SL);this.viewZones=(0,Ts.Be)(this,(e,t)=>{o.clear();let s=O.read(e)||[],x=[],a=[],r=this._modifiedTopPadding.read(e);r>0&&a.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:r,showInHiddenAreas:!0,suppressMouseDown:!0});let i=this._originalTopPadding.read(e);i>0&&x.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:i,showInHiddenAreas:!0,suppressMouseDown:!0});let n=this._options.renderSideBySide.read(e),_=n?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer();if(_){let e=this._editors.original.getModel();for(let t of s)if(t.diff)for(let s=t.originalRange.startLineNumber;s<t.originalRange.endLineNumberExclusive;s++){if(s>e.getLineCount())return{orig:x,mod:a};_?.addRequest(e.getLineContent(s),null,null)}}let T=_?.finalize()??[],S=0,I=this._editors.modified.getOption(67),L=this._diffModel.read(e)?.movedTextToCompare.read(e),h=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,C=this._editors.original.getModel()?.mightContainRTL()??!1,l=Db.fromEditor(this._editors.modified);for(let r of s)if(!r.diff||n||this._options.useTrueInlineDiffRendering.read(e)&&DQ(r.diff)){let s=r.modifiedHeightInPx-r.originalHeightInPx;if(s>0){if(L?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(r.originalRange.endLineNumberExclusive-1))continue;x.push({afterLineNumber:r.originalRange.endLineNumberExclusive-1,domNode:N(),heightInPx:s,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let x;if(L?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(r.modifiedRange.endLineNumberExclusive-1))continue;r.diff&&r.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(e)&&(x=function(){let e=document.createElement("div");return e.className="arrow-revert-change "+rh.k.asClassName(i7.l.arrowRight),t.add(aE(e,"mousedown",e=>e.stopPropagation())),t.add(aE(e,"click",e=>{e.stopPropagation(),E.revert(r.diff)})),ak("div",{},e)}()),a.push({afterLineNumber:r.modifiedRange.endLineNumberExclusive-1,domNode:N(),heightInPx:-s,marginDomNode:x,showInHiddenAreas:!0,suppressMouseDown:!0})}}else{if(!r.originalRange.isEmpty){let t;R.read(e);let s=document.createElement("div");s.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");let E=this._editors.original.getModel();if(r.originalRange.endLineNumberExclusive-1>E.getLineCount())return{orig:x,mod:a};let i=new DX(r.originalRange.mapToLineArray(e=>E.tokenization.getLineTokens(e)),r.originalRange.mapToLineArray(e=>T[S++]),h,C),n=[];for(let e of r.diff.innerChanges||[])n.push(new o1(e.originalRange.delta(-(r.diff.original.startLineNumber-1)),DN.className,0));let _=function(e,t,s,x){re(x,t.fontInfo);let E=s.length>0,a=new oF.HT(1e4),r=0,i=0,n=[];for(let x=0;x<e.lineTokens.length;x++){let _=x+1,T=e.lineTokens[x],S=e.lineBreakData[x],R=oH.filter(s,_,1,Number.MAX_SAFE_INTEGER);if(S){let s=0;for(let x of S.breakOffsets)r=Math.max(r,Dv(i,T.sliceAndInflate(s,x,0),oH.extractWrapped(R,s,x),E,e.mightContainNonBasicASCII,e.mightContainRTL,t,a)),i++,s=x;n.push(S.breakOffsets.length)}else n.push(1),r=Math.max(r,Dv(i,T,R,E,e.mightContainNonBasicASCII,e.mightContainRTL,t,a)),i++}r+=t.scrollBeyondLastColumn;let _=a.build(),T=DV?DV.createHTML(_):_;return x.innerHTML=T,{heightInLines:i,minWidthInPx:r*t.typicalHalfwidthCharacterWidth,viewLineCounts:n}}(i,l,n,s),O=document.createElement("div");if(O.className="inline-deleted-margin-view-zone",re(O,l.fontInfo),this._options.renderIndicators.read(e))for(let e=0;e<_.heightInLines;e++){let t=document.createElement("div");t.className=`delete-sign ${rh.k.asClassName(Dn)}`,t.setAttribute("style",`position:absolute;top:${e*I}px;width:${l.lineDecorationsWidth}px;height:${I}px;right:0;`),O.appendChild(t)}o.add(new Dy(()=>(0,ru.cW)(t),O,this._editors.modified,r.diff,this._diffEditorWidget,_.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let e=0;e<_.viewLineCounts.length;e++){let t=_.viewLineCounts[e];t>1&&x.push({afterLineNumber:r.originalRange.startLineNumber+e,domNode:N(),heightInPx:(t-1)*I,showInHiddenAreas:!0,suppressMouseDown:!0})}a.push({afterLineNumber:r.modifiedRange.startLineNumber-1,domNode:s,heightInPx:_.heightInLines*I,minWidthInPx:_.minWidthInPx,marginDomNode:O,setZoneId(e){t=e},showInHiddenAreas:!0,suppressMouseDown:!0})}let t=document.createElement("div");t.className="gutter-delete",x.push({afterLineNumber:r.originalRange.endLineNumberExclusive-1,domNode:N(),heightInPx:r.modifiedHeightInPx,marginDomNode:t,showInHiddenAreas:!0,suppressMouseDown:!0})}for(let t of A.read(e)??[]){if(!L?.lineRangeMapping.original.intersect(t.originalRange)||!L?.lineRangeMapping.modified.intersect(t.modifiedRange))continue;let e=t.modifiedHeightInPx-t.originalHeightInPx;e>0?x.push({afterLineNumber:t.originalRange.endLineNumberExclusive-1,domNode:N(),heightInPx:e,showInHiddenAreas:!0,suppressMouseDown:!0}):a.push({afterLineNumber:t.modifiedRange.endLineNumberExclusive-1,domNode:N(),heightInPx:-e,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:x,mod:a}});let I=!1;this._register(this._editors.original.onDidScrollChange(e=>{e.scrollLeftChanged&&!I&&(I=!0,this._editors.modified.setScrollLeft(e.scrollLeft),I=!1)})),this._register(this._editors.modified.onDidScrollChange(e=>{e.scrollLeftChanged&&!I&&(I=!0,this._editors.original.setScrollLeft(e.scrollLeft),I=!1)})),this._originalScrollTop=(0,Ts.rD)(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,Ts.rD)(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register((0,Ts.EH)(e=>{let t=this._originalScrollTop.read(e)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(e))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(e));t!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(t,1)})),this._register((0,Ts.EH)(e=>{let t=this._modifiedScrollTop.read(e)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(e))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(e));t!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(t,1)})),this._register((0,Ts.EH)(e=>{let t=this._diffModel.read(e)?.movedTextToCompare.read(e),s=0;if(t){let e=this._editors.original.getTopForLineNumber(t.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();s=this._editors.modified.getTopForLineNumber(t.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-e}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 DW(e,t,s,x,E,a){let r=new sD.H9(DK(e,x)),i=new sD.H9(DK(t,E)),n=e.getOption(67),_=t.getOption(67),T=[],S=0,R=0;function O(e,t){for(;;){let s=r.peek(),x=i.peek();if(s&&s.lineNumber>=e&&(s=void 0),x&&x.lineNumber>=t&&(x=void 0),!s&&!x)break;let E=s?s.lineNumber-S:Number.MAX_VALUE,a=x?x.lineNumber-R:Number.MAX_VALUE;E<a?(r.dequeue(),x={lineNumber:s.lineNumber-S+R,heightInPx:0}):E>a?(i.dequeue(),s={lineNumber:x.lineNumber-R+S,heightInPx:0}):(r.dequeue(),i.dequeue()),T.push({originalRange:it.z.ofLength(s.lineNumber,1),modifiedRange:it.z.ofLength(x.lineNumber,1),originalHeightInPx:n+s.heightInPx,modifiedHeightInPx:_+x.heightInPx,diff:void 0})}}for(let t of s){let s=t.lineRangeMapping;O(s.original.startLineNumber,s.modified.startLineNumber);let x=!0,E=s.modified.startLineNumber,N=s.original.startLineNumber;function A(e,s,a=!1){if(e<N||s<E)return;if(x)x=!1;else if(!a&&(e===N||s===E))return;let S=new it.z(N,e),R=new it.z(E,s);if(S.isEmpty&&R.isEmpty)return;let O=r.takeWhile(t=>t.lineNumber<e)?.reduce((e,t)=>e+t.heightInPx,0)??0,A=i.takeWhile(e=>e.lineNumber<s)?.reduce((e,t)=>e+t.heightInPx,0)??0;T.push({originalRange:S,modifiedRange:R,originalHeightInPx:S.length*n+O,modifiedHeightInPx:R.length*_+A,diff:t.lineRangeMapping}),N=e,E=s}if(a)for(let t of s.innerChanges||[]){t.originalRange.startColumn>1&&t.modifiedRange.startColumn>1&&A(t.originalRange.startLineNumber,t.modifiedRange.startLineNumber);let s=e.getModel(),x=t.originalRange.endLineNumber<=s.getLineCount()?s.getLineMaxColumn(t.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;t.originalRange.endColumn<x&&A(t.originalRange.endLineNumber,t.modifiedRange.endLineNumber)}A(s.original.endLineNumberExclusive,s.modified.endLineNumberExclusive,!0),S=s.original.endLineNumberExclusive,R=s.modified.endLineNumberExclusive}return O(Number.MAX_VALUE,Number.MAX_VALUE),T}function DK(e,t){let s=[],x=[],E=-1!==e.getOption(147).wrappingColumn,a=e._getViewModel().coordinatesConverter,r=e.getOption(67);if(E)for(let t=1;t<=e.getModel().getLineCount();t++){let e=a.getModelLineViewLineCount(t);e>1&&x.push({lineNumber:t,heightInPx:r*(e-1)})}for(let x of e.getWhitespaces()){if(t.has(x.id))continue;let e=0===x.afterLineNumber?0:a.convertViewPositionToModelPosition(new cs.L(x.afterLineNumber,1)).lineNumber;s.push({lineNumber:e,heightInPx:x.height})}return function(e,t,s,x){if(0===e.length)return t;if(0===t.length)return e;let E=[],a=0,r=0;for(;a<e.length&&r<t.length;){let i=e[a],n=t[r],_=s(i),T=s(n);_<T?(E.push(i),a++):(_>T?E.push(n):(E.push(x(i,n)),a++),r++)}for(;a<e.length;)E.push(e[a]),a++;for(;r<t.length;)E.push(t[r]),r++;return E}(s,x,e=>e.lineNumber,(e,t)=>({lineNumber:e.lineNumber,heightInPx:e.heightInPx+t.heightInPx}))}function DQ(e){return!!e.innerChanges&&e.innerChanges.every(e=>DJ(e.modifiedRange)&&DJ(e.originalRange)||e.originalRange.equalsRange(new r3.e(1,1,1,1)))}function DJ(e){return e.startLineNumber===e.endLineNumber}Dw=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([Dk(8,Nm),Dk(9,iJ)],Dw);class DZ extends xf.JT{static{this.movedCodeBlockPadding=4}constructor(e,t,s,x,E){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=s,this._modifiedEditorLayoutInfo=x,this._editors=E,this._originalScrollTop=(0,Ts.rD)(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,Ts.rD)(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=(0,Ts.aq)("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=(0,Ts.uh)(this,0),this._modifiedViewZonesChangedSignal=(0,Ts.aq)("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=(0,Ts.aq)("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=(0,Ts.Be)(this,(e,t)=>{this._element.replaceChildren();let s=this._diffModel.read(e),x=s?.diff.read(e)?.movedTexts;if(!x||0===x.length){this.width.set(0,void 0);return}this._viewZonesChanged.read(e);let E=this._originalEditorLayoutInfo.read(e),a=this._modifiedEditorLayoutInfo.read(e);if(!E||!a){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(e),this._originalViewZonesChangedSignal.read(e);let r=x.map(t=>{function s(e,t){return(t.getTopForLineNumber(e.startLineNumber,!0)+t.getTopForLineNumber(e.endLineNumberExclusive,!0))/2}let x=s(t.lineRangeMapping.original,this._editors.original),E=this._originalScrollTop.read(e),a=s(t.lineRangeMapping.modified,this._editors.modified),r=this._modifiedScrollTop.read(e),i=x-E,n=a-r,_=Math.min(x,a),T=Math.max(x,a);return{range:new u1.q(_,T),from:i,to:n,fromWithoutScroll:x,toWithoutScroll:a,move:t}});r.sort((0,sD.f_)((0,sD.tT)(e=>e.fromWithoutScroll>e.toWithoutScroll,sD.nW),(0,sD.tT)(e=>e.fromWithoutScroll>e.toWithoutScroll?e.fromWithoutScroll:-e.toWithoutScroll,sD.fv)));let i=Dz.compute(r.map(e=>e.range)),n=E.verticalScrollbarWidth,_=(i.getTrackCount()-1)*10+20,T=n+_+(a.contentLeft-DZ.movedCodeBlockPadding),S=0;for(let e of r){let x=n+10+10*i.getTrack(S),E=a.glyphMarginWidth+a.lineNumbersWidth,r=document.createElementNS("http://www.w3.org/2000/svg","rect");r.classList.add("arrow-rectangle"),r.setAttribute("x",`${T-E}`),r.setAttribute("y",`${e.to-9}`),r.setAttribute("width",`${E}`),r.setAttribute("height","18"),this._element.appendChild(r);let _=document.createElementNS("http://www.w3.org/2000/svg","g"),R=document.createElementNS("http://www.w3.org/2000/svg","path");R.setAttribute("d",`M 0 ${e.from} L ${x} ${e.from} L ${x} ${e.to} L ${T-15} ${e.to}`),R.setAttribute("fill","none"),_.appendChild(R);let O=document.createElementNS("http://www.w3.org/2000/svg","polygon");O.classList.add("arrow"),t.add((0,Ts.EH)(t=>{R.classList.toggle("currentMove",e.move===s.activeMovedText.read(t)),O.classList.toggle("currentMove",e.move===s.activeMovedText.read(t))})),O.setAttribute("points",`${T-15},${e.to-7.5} ${T},${e.to} ${T-15},${e.to+7.5}`),_.appendChild(O),this._element.appendChild(_),S++}this.width.set(_,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((0,xf.OF)(()=>this._element.remove())),this._register((0,Ts.EH)(e=>{let t=this._originalEditorLayoutInfo.read(e),s=this._modifiedEditorLayoutInfo.read(e);t&&s&&(this._element.style.left=`${t.width-t.verticalScrollbarWidth}px`,this._element.style.height=`${t.height}px`,this._element.style.width=`${t.verticalScrollbarWidth+t.contentLeft-DZ.movedCodeBlockPadding+this.width.read(e)}px`)})),this._register((0,Ts.jx)(this._state));let a=(0,Ts.nK)(e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);return s?s.movedTexts.map(e=>({move:e,original:new uJ((0,Ts.Dz)(e.lineRangeMapping.original.startLineNumber-1),18),modified:new uJ((0,Ts.Dz)(e.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(uq(this._editors.original,a.map(e=>e.map(e=>e.original)))),this._register(uq(this._editors.modified,a.map(e=>e.map(e=>e.modified)))),this._register((0,Ts.gp)((e,t)=>{for(let s of a.read(e))t.add(new Dq(this._editors.original,s.original,s.move,"original",this._diffModel.get())),t.add(new Dq(this._editors.modified,s.modified,s.move,"modified",this._diffModel.get()))}));let r=(0,Ts.aq)("original.onDidFocusEditorWidget",e=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),i=(0,Ts.aq)("modified.onDidFocusEditorWidget",e=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>e(void 0),0))),n="modified";this._register((0,Ts.nJ)({createEmptyChangeSummary:()=>void 0,handleChange:(e,t)=>(e.didChange(r)&&(n="original"),e.didChange(i)&&(n="modified"),!0)},e=>{let t;r.read(e),i.read(e);let s=this._diffModel.read(e);if(!s)return;let x=s.diff.read(e);if(x&&"original"===n){let s=this._editors.originalCursor.read(e);s&&(t=x.movedTexts.find(e=>e.lineRangeMapping.original.contains(s.lineNumber)))}if(x&&"modified"===n){let s=this._editors.modifiedCursor.read(e);s&&(t=x.movedTexts.find(e=>e.lineRangeMapping.modified.contains(s.lineNumber)))}t!==s.movedTextToCompare.get()&&s.movedTextToCompare.set(void 0,void 0),s.setActiveMovedText(t)}))}}class Dz{static compute(e){let t=[],s=[];for(let x of e){let e=t.findIndex(e=>!e.intersectsStrict(x));-1===e&&(t.length>=6?e=(0,lo.Y0)(t,(0,sD.tT)(e=>e.intersectWithRangeLength(x),sD.fv)):(e=t.length,t.push(new u1.M))),t[e].addRange(x),s.push(e)}return new Dz(t.length,s)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class Dq extends uQ{constructor(e,t,s,x,E){let a;let r=a2("div.diff-hidden-lines-widget");super(e,t,r.root),this._editor=e,this._move=s,this._kind=x,this._diffModel=E,this._nodes=a2("div.diff-moved-code-block",{style:{marginRight:"4px"}},[a2("div.text-content@textContent"),a2("div.action-bar@actionBar")]),r.root.appendChild(this._nodes.root);let i=(0,Ts.rD)(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(uz(this._nodes.root,{paddingRight:i.map(e=>e.verticalScrollbarWidth)})),a=s.changes.length>0?"original"===this._kind?(0,sY.NC)("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,sY.NC)("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?(0,sY.NC)("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,sY.NC)("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);let n=this._register(new Ss(this._nodes.actionBar,{highlightToggledItems:!0})),_=new rO("",a,"",!1);n.push(_,{icon:!1,label:!0});let T=new rO("","Compare",rh.k.asClassName(i7.l.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===s?void 0:this._move,void 0)});this._register((0,Ts.EH)(e=>{let t=this._diffModel.movedTextToCompare.read(e)===s;T.checked=t})),n.push(T,{icon:!1,label:!0})}}class Dj extends xf.JT{constructor(e,t,s,x){super(),this._editors=e,this._diffModel=t,this._options=s,this._decorations=(0,Ts.nK)(this,e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);if(!s)return null;let x=this._diffModel.read(e).movedTextToCompare.read(e),E=this._options.renderIndicators.read(e),a=this._options.showEmptyDecorations.read(e),r=[],i=[];if(!x)for(let x of s.mappings)if(x.lineRangeMapping.original.isEmpty||r.push({range:x.lineRangeMapping.original.toInclusiveRange(),options:E?Dc:DS}),x.lineRangeMapping.modified.isEmpty||i.push({range:x.lineRangeMapping.modified.toInclusiveRange(),options:E?D_:DT}),x.lineRangeMapping.modified.isEmpty||x.lineRangeMapping.original.isEmpty)x.lineRangeMapping.original.isEmpty||r.push({range:x.lineRangeMapping.original.toInclusiveRange(),options:Do}),x.lineRangeMapping.modified.isEmpty||i.push({range:x.lineRangeMapping.modified.toInclusiveRange(),options:DO});else{let s=this._options.useTrueInlineDiffRendering.read(e)&&DQ(x.lineRangeMapping);for(let e of x.lineRangeMapping.innerChanges||[])if(x.lineRangeMapping.original.contains(e.originalRange.startLineNumber)&&r.push({range:e.originalRange,options:e.originalRange.isEmpty()&&a?DI:DN}),x.lineRangeMapping.modified.contains(e.modifiedRange.startLineNumber)&&i.push({range:e.modifiedRange,options:e.modifiedRange.isEmpty()&&a&&!s?DA:DR}),s){let s=t.model.original.getValueInRange(e.originalRange);i.push({range:e.modifiedRange,options:{description:"deleted-text",before:{content:s,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(x)for(let e of x.changes){let t=e.original.toInclusiveRange();t&&r.push({range:t,options:E?Dc:DS});let s=e.modified.toInclusiveRange();for(let t of(s&&i.push({range:s,options:E?D_:DT}),e.innerChanges||[]))r.push({range:t.originalRange,options:DN}),i.push({range:t.modifiedRange,options:DR})}let n=this._diffModel.read(e).activeMovedText.read(e);for(let e of s.movedTexts)r.push({range:e.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(e===n?" currentMove":""),blockPadding:[DZ.movedCodeBlockPadding,0,DZ.movedCodeBlockPadding,DZ.movedCodeBlockPadding]}}),i.push({range:e.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(e===n?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:i}}),this._register(uk(this._editors.original,this._decorations.map(e=>e?.originalDecorations||[]))),this._register(uk(this._editors.modified,this._decorations.map(e=>e?.modifiedDecorations||[])))}}class D${resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=(0,uX.B5)(this,e=>{let t=this._sashRatio.read(e)??this._options.splitViewDefaultRatio.read(e);return this._computeSashLeft(t,e)},(e,t)=>{let s=this.dimensions.width.get();this._sashRatio.set(e/s,t)}),this._sashRatio=(0,Ts.uh)(this,void 0)}_computeSashLeft(e,t){let s=this.dimensions.width.read(t),x=Math.floor(this._options.splitViewDefaultRatio.read(t)*s),E=this._options.enableSplitViewResizing.read(t)?Math.floor(e*s):x;return s<=200?x:E<100?100:E>s-100?s-100:E}}class D0 extends xf.JT{constructor(e,t,s,x,E,a){super(),this._domNode=e,this._dimensions=t,this._enabled=s,this._boundarySashes=x,this.sashLeft=E,this._resetSash=a,this._sash=this._register(new Ro(this._domNode,{getVerticalSashTop:e=>0,getVerticalSashLeft:e=>this.sashLeft.get(),getVerticalSashHeight:e=>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(e=>{this.sashLeft.set(this._startSashPosition+(e.currentX-e.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register((0,Ts.EH)(e=>{let t=this._boundarySashes.read(e);t&&(this._sash.orthogonalEndSash=t.bottom)})),this._register((0,Ts.EH)(e=>{let t=this._enabled.read(e);this._sash.state=t?3:0,this.sashLeft.read(e),this._dimensions.height.read(e),this._sash.layout()}))}}class D2 extends xf.JT{constructor(e,t,s){super(),this._editor=e,this._domNode=t,this.itemProvider=s,this.scrollTop=(0,Ts.rD)(this,this._editor.onDidScrollChange,e=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(e=>0===e),this.modelAttached=(0,Ts.rD)(this,this._editor.onDidChangeModel,e=>this._editor.hasModel()),this.editorOnDidChangeViewZones=(0,Ts.aq)("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=(0,Ts.aq)("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=(0,Ts.GN)("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";let x=this._domNode.appendChild(a2("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),E=new ResizeObserver(()=>{(0,Ts.PS)(e=>{this.domNodeSizeChanged.trigger(e)})});E.observe(this._domNode),this._register((0,xf.OF)(()=>E.disconnect())),this._register((0,Ts.EH)(e=>{x.className=this.isScrollTopZero.read(e)?"":"scroll-decoration"})),this._register((0,Ts.EH)(e=>this.render(e)))}dispose(){super.dispose(),aX(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);let t=this.scrollTop.read(e),s=this._editor.getVisibleRanges(),x=new Set(this.views.keys()),E=u1.q.ofStartAndLength(0,this._domNode.clientHeight);if(!E.isEmpty)for(let a of s){let s=new it.z(a.startLineNumber,a.endLineNumber+1),r=this.itemProvider.getIntersectingGutterItems(s,e);(0,Ts.PS)(e=>{for(let a of r){if(!a.range.intersect(s))continue;x.delete(a.id);let r=this.views.get(a.id);if(r)r.item.set(a,e);else{let e=document.createElement("div");this._domNode.appendChild(e);let t=(0,Ts.uh)("item",a),s=this.itemProvider.createView(t,e);r=new D1(t,s,e),this.views.set(a.id,r)}let i=a.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(a.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(a.range.startLineNumber-1,!1)-t,n=(1===a.range.endLineNumberExclusive?Math.max(i,this._editor.getTopForLineNumber(a.range.startLineNumber,!1)-t):Math.max(i,this._editor.getBottomForLineNumber(a.range.endLineNumberExclusive-1,!0)-t))-i;r.domNode.style.top=`${i}px`,r.domNode.style.height=`${n}px`,r.gutterItemView.layout(u1.q.ofStartAndLength(i,n),E)}})}for(let e of x){let t=this.views.get(e);t.gutterItemView.dispose(),t.domNode.remove(),this.views.delete(e)}}}class D1{constructor(e,t,s){this.item=e,this.gutterItemView=t,this.domNode=s}}class D3 extends rA{constructor(e){super(),this._getContext=e}runAction(e,t){let s=this._getContext();return super.runAction(e,s)}}var D7=x(21780);class D5 extends D7.MS{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){let e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new uv.A(e-1,t)}}x(28614);class D4 extends xf.JT{constructor(e,t,s={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new Ee.z5),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new xf.SL),s.hoverDelegate=s.hoverDelegate??this._register(cJ()),this.options=s,this.toggleMenuAction=this._register(new D6(()=>this.toggleMenuActionViewItem?.show(),s.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new Ss(this.element,{orientation:s.orientation,ariaLabel:s.ariaLabel,actionRunner:s.actionRunner,allowContextMenu:s.allowContextMenu,highlightToggledItems:s.highlightToggledItems,hoverDelegate:s.hoverDelegate,actionViewItemProvider:(e,x)=>{if(e.id===D6.ID)return this.toggleMenuActionViewItem=new TX(e,e.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:rh.k.asClassNameArray(s.moreIcon??i7.l.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(s.actionViewItemProvider){let t=s.actionViewItemProvider(e,x);if(t)return t}if(e instanceof ro){let s=new TX(e,e.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:e.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return s.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(s),this.disposables.add(this._onDidChangeDropdownVisibility.add(s.onDidChangeVisibility)),s}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();let s=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),s.push(this.toggleMenuAction)),s.forEach(e=>{this.actionBar.push(e,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(e)})})}getKeybindingLabel(e){let t=this.options.getKeyBinding?.(e);return t?.getLabel()??void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class D6 extends rO{static{this.ID="toolbar.toggle.more"}constructor(e,t){super(D6.ID,t=t||sY.NC("moreActions","More Actions..."),void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}var D8=x(49230),D9=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},Me=function(e,t){return function(s,x){t(s,x,e)}};let Mt=class extends D4{constructor(e,t,s,x,E,a,r,i){super(e,E,{getKeyBinding:e=>a.lookupKeybinding(e.id)??void 0,...t,allowContextMenu:!0,skipTelemetry:"string"==typeof t?.telemetrySource}),this._options=t,this._menuService=s,this._contextKeyService=x,this._contextMenuService=E,this._keybindingService=a,this._commandService=r,this._sessionDisposables=this._store.add(new xf.SL);let n=t?.telemetrySource;n&&this._store.add(this.actionBar.onDidRun(e=>i.publicLog2("workbenchActionExecuted",{id:e.action.id,from:n})))}setActions(e,t=[],s){this._sessionDisposables.clear();let x=e.slice(),E=t.slice(),a=[],r=0,i=[],n=!1;if(this._options?.hiddenItemStrategy!==-1)for(let e=0;e<x.length;e++){let t=x[e];(t instanceof ry||t instanceof rH)&&t.hideActions&&(a.push(t.hideActions.toggle),t.hideActions.toggle.checked&&r++,t.hideActions.isHidden&&(n=!0,x[e]=void 0,this._options?.hiddenItemStrategy!==0&&(i[e]=t)))}if(this._options?.overflowBehavior!==void 0){let e=(0,D8.j)(new Set(this._options.overflowBehavior.exempted),rl.$.map(x,e=>e?.id)),t=this._options.overflowBehavior.maxItems-e.size,s=0;for(let E=0;E<x.length;E++){let a=x[E];a&&(s++,!e.has(a.id)&&s>=t&&(x[E]=void 0,i[E]=a))}}(0,sD.Rs)(x),(0,sD.Rs)(i),super.setActions(x,rN.join(i,E)),(a.length>0||x.length>0)&&this._sessionDisposables.add(aE(this.getElement(),"contextmenu",e=>{let t=new x6(E1(this.getElement()),e),x=this.getItemAction(t.target);if(!x)return;t.preventDefault(),t.stopPropagation();let E=[];if(x instanceof ry&&x.menuKeybinding)E.push(x.menuKeybinding);else if(!(x instanceof rH||x instanceof D6)){let e=!!this._keybindingService.lookupKeybinding(x.id);E.push(NY(this._commandService,this._keybindingService,x.id,void 0,e))}if(a.length>0){let e=!1;if(1===r&&this._options?.hiddenItemStrategy===0){e=!0;for(let e=0;e<a.length;e++)if(a[e].checked){a[e]=rL({id:x.id,label:x.label,checked:!0,enabled:!1,run(){}});break}}if(!e&&(x instanceof ry||x instanceof rH)){if(!x.hideActions)return;E.push(x.hideActions.hide)}else E.push(rL({id:"label",label:(0,sY.NC)("hide","Hide"),enabled:!1,run(){}}))}let i=rN.join(E,a);this._options?.resetMenu&&!s&&(s=[this._options.resetMenu]),n&&s&&(i.push(new rN),i.push(rL({id:"resetThisMenu",label:(0,sY.NC)("resetThisMenu","Reset Menu"),run:()=>this._menuService.resetHiddenStates(s)}))),0!==i.length&&this._contextMenuService.showContextMenu({getAnchor:()=>t,getActions:()=>i,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:"string"==typeof this._options?.telemetrySource,contextKeyService:this._contextKeyService})}))}};Mt=D9([Me(2,rf),Me(3,rP.i6),Me(4,iJ),Me(5,iZ),Me(6,rD),Me(7,rV)],Mt);let Ms=class extends Mt{constructor(e,t,s,x,E,a,r,i,n){super(e,{resetMenu:t,...s},x,E,a,r,i,n),this._onDidChangeMenuItems=this._store.add(new Ee.Q5),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;let _=this._store.add(x.createMenu(t,E,{emitEventsForSubmenuChanges:!0})),T=()=>{let t=[],x=[];(function(e,t,s,x,E,a){let r,i,n,_,T;Array.isArray(e)?(T=e,r=t,i=s,n=x,_=E):(T=e.getActions(t),r=s,i=x,n=E,_=a),T6(T,r,!1,"string"==typeof i?e=>e===i:i,n,_)})(_,s?.menuOptions,{primary:t,secondary:x},s?.toolbarOptions?.primaryGroup,s?.toolbarOptions?.shouldInlineSubmenu,s?.toolbarOptions?.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",0===t.length&&0===x.length),super.setActions(t,x)};this._store.add(_.onDidChange(()=>{T(),this._onDidChangeMenuItems.fire(this)})),T()}setActions(){throw new xZ.he("This toolbar is populated from a menu.")}};Ms=D9([Me(3,rf),Me(4,rP.i6),Me(5,iJ),Me(6,iZ),Me(7,rD),Me(8,rV)],Ms);var Mx=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},ME=function(e,t){return function(s,x){t(s,x,e)}};let Ma=[],Mr=class extends xf.JT{constructor(e,t,s,x,E,a,r,i,n){super(),this._diffModel=t,this._editors=s,this._options=x,this._sashLayout=E,this._boundarySashes=a,this._instantiationService=r,this._contextKeyService=i,this._menuService=n,this._menu=this._register(this._menuService.createMenu(rm.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=(0,Ts.rD)(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(e=>e.length>0),this._showSash=(0,Ts.nK)(this,e=>this._options.renderSideBySide.read(e)&&this._hasActions.read(e)),this.width=(0,Ts.nK)(this,e=>this._hasActions.read(e)?35:0),this.elements=a2("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:"35px"}},[]),this._currentDiff=(0,Ts.nK)(this,e=>{let t=this._diffModel.read(e);if(!t)return;let s=t.diff.read(e)?.mappings,x=this._editors.modifiedCursor.read(e);if(x)return s?.find(e=>e.lineRangeMapping.modified.contains(x.lineNumber))}),this._selectedDiffs=(0,Ts.nK)(this,e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);if(!s)return Ma;let x=this._editors.modifiedSelections.read(e);if(x.every(e=>e.isEmpty()))return Ma;let E=new it.i(x.map(e=>it.z.fromRangeInclusive(e))),a=s.mappings.filter(e=>e.lineRangeMapping.innerChanges&&E.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>x.some(t=>r3.e.areIntersecting(e.modifiedRange,t)))}));return 0===a.length||a.every(e=>0===e.rangeMappings.length)?Ma:a}),this._register(function(e,t){return e.prepend(t),(0,xf.OF)(()=>{t.remove()})}(e,this.elements.root)),this._register(aE(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(uz(this.elements.root,{display:this._hasActions.map(e=>e?"block":"none")})),(0,uX.kA)(this,t=>this._showSash.read(t)?new D0(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,(0,uX.B5)(this,e=>this._sashLayout.sashLeft.read(e)-35,(e,t)=>this._sashLayout.sashLeft.set(e+35,t)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new D2(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(e,t)=>{let s=this._diffModel.read(t);if(!s)return[];let x=s.diff.read(t);if(!x)return[];let E=this._selectedDiffs.read(t);if(E.length>0)return[new Mi(ie.gB.fromRangeMappings(E.flatMap(e=>e.rangeMappings)),!0,rm.DiffEditorSelectionToolbar,void 0,s.model.original.uri,s.model.modified.uri)];let a=this._currentDiff.read(t);return x.mappings.map(e=>new Mi(e.lineRangeMapping.withInnerChangesFromLineRanges(),e.lineRangeMapping===a?.lineRangeMapping,rm.DiffEditorHunkToolbar,void 0,s.model.original.uri,s.model.modified.uri))},createView:(e,t)=>this._instantiationService.createInstance(Mn,e,t,this)})),this._register(aE(this.elements.gutter,af.MOUSE_WHEEL,e=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1}))}computeStagedValue(e){let t=e.innerChanges??[],s=new D5(this._editors.modifiedModel.get()),x=new D5(this._editors.original.getModel());return new D7.PY(t.map(e=>e.toTextEdit(s))).apply(x)}layout(e){this.elements.gutter.style.left=e+"px"}};Mr=Mx([ME(6,rc.TG),ME(7,rP.i6),ME(8,rf)],Mr);class Mi{constructor(e,t,s,x,E,a){this.mapping=e,this.showAlways=t,this.menuId=s,this.rangeOverride=x,this.originalUri=E,this.modifiedUri=a}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let Mn=class extends xf.JT{constructor(e,t,s,x){super(),this._item=e,this._elements=a2("div.gutterItem",{style:{height:"20px",width:"34px"}},[a2("div.background@background",{},[]),a2("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,e=>e.showAlways),this._menuId=this._item.map(this,e=>e.menuId),this._isSmall=(0,Ts.uh)(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;let E=this._register(x.createInstance(iK,"element",!0,{position:{hoverPosition:1}}));this._register(uw(t,this._elements.root)),this._register((0,Ts.EH)(e=>{let t=this._showAlways.read(e);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",t),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register((0,Ts.gp)((e,t)=>{this._elements.buttons.replaceChildren();let a=t.add(x.createInstance(Ms,this._elements.buttons,this._menuId.read(e),{orientation:1,hoverDelegate:E,toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(e)?1:3},hiddenItemStrategy:0,actionRunner:new D3(()=>{let e=this._item.get(),t=e.mapping;return{mapping:t,originalWithModifiedChanges:s.computeStagedValue(t),originalUri:e.originalUri,modifiedUri:e.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));t.add(a.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let s=this._elements.buttons.clientHeight;this._isSmall.set(1===this._item.get().mapping.original.startLineNumber&&e.length<30,void 0),s=this._elements.buttons.clientHeight;let x=e.length/2-s/2,E=s,a=e.start+x,r=u1.q.tryCreate(E,t.endExclusive-E-s),i=u1.q.tryCreate(e.start+E,e.endExclusive-s-E);i&&r&&i.start<i.endExclusive&&(a=r.clip(a),a=i.clip(a)),this._elements.buttons.style.top=`${a-e.start}px`}};Mn=Mx([ME(3,rc.TG)],Mn);var M_=x(86869),Mc=x(81941);function MT(e){return MS.get(e)}class MS extends xf.JT{static{this._map=new Map}static get(e){let t=MS._map.get(e);if(!t){t=new MS(e),MS._map.set(e,t);let s=e.onDidDispose(()=>{let t=MS._map.get(e);t&&(MS._map.delete(e),t.dispose(),s.dispose())})}return t}_beginUpdate(){this._updateCounter++,1===this._updateCounter&&(this._currentTransaction=new Mc.es(()=>{}))}_endUpdate(){if(this._updateCounter--,0===this._updateCounter){let e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=(0,Ts.uh)(this,this.editor.getModel()),this.model=this._model,this.isReadonly=(0,Ts.rD)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(92)),this._versionId=(0,Ts.Ku)({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=(0,Ts.Ku)({owner:this,equalsFn:(0,M_.Tx)((0,M_.ZC)(Ln.Y.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.isFocused=(0,Ts.rD)(this,e=>{let t=this.editor.onDidFocusEditorWidget(e),s=this.editor.onDidBlurEditorWidget(e);return{dispose(){t.dispose(),s.dispose()}}},()=>this.editor.hasWidgetFocus()),this.value=(0,uX.B5)(this,e=>(this.versionId.read(e),this.model.read(e)?.getValue()??""),(e,t)=>{let s=this.model.get();null!==s&&e!==s.getValue()&&s.setValue(e)}),this.valueIsEmpty=(0,Ts.nK)(this,e=>(this.versionId.read(e),this.editor.getModel()?.getValueLength()===0)),this.cursorSelection=(0,Ts.bk)({owner:this,equalsFn:(0,M_.Tx)(Ln.Y.selectionsEqual)},e=>this.selections.read(e)?.[0]??null),this.onDidType=(0,Ts.GN)(this),this.scrollTop=(0,Ts.rD)(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=(0,Ts.rD)(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=(0,Ts.rD)(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(e=>e.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(e=>e.decorationsLeft),this.contentWidth=(0,Ts.rD)(this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this._overlayWidgetCounter=0,this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(e=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,e)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(e=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(e=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,e),this._forceUpdate()}finally{this._endUpdate()}}))}forceUpdate(e){this._beginUpdate();try{if(this._forceUpdate(),!e)return;return e(this._currentTransaction)}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e){return(0,Ts.rD)(this,t=>this.editor.onDidChangeConfiguration(s=>{s.hasChanged(e)&&t(void 0)}),()=>this.editor.getOption(e))}setDecorations(e){let t=new xf.SL,s=this.editor.createDecorationsCollection();return t.add((0,Ts.UV)({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},t=>{let x=e.read(t);s.set(x)})),t.add({dispose:()=>{s.clear()}}),t}createOverlayWidget(e){let t="observableOverlayWidget"+this._overlayWidgetCounter++,s={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(s);let x=(0,Ts.EH)(t=>{e.position.read(t),e.minContentWidthInPx.read(t),this.editor.layoutOverlayWidget(s)});return(0,xf.OF)(()=>{x.dispose(),this.editor.removeOverlayWidget(s)})}}let MR=class extends xf.JT{static{e2=this}static{this._breadcrumbsSourceFactory=(0,Ts.uh)(e2,()=>({dispose(){},getBreadcrumbItems:(e,t)=>[]}))}static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,s,x){super(),this._editors=e,this._diffModel=t,this._options=s,this._instantiationService=x,this._modifiedOutlineSource=(0,uX.kA)(this,e=>{let t=this._editors.modifiedModel.read(e),s=e2._breadcrumbsSourceFactory.read(e);return t&&s?s(t,this._instantiationService):void 0}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(e=>{if(1===e.reason)return;let t=this._diffModel.get();(0,Ts.PS)(e=>{for(let s of this._editors.original.getSelections()||[])t?.ensureOriginalLineIsVisible(s.getStartPosition().lineNumber,0,e),t?.ensureOriginalLineIsVisible(s.getEndPosition().lineNumber,0,e)})})),this._register(this._editors.modified.onDidChangeCursorPosition(e=>{if(1===e.reason)return;let t=this._diffModel.get();(0,Ts.PS)(e=>{for(let s of this._editors.modified.getSelections()||[])t?.ensureModifiedLineIsVisible(s.getStartPosition().lineNumber,0,e),t?.ensureModifiedLineIsVisible(s.getEndPosition().lineNumber,0,e)})}));let E=this._diffModel.map((e,t)=>{let s=e?.unchangedRegions.read(t)??[];return 1===s.length&&1===s[0].modifiedLineNumber&&s[0].lineCount===this._editors.modifiedModel.read(t)?.getLineCount()?[]:s});this.viewZones=(0,Ts.Be)(this,(e,t)=>{let s=this._modifiedOutlineSource.read(e);if(!s)return{origViewZones:[],modViewZones:[]};let x=[],a=[],r=this._options.renderSideBySide.read(e),i=this._options.compactMode.read(e),n=E.read(e);for(let E=0;E<n.length;E++){let _=n[E];if(!_.shouldHideControls(e)&&(!i||0!==E&&E!==n.length-1)){if(i){{let e=new uJ((0,Ts.nK)(this,e=>_.getHiddenOriginalRange(e).startLineNumber-1),12);x.push(e),t.add(new MO(this._editors.original,e,_,!r))}{let e=new uJ((0,Ts.nK)(this,e=>_.getHiddenModifiedRange(e).startLineNumber-1),12);a.push(e),t.add(new MO(this._editors.modified,e,_))}}else{{let e=new uJ((0,Ts.nK)(this,e=>_.getHiddenOriginalRange(e).startLineNumber-1),24);x.push(e),t.add(new MA(this._editors.original,e,_,_.originalUnchangedRange,!r,s,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}{let e=new uJ((0,Ts.nK)(this,e=>_.getHiddenModifiedRange(e).startLineNumber-1),24);a.push(e),t.add(new MA(this._editors.modified,e,_,_.modifiedUnchangedRange,!1,s,e=>this._diffModel.get().ensureModifiedLineIsVisible(e,2,void 0),this._options))}}}}return{origViewZones:x,modViewZones:a}});let a={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},r={description:"Fold Unchanged",glyphMarginHoverMessage:new n3(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,sY.NC)("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+rh.k.asClassName(i7.l.fold),zIndex:10001};this._register(uk(this._editors.original,(0,Ts.nK)(this,e=>{let t=E.read(e),s=t.map(e=>({range:e.originalUnchangedRange.toInclusiveRange(),options:a}));for(let x of t)x.shouldHideControls(e)&&s.push({range:r3.e.fromPositions(new cs.L(x.originalLineNumber,1)),options:r});return s}))),this._register(uk(this._editors.modified,(0,Ts.nK)(this,e=>{let t=E.read(e),s=t.map(e=>({range:e.modifiedUnchangedRange.toInclusiveRange(),options:a}));for(let x of t)x.shouldHideControls(e)&&s.push({range:it.z.ofLength(x.modifiedLineNumber,1).toInclusiveRange(),options:r});return s}))),this._register((0,Ts.EH)(e=>{let t=E.read(e);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(t.map(t=>t.getHiddenOriginalRange(e).toInclusiveRange()).filter(ru.$K)),this._editors.modified.setHiddenAreas(t.map(t=>t.getHiddenModifiedRange(e).toInclusiveRange()).filter(ru.$K))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){let t=e.target.position.lineNumber,s=this._diffModel.get();if(!s)return;let x=s.unchangedRegions.get().find(e=>e.modifiedUnchangedRange.includes(t));x&&(x.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault())}})),this._register(this._editors.original.onMouseUp(e=>{if(!e.event.rightButton&&e.target.position&&e.target.element?.className.includes("fold-unchanged")){let t=e.target.position.lineNumber,s=this._diffModel.get();if(!s)return;let x=s.unchangedRegions.get().find(e=>e.originalUnchangedRange.includes(t));x&&(x.collapseAll(void 0),e.event.stopPropagation(),e.event.preventDefault())}}))}};MR=e2=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([(C=rc.TG,function(e,t){C(e,t,3)})],MR);class MO extends uQ{constructor(e,t,s,x=!1){let E=a2("div.diff-hidden-lines-widget");super(e,t,E.root),this._unchangedRegion=s,this._hide=x,this._nodes=a2("div.diff-hidden-lines-compact",[a2("div.line-left",[]),a2("div.text@text",[]),a2("div.line-right",[])]),E.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register((0,Ts.EH)(e=>{if(!this._hide){let t=this._unchangedRegion.getHiddenModifiedRange(e).length,s=(0,sY.NC)("hiddenLines","{0} hidden lines",t);this._nodes.text.innerText=s}}))}}class MA extends uQ{constructor(e,t,s,x,E,a,r,i){let n=a2("div.diff-hidden-lines-widget");super(e,t,n.root),this._editor=e,this._unchangedRegion=s,this._unchangedRegionRange=x,this._hide=E,this._modifiedOutlineSource=a,this._revealModifiedHiddenLine=r,this._options=i,this._nodes=a2("div.diff-hidden-lines",[a2("div.top@top",{title:(0,sY.NC)("diff.hiddenLines.top","Click or drag to show more above")}),a2("div.center@content",{style:{display:"flex"}},[a2("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[ak("a",{title:(0,sY.NC)("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...nI("$(unfold)"))]),a2("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),a2("div.bottom@bottom",{title:(0,sY.NC)("diff.bottom","Click or drag to show more below"),role:"button"})]),n.root.appendChild(this._nodes.root),this._hide?aX(this._nodes.first):this._register(uz(this._nodes.first,{width:MT(this._editor).layoutInfoContentLeft})),this._register((0,Ts.EH)(e=>{let t=this._unchangedRegion.visibleLineCountTop.read(e)+this._unchangedRegion.visibleLineCountBottom.read(e)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!t),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),this._nodes.top.classList.toggle("canMoveBottom",!t);let s=this._unchangedRegion.isDragged.read(e),x=this._editor.getDomNode();x&&(x.classList.toggle("draggingUnchangedRegion",!!s),"top"===s?(x.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(e)>0),x.classList.toggle("canMoveBottom",!t)):"bottom"===s?(x.classList.toggle("canMoveTop",!t),x.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(e)>0)):(x.classList.toggle("canMoveTop",!1),x.classList.toggle("canMoveBottom",!1)))}));let _=this._editor;this._register(aE(this._nodes.top,"mousedown",e=>{if(0!==e.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();let t=e.clientY,s=!1,x=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);let E=E1(this._nodes.top),a=aE(E,"mousemove",e=>{let E=e.clientY-t;s=s||Math.abs(E)>2;let a=Math.max(0,Math.min(x+Math.round(E/_.getOption(67)),this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(a,void 0)}),r=aE(E,"mouseup",e=>{s||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),a.dispose(),r.dispose()})})),this._register(aE(this._nodes.bottom,"mousedown",e=>{if(0!==e.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),e.preventDefault();let t=e.clientY,s=!1,x=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);let E=E1(this._nodes.bottom),a=aE(E,"mousemove",e=>{let E=e.clientY-t;s=s||Math.abs(E)>2;let a=Math.max(0,Math.min(x-Math.round(E/_.getOption(67)),this._unchangedRegion.getMaxVisibleLineCountBottom())),r=this._unchangedRegionRange.endLineNumberExclusive>_.getModel().getLineCount()?_.getContentHeight():_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(a,void 0);let i=this._unchangedRegionRange.endLineNumberExclusive>_.getModel().getLineCount()?_.getContentHeight():_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);_.setScrollTop(_.getScrollTop()+(i-r))}),r=aE(E,"mouseup",e=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!s){let e=_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);let t=_.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);_.setScrollTop(_.getScrollTop()+(t-e))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),a.dispose(),r.dispose()})})),this._register((0,Ts.EH)(e=>{let t=[];if(!this._hide){let x=s.getHiddenModifiedRange(e).length,E=(0,sY.NC)("hiddenLines","{0} hidden lines",x),a=ak("span",{title:(0,sY.NC)("diff.hiddenLines.expandAll","Double click to unfold")},E);a.addEventListener("dblclick",e=>{0===e.button&&(e.preventDefault(),this._unchangedRegion.showAll(void 0))}),t.push(a);let r=this._unchangedRegion.getHiddenModifiedRange(e),i=this._modifiedOutlineSource.getBreadcrumbItems(r,e);if(i.length>0){t.push(ak("span",void 0,"\xa0\xa0|\xa0\xa0"));for(let e=0;e<i.length;e++){let s=i[e],x=a2("div.breadcrumb-item",{style:{display:"flex",alignItems:"center"}},[nL(_U.uZ.toIcon(s.kind)),"\xa0",s.name,...e===i.length-1?[]:[nL(i7.l.chevronRight)]]).root;t.push(x),x.onclick=()=>{this._revealModifiedHiddenLine(s.startLineNumber)}}}}aX(this._nodes.others,...t)}))}}let MN=class extends xf.JT{static{e1=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=2*this.ONE_OVERVIEW_WIDTH}constructor(e,t,s,x,E,a,r){super(),this._editors=e,this._rootElement=t,this._diffModel=s,this._rootWidth=x,this._rootHeight=E,this._modifiedEditorLayoutInfo=a,this._themeService=r,this.width=e1.ENTIRE_DIFF_OVERVIEW_WIDTH;let i=(0,Ts.rD)(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),n=(0,Ts.nK)(e=>{let t=i.read(e);return{insertColor:t.getColor(iv.P6Y)||(t.getColor(iv.ypS)||iv.CzK).transparent(2),removeColor:t.getColor(iv.F9q)||(t.getColor(iv.P4M)||iv.keg).transparent(2)}}),_=a9(document.createElement("div"));_.setClassName("diffViewport"),_.setPosition("absolute");let T=a2("div.diffOverview",{style:{position:"absolute",top:"0px",width:e1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(uw(T,_.domNode)),this._register(aa(T,af.POINTER_DOWN,e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)})),this._register(aE(T,af.MOUSE_WHEEL,e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)},{passive:!1})),this._register(uw(this._rootElement,T)),this._register((0,Ts.gp)((e,t)=>{let s=this._diffModel.read(e),x=this._editors.original.createOverviewRuler("original diffOverviewRuler");x&&(t.add(x),t.add(uw(T,x.getDomNode())));let E=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(E&&(t.add(E),t.add(uw(T,E.getDomNode()))),!x||!E)return;let a=(0,Ts.aq)("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=(0,Ts.aq)("viewZoneChanged",this._editors.modified.onDidChangeViewZones),i=(0,Ts.aq)("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),S=(0,Ts.aq)("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);t.add((0,Ts.EH)(e=>{a.read(e),r.read(e),i.read(e),S.read(e);let t=n.read(e),_=s?.diff.read(e)?.mappings;function T(e,t,s){let x=s._getViewModel();return x?e.filter(e=>e.length>0).map(e=>{let s=x.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(e.startLineNumber,1)),E=x.coordinatesConverter.convertModelPositionToViewPosition(new cs.L(e.endLineNumberExclusive,1)),a=E.lineNumber-s.lineNumber;return new CH(s.lineNumber,E.lineNumber,a,t.toString())}):[]}let R=T((_||[]).map(e=>e.lineRangeMapping.original),t.removeColor,this._editors.original),O=T((_||[]).map(e=>e.lineRangeMapping.modified),t.insertColor,this._editors.modified);x?.setZones(R),E?.setZones(O)})),t.add((0,Ts.EH)(e=>{let t=this._rootHeight.read(e),s=this._rootWidth.read(e),a=this._modifiedEditorLayoutInfo.read(e);if(a){let s=e1.ENTIRE_DIFF_OVERVIEW_WIDTH-2*e1.ONE_OVERVIEW_WIDTH;x.setLayout({top:0,height:t,right:s+e1.ONE_OVERVIEW_WIDTH,width:e1.ONE_OVERVIEW_WIDTH}),E.setLayout({top:0,height:t,right:0,width:e1.ONE_OVERVIEW_WIDTH});let r=this._editors.modifiedScrollTop.read(e),i=this._editors.modifiedScrollHeight.read(e),n=this._editors.modified.getOption(104),T=new i3(n.verticalHasArrows?n.arrowSize:0,n.verticalScrollbarSize,0,a.height,i,r);_.setTop(T.getSliderPosition()),_.setHeight(T.getSliderSize())}else _.setTop(0),_.setHeight(0);T.style.height=t+"px",T.style.left=s-e1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",_.setWidth(e1.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};MN=e1=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([(l=iR.XE,function(e,t){l(e,t,6)})],MN);let Mo=[];class MI extends xf.JT{constructor(e,t,s,x){super(),this._editors=e,this._diffModel=t,this._options=s,this._widget=x,this._selectedDiffs=(0,Ts.nK)(this,e=>{let t=this._diffModel.read(e),s=t?.diff.read(e);if(!s)return Mo;let x=this._editors.modifiedSelections.read(e);if(x.every(e=>e.isEmpty()))return Mo;let E=new it.i(x.map(e=>it.z.fromRangeInclusive(e))),a=s.mappings.filter(e=>e.lineRangeMapping.innerChanges&&E.intersects(e.lineRangeMapping.modified)).map(e=>({mapping:e,rangeMappings:e.lineRangeMapping.innerChanges.filter(e=>x.some(t=>r3.e.areIntersecting(e.modifiedRange,t)))}));return 0===a.length||a.every(e=>0===e.rangeMappings.length)?Mo:a}),this._register((0,Ts.gp)((e,t)=>{if(!this._options.shouldRenderOldRevertArrows.read(e))return;let s=this._diffModel.read(e),x=s?.diff.read(e);if(!s||!x||s.movedTextToCompare.read(e))return;let E=[],a=this._selectedDiffs.read(e),r=new Set(a.map(e=>e.mapping));if(a.length>0){let s=this._editors.modifiedSelections.read(e),x=t.add(new ML(s[s.length-1].positionLineNumber,this._widget,a.flatMap(e=>e.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(x),E.push(x)}for(let e of x.mappings)if(!r.has(e)&&!e.lineRangeMapping.modified.isEmpty&&e.lineRangeMapping.innerChanges){let s=t.add(new ML(e.lineRangeMapping.modified.startLineNumber,this._widget,e.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(s),E.push(s)}t.add((0,xf.OF)(()=>{for(let e of E)this._editors.modified.removeGlyphMarginWidget(e)}))}))}}class ML extends xf.JT{static{this.counter=0}getId(){return this._id}constructor(e,t,s,x){super(),this._lineNumber=e,this._widget=t,this._diffs=s,this._revertSelection=x,this._id=`revertButton${ML.counter++}`,this._domNode=a2("div.revertButton",{title:this._revertSelection?(0,sY.NC)("revertSelectedChanges","Revert Selected Changes"):(0,sY.NC)("revertChange","Revert Change")},[nL(i7.l.arrowRight)]).root,this._register(aE(this._domNode,af.MOUSE_DOWN,e=>{2!==e.button&&(e.stopPropagation(),e.preventDefault())})),this._register(aE(this._domNode,af.MOUSE_UP,e=>{e.stopPropagation(),e.preventDefault()})),this._register(aE(this._domNode,af.CLICK,e=>{this._diffs instanceof ie.f0?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),e.stopPropagation(),e.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:of.U.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}var Mh=x(45843);function MC(e,t,s){let x=e.bindTo(t);return(0,Ts.UV)({debugName:()=>`Set Context Key "${e.key}"`},e=>{x.set(s(e))})}var Ml=function(e,t){return function(s,x){t(s,x,e)}};let Mu=class extends xf.JT{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,s,x,E,a,r){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=s,this._argCodeEditorWidgetOptions=x,this._createInnerEditor=E,this._instantiationService=a,this._keybindingService=r,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new Ee.Q5),this.modifiedScrollTop=(0,Ts.rD)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=(0,Ts.rD)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=MT(this.modified),this.originalObs=MT(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=(0,Ts.rD)(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=(0,Ts.bk)({owner:this,equalsFn:cs.L.equals},e=>this.modifiedSelections.read(e)[0]?.getPosition()??new cs.L(1,1)),this.originalCursor=(0,Ts.rD)(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new cs.L(1,1)),this._argCodeEditorWidgetOptions=null,this._register((0,Ts.nJ)({createEmptyChangeSummary:()=>({}),handleChange:(e,t)=>(e.didChange(s.editorOptions)&&Object.assign(t,e.change.changedOptions),!0)},(e,t)=>{s.editorOptions.read(e),this._options.renderSideBySide.read(e),this.modified.updateOptions(this._adjustOptionsForRightHandSide(e,t)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(e,t))}))}_createLeftHandSideEditor(e,t){let s=this._adjustOptionsForLeftHandSide(void 0,e),x=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,s,t);return x.setContextValue("isInDiffLeftEditor",!0),x}_createRightHandSideEditor(e,t){let s=this._adjustOptionsForRightHandSide(void 0,e),x=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,s,t);return x.setContextValue("isInDiffRightEditor",!0),x}_constructInnerEditor(e,t,s,x){let E=this._createInnerEditor(e,t,s,x);return this._register(E.onDidContentSizeChange(e=>{let t=this.original.getContentWidth()+this.modified.getContentWidth()+MN.ENTIRE_DIFF_OVERVIEW_WIDTH,s=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:s,contentWidth:t,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})})),E}_adjustOptionsForLeftHandSide(e,t){let s=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(s.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},s.wordWrapOverride1=this._options.diffWordWrap.get()):(s.wordWrapOverride1="off",s.wordWrapOverride2="off",s.stickyScroll={enabled:!1},s.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),s.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(s.ariaLabel=t.originalAriaLabel),s.ariaLabel=this._updateAriaLabel(s.ariaLabel),s.readOnly=!this._options.originalEditable.get(),s.dropIntoEditor={enabled:!s.readOnly},s.extraEditorClassName="original-in-monaco-diff-editor",s}_adjustOptionsForRightHandSide(e,t){let s=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(s.ariaLabel=t.modifiedAriaLabel),s.ariaLabel=this._updateAriaLabel(s.ariaLabel),s.wordWrapOverride1=this._options.diffWordWrap.get(),s.revealHorizontalRightPadding=xG.revealHorizontalRightPadding.defaultValue+MN.ENTIRE_DIFF_OVERVIEW_WIDTH,s.scrollbar.verticalHasArrows=!1,s.extraEditorClassName="modified-in-monaco-diff-editor",s}_adjustOptionsForSubEditor(e){let t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){e||(e="");let t=(0,sY.NC)("diff-aria-navigation-tip"," use {0} to open the accessibility help.",this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,""):""}};Mu=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([Ml(5,rc.TG),Ml(6,iZ)],Mu);class MD extends xf.JT{constructor(){super(...arguments),this._id=++MD.idCounter,this._onDidDispose=this._register(new Ee.Q5),this.onDidDispose=this._onDidDispose.event}static{this.idCounter=0}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,s=0){this._targetEditor.revealLines(e,t,s)}revealLinesInCenter(e,t,s=0){this._targetEditor.revealLinesInCenter(e,t,s)}revealLinesInCenterIfOutsideViewport(e,t,s=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,s)}revealLinesNearTop(e,t,s=0){this._targetEditor.revealLinesNearTop(e,t,s)}revealRange(e,t=0,s=!1,x=!0){this._targetEditor.revealRange(e,t,s,x)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,s){this._targetEditor.trigger(e,t,s)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}let MM=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=(0,Ts.uh)(this,0),this._screenReaderMode=(0,Ts.rD)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=(0,Ts.nK)(this,e=>this._options.read(e).renderSideBySide&&this._diffEditorWidth.read(e)<=this._options.read(e).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=(0,Ts.nK)(this,e=>this._options.read(e).renderOverviewRuler),this.renderSideBySide=(0,Ts.nK)(this,e=>!(this.compactMode.read(e)&&this.shouldRenderInlineViewInSmartMode.read(e))&&this._options.read(e).renderSideBySide&&!(this._options.read(e).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(e)&&!this._screenReaderMode.read(e))),this.readOnly=(0,Ts.nK)(this,e=>this._options.read(e).readOnly),this.shouldRenderOldRevertArrows=(0,Ts.nK)(this,e=>!(!this._options.read(e).renderMarginRevertIcon||!this.renderSideBySide.read(e)||this.readOnly.read(e)||this.shouldRenderGutterMenu.read(e))),this.shouldRenderGutterMenu=(0,Ts.nK)(this,e=>this._options.read(e).renderGutterMenu),this.renderIndicators=(0,Ts.nK)(this,e=>this._options.read(e).renderIndicators),this.enableSplitViewResizing=(0,Ts.nK)(this,e=>this._options.read(e).enableSplitViewResizing),this.splitViewDefaultRatio=(0,Ts.nK)(this,e=>this._options.read(e).splitViewDefaultRatio),this.ignoreTrimWhitespace=(0,Ts.nK)(this,e=>this._options.read(e).ignoreTrimWhitespace),this.maxComputationTimeMs=(0,Ts.nK)(this,e=>this._options.read(e).maxComputationTime),this.showMoves=(0,Ts.nK)(this,e=>this._options.read(e).experimental.showMoves&&this.renderSideBySide.read(e)),this.isInEmbeddedEditor=(0,Ts.nK)(this,e=>this._options.read(e).isInEmbeddedEditor),this.diffWordWrap=(0,Ts.nK)(this,e=>this._options.read(e).diffWordWrap),this.originalEditable=(0,Ts.nK)(this,e=>this._options.read(e).originalEditable),this.diffCodeLens=(0,Ts.nK)(this,e=>this._options.read(e).diffCodeLens),this.accessibilityVerbose=(0,Ts.nK)(this,e=>this._options.read(e).accessibilityVerbose),this.diffAlgorithm=(0,Ts.nK)(this,e=>this._options.read(e).diffAlgorithm),this.showEmptyDecorations=(0,Ts.nK)(this,e=>this._options.read(e).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=(0,Ts.nK)(this,e=>this._options.read(e).onlyShowAccessibleDiffViewer),this.compactMode=(0,Ts.nK)(this,e=>this._options.read(e).compactMode),this.trueInlineDiffRenderingEnabled=(0,Ts.nK)(this,e=>this._options.read(e).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=(0,Ts.nK)(this,e=>!this.renderSideBySide.read(e)&&this.trueInlineDiffRenderingEnabled.read(e)),this.hideUnchangedRegions=(0,Ts.nK)(this,e=>this._options.read(e).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=(0,Ts.nK)(this,e=>this._options.read(e).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=(0,Ts.nK)(this,e=>this._options.read(e).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=(0,Ts.nK)(this,e=>this._options.read(e).hideUnchangedRegions.minimumLineCount),this._model=(0,Ts.uh)(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,e=>(0,Mh.lI)(this,t=>{var s;let x=e?.diff.read(t);return x?(s=this.trueInlineDiffRenderingEnabled.read(t),x.mappings.every(e=>0===e.lineRangeMapping.original.length||0===e.lineRangeMapping.modified.length||s&&DQ(e.lineRangeMapping))):void 0})).flatten().map(this,e=>!!e),this.inlineViewHideOriginalLineNumbers=this.compactMode;let s={...e,...MP(e,_4)};this._options=(0,Ts.uh)(this,s)}updateOptions(e){let t=MP(e,this._options.get()),s={...this._options.get(),...e,...t};this._options.set(s,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};function MP(e,t){return{enableSplitViewResizing:sH(e.enableSplitViewResizing,t.enableSplitViewResizing),splitViewDefaultRatio:function(e,t,s,x){if(void 0===e)return .5;let E=sb.float(e,.5);return sb.clamp(E,.1,.9)}(e.splitViewDefaultRatio,0,0,0),renderSideBySide:sH(e.renderSideBySide,t.renderSideBySide),renderMarginRevertIcon:sH(e.renderMarginRevertIcon,t.renderMarginRevertIcon),maxComputationTime:sV(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:sV(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:sH(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:sH(e.renderIndicators,t.renderIndicators),originalEditable:sH(e.originalEditable,t.originalEditable),diffCodeLens:sH(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:sH(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:sk(e.diffWordWrap,t.diffWordWrap,["off","on","inherit"]),diffAlgorithm:sk(e.diffAlgorithm,t.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:sH(e.accessibilityVerbose,t.accessibilityVerbose),experimental:{showMoves:sH(e.experimental?.showMoves,t.experimental.showMoves),showEmptyDecorations:sH(e.experimental?.showEmptyDecorations,t.experimental.showEmptyDecorations),useTrueInlineView:sH(e.experimental?.useTrueInlineView,t.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:sH(e.hideUnchangedRegions?.enabled??e.experimental?.collapseUnchangedRegions,t.hideUnchangedRegions.enabled),contextLineCount:sV(e.hideUnchangedRegions?.contextLineCount,t.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:sV(e.hideUnchangedRegions?.minimumLineCount,t.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:sV(e.hideUnchangedRegions?.revealLineCount,t.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:sH(e.isInEmbeddedEditor,t.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:sH(e.onlyShowAccessibleDiffViewer,t.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:sV(e.renderSideBySideInlineBreakpoint,t.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:sH(e.useInlineViewWhenSpaceIsLimited,t.useInlineViewWhenSpaceIsLimited),renderGutterMenu:sH(e.renderGutterMenu,t.renderGutterMenu),compactMode:sH(e.compactMode,t.compactMode)}}MM=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([function(e,t){_g(e,t,1)}],MM);var MU=function(e,t){return function(s,x){t(s,x,e)}};let Md=class extends MD{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,s,x,E,a,r,i){let n;super(),this._domElement=e,this._parentContextKeyService=x,this._parentInstantiationService=E,this._accessibilitySignalService=r,this._editorProgressService=i,this.elements=a2("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[a2("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),a2("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),a2("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register((0,Ts.DN)(this,void 0)),this._diffModel=(0,Ts.nK)(this,e=>this._diffModelSrc.read(e)?.object),this.onDidChangeModel=Ee.ju.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new NJ([rP.i6,this._contextKeyService]))),this._boundarySashes=(0,Ts.uh)(this,void 0),this._accessibleDiffViewerShouldBeVisible=(0,Ts.uh)(this,!1),this._accessibleDiffViewerVisible=(0,Ts.nK)(this,e=>!!this._options.onlyShowAccessibleDiffViewer.read(e)||this._accessibleDiffViewerShouldBeVisible.read(e)),this._movedBlocksLinesPart=(0,Ts.uh)(this,void 0),this._layoutInfo=(0,Ts.nK)(this,e=>{let t,s,x,E,a;let r=this._rootSizeObserver.width.read(e),i=this._rootSizeObserver.height.read(e);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=i+"px";let n=this._sash.read(e),_=this._gutter.read(e),T=_?.width.read(e)??0,S=this._overviewRulerPart.read(e)?.width??0;if(n){let i=n.sashLeft.read(e);t=0,s=i-T-(this._movedBlocksLinesPart.read(e)?.width.read(e)??0),a=i-T,E=r-(x=i)-S}else{a=0;let i=this._options.inlineViewHideOriginalLineNumbers.read(e);t=T,E=r-(x=T+(s=i?0:Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(e))))-S}return this.elements.original.style.left=t+"px",this.elements.original.style.width=s+"px",this._editors.original.layout({width:s,height:i},!0),_?.layout(a),this.elements.modified.style.left=x+"px",this.elements.modified.style.width=E+"px",this._editors.modified.layout({width:E,height:i},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((e,t)=>e?.diff.read(t)),this.onDidUpdateDiff=Ee.ju.fromObservableLight(this._diffValue),a.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register((0,xf.OF)(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new uW(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(t.automaticLayout??!1),this._options=this._instantiationService.createInstance(MM,t),this._register((0,Ts.EH)(e=>{this._options.setWidth(this._rootSizeObserver.width.read(e))})),this._contextKeyService.createKey(eK.isEmbeddedDiffEditor.key,!1),this._register(MC(eK.isEmbeddedDiffEditor,this._contextKeyService,e=>this._options.isInEmbeddedEditor.read(e))),this._register(MC(eK.comparingMovedCode,this._contextKeyService,e=>!!this._diffModel.read(e)?.movedTextToCompare.read(e))),this._register(MC(eK.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,e=>this._options.couldShowInlineViewBecauseOfSize.read(e))),this._register(MC(eK.diffEditorInlineMode,this._contextKeyService,e=>!this._options.renderSideBySide.read(e))),this._register(MC(eK.hasChanges,this._contextKeyService,e=>(this._diffModel.read(e)?.diff.read(e)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance(Mu,this.elements.original,this.elements.modified,this._options,s,(e,t,s,x)=>this._createInnerEditor(e,t,s,x))),this._register(MC(eK.diffEditorOriginalWritable,this._contextKeyService,e=>this._options.originalEditable.read(e))),this._register(MC(eK.diffEditorModifiedWritable,this._contextKeyService,e=>!this._options.readOnly.read(e))),this._register(MC(eK.diffEditorOriginalUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.original.uri.toString()??"")),this._register(MC(eK.diffEditorModifiedUri,this._contextKeyService,e=>this._diffModel.read(e)?.model.modified.uri.toString()??"")),this._overviewRulerPart=(0,uX.kA)(this,e=>this._options.renderOverviewRuler.read(e)?this._instantiationService.createInstance(DU(MN,e),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(e=>e.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);let _={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((e,t)=>e-(this._overviewRulerPart.read(t)?.width??0))};this._sashLayout=new D$(this._options,_),this._sash=(0,uX.kA)(this,e=>{let t=this._options.renderSideBySide.read(e);return this.elements.root.classList.toggle("side-by-side",t),t?new D0(this.elements.root,_,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);let T=(0,uX.kA)(this,e=>this._instantiationService.createInstance(DU(MR,e),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);(0,uX.kA)(this,e=>this._instantiationService.createInstance(DU(Dj,e),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);let S=new Set,R=new Set,O=!1,A=(0,uX.kA)(this,e=>this._instantiationService.createInstance(DU(Dw,e),E1(this._domElement),this._editors,this._diffModel,this._options,this,()=>O||T.get().isUpdatingHiddenAreas,S,R)).recomputeInitiallyAndOnChange(this._store),N=(0,Ts.nK)(this,e=>{let t=A.read(e).viewZones.read(e).orig,s=T.read(e).viewZones.read(e).origViewZones;return t.concat(s)}),o=(0,Ts.nK)(this,e=>{let t=A.read(e).viewZones.read(e).mod,s=T.read(e).viewZones.read(e).modViewZones;return t.concat(s)});this._register(uq(this._editors.original,N,e=>{O=e},S)),this._register(uq(this._editors.modified,o,e=>{(O=e)?n=ub.capture(this._editors.modified):(n?.restore(this._editors.modified),n=void 0)},R)),this._accessibleDiffViewer=(0,uX.kA)(this,e=>this._instantiationService.createInstance(DU(u8,e),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(e,t)=>this._accessibleDiffViewerShouldBeVisible.set(e,t),this._options.onlyShowAccessibleDiffViewer.map(e=>!e),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((e,t)=>e?.diff.read(t)?.mappings.map(e=>e.lineRangeMapping)),new Dr(this._editors))).recomputeInitiallyAndOnChange(this._store);let I=this._accessibleDiffViewerVisible.map(e=>e?"hidden":"visible");this._register(uz(this.elements.modified,{visibility:I})),this._register(uz(this.elements.original,{visibility:I})),this._createDiffEditorContributions(),a.addDiffEditor(this),this._gutter=(0,uX.kA)(this,e=>this._options.shouldRenderGutterMenu.read(e)?this._instantiationService.createInstance(DU(Mr,e),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register((0,Ts.jx)(this._layoutInfo)),(0,uX.kA)(this,e=>new(DU(DZ,e))(this.elements.root,this._diffModel,this._layoutInfo.map(e=>e.originalEditor),this._layoutInfo.map(e=>e.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,e=>{this._movedBlocksLinesPart.set(e,void 0)}),this._register(Ee.ju.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!0))),this._register(Ee.ju.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,e=>this._handleCursorPositionChange(e,!1)));let L=this._diffModel.map(this,(e,t)=>{if(e)return void 0===e.diff.read(t)&&!e.isDiffUpToDate.read(t)});this._register((0,Ts.gp)((e,t)=>{if(!0===L.read(e)){let e=this._editorProgressService.show(!0,1e3);t.add((0,xf.OF)(()=>e.done()))}})),this._register((0,Ts.gp)((e,t)=>{t.add(new(DU(MI,e))(this._editors,this._diffModel,this._options,this))})),this._register((0,Ts.gp)((e,t)=>{let s=this._diffModel.read(e);if(s)for(let e of[s.model.original,s.model.modified])t.add(e.onWillDispose(e=>{(0,xZ.dL)(new xZ.he("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register((0,Ts.EH)(e=>{this._options.setModel(this._diffModel.read(e))}))}_createInnerEditor(e,t,s,x){return e.createInstance(uP,t,s,x)}_createDiffEditorContributions(){for(let e of Z.getDiffEditorContributions())try{this._register(this._instantiationService.createInstance(e.ctor,this))}catch(e){(0,xZ.dL)(e)}}get _targetEditor(){return this._editors.modified}getEditorType(){return om.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:this._diffModel.get()?.serializeState()}}restoreViewState(e){e&&e.original&&e.modified&&(this._editors.original.restoreViewState(e.original),this._editors.modified.restoreViewState(e.modified),e.modelState&&this._diffModel.get()?.restoreSerializedState(e.modelState))}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(DB,e,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(e){let t=e?"model"in e?u$.create(e).createNewRef(this):u$.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){let s=this._diffModel.get();!e&&s&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==e?.object&&(0,Ts.c8)(t,t=>{let s=e?.object;Ts.rD.batchEventsGlobally(t,()=>{this._editors.original.setModel(s?s.model.original:null),this._editors.modified.setModel(s?s.model.modified:null)});let x=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(e?.createNewRef(this),t),setTimeout(()=>{x?.dispose()},0)})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){let e=this._diffModel.get()?.diff.get();return e?e.mappings.map(e=>{let t,s,x,E;let a=e.lineRangeMapping,r=a.innerChanges;return a.original.isEmpty?(t=a.original.startLineNumber-1,s=0,r=void 0):(t=a.original.startLineNumber,s=a.original.endLineNumberExclusive-1),a.modified.isEmpty?(x=a.modified.startLineNumber-1,E=0,r=void 0):(x=a.modified.startLineNumber,E=a.modified.endLineNumberExclusive-1),{originalStartLineNumber:t,originalEndLineNumber:s,modifiedStartLineNumber:x,modifiedEndLineNumber:E,charChanges:r?.map(e=>({originalStartLineNumber:e.originalRange.startLineNumber,originalStartColumn:e.originalRange.startColumn,originalEndLineNumber:e.originalRange.endLineNumber,originalEndColumn:e.originalRange.endColumn,modifiedStartLineNumber:e.modifiedRange.startLineNumber,modifiedStartColumn:e.modifiedRange.startColumn,modifiedEndLineNumber:e.modifiedRange.endLineNumber,modifiedEndColumn:e.modifiedRange.endColumn}))}}):null}revert(e){let t=this._diffModel.get();t&&t.isDiffUpToDate.get()&&this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){let t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;let s=e.map(e=>({range:e.modifiedRange,text:t.model.original.getValueInRange(e.originalRange)}));this._editors.modified.executeEdits("diffEditor",s)}_goTo(e){this._editors.modified.setPosition(new cs.L(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){let t;let s=this._diffModel.get()?.diff.get()?.mappings;if(!s||0===s.length)return;let x=this._editors.modified.getPosition().lineNumber;t="next"===e?s.find(e=>e.lineRangeMapping.modified.startLineNumber>x)??s[0]:(0,lo.dF)(s,e=>e.lineRangeMapping.modified.startLineNumber<x)??s[s.length-1],this._goTo(t),t.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(N6.diffLineDeleted,{source:"diffEditor.goToDiff"}):t.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(N6.diffLineInserted,{source:"diffEditor.goToDiff"}):t&&this._accessibilitySignalService.playSignal(N6.diffLineModified,{source:"diffEditor.goToDiff"})}revealFirstDiff(){let e=this._diffModel.get();e&&this.waitForDiff().then(()=>{let t=e.diff.get()?.mappings;t&&0!==t.length&&this._goTo(t[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){let e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){let e;let t=this._editors.modified.hasWidgetFocus(),s=t?this._editors.modified:this._editors.original,x=t?this._editors.original:this._editors.modified,E=s.getSelection();if(E){let s=this._diffModel.get()?.diff.get()?.mappings.map(e=>t?e.lineRangeMapping.flip():e.lineRangeMapping);if(s){let t=uj(E.getStartPosition(),s),x=uj(E.getEndPosition(),s);e=r3.e.plusRange(t,x)}}return{destination:x,destinationSelection:e}}switchSide(){let{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){let e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){let e=this._diffModel.get()?.unchangedRegions.get();e&&(0,Ts.PS)(t=>{for(let s of e)s.collapseAll(t)})}showAllUnchangedRegions(){let e=this._diffModel.get()?.unchangedRegions.get();e&&(0,Ts.PS)(t=>{for(let s of e)s.showAll(t)})}_handleCursorPositionChange(e,t){if(e?.reason===3){let s=this._diffModel.get()?.diff.get()?.mappings.find(s=>t?s.lineRangeMapping.modified.contains(e.position.lineNumber):s.lineRangeMapping.original.contains(e.position.lineNumber));s?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(N6.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):s?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(N6.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):s&&this._accessibilitySignalService.playSignal(N6.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};Md=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([MU(3,rP.i6),MU(4,rc.TG),MU(5,rT),MU(6,N7),MU(7,cG)],Md);var MY=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r},Mp=function(e,t){return function(s,x){t(s,x,e)}};let MG=0,MB=!1,Mm=class extends uP{constructor(e,t,s,x,E,a,r,R,O,A,N,o,I){let L={...t};L.ariaLabel=L.ariaLabel||er.editorViewAccessibleLabel,super(e,L,{},s,x,E,a,O,A,N,o,I),R instanceof oR?this._standaloneKeybindingService=R:this._standaloneKeybindingService=null,function(e){if(!e){if(MB)return;MB=!0}!function(e){(i=document.createElement("div")).className="monaco-aria-container";let t=()=>{let e=document.createElement("div");return e.className="monaco-alert",e.setAttribute("role","alert"),e.setAttribute("aria-atomic","true"),i.appendChild(e),e};n=t(),_=t();let s=()=>{let e=document.createElement("div");return e.className="monaco-status",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),i.appendChild(e),e};T=s(),S=s(),e.appendChild(i)}(e||xm.document.body)}(L.ariaContainerElement),cw=(e,t)=>s.createInstance(iK,e,t,{}),cZ=r}addCommand(e,t,s){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;let x="DYNAMIC_"+ ++MG,E=rP.Ao.deserialize(s);return this._standaloneKeybindingService.addDynamicKeybinding(x,e,t,E),x}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw 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"),xf.JT.None;let t=e.id,s=e.label,x=rP.Ao.and(rP.Ao.equals("editorId",this.getId()),rP.Ao.deserialize(e.precondition)),E=e.keybindings,a=rP.Ao.and(x,rP.Ao.deserialize(e.keybindingContext)),r=e.contextMenuGroupId||null,i=e.contextMenuOrder||0,n=(t,...s)=>Promise.resolve(e.run(this,...s)),_=new xf.SL,T=this.getId()+":"+t;if(_.add(rM.registerCommand(T,n)),r&&_.add(rF.appendMenuItem(rm.EditorContext,{command:{id:T,title:s},when:x,group:r,order:i})),Array.isArray(E))for(let e of E)_.add(this._standaloneKeybindingService.addDynamicKeybinding(T,e,n,a));let S=new li(T,s,s,void 0,x,(...t)=>Promise.resolve(e.run(this,...t)),this._contextKeyService);return this._actions.set(t,S),_.add((0,xf.OF)(()=>{this._actions.delete(t)})),_}_triggerCommand(e,t){if(this._codeEditorService instanceof io)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};Mm=MY([Mp(2,rc.TG),Mp(3,rT),Mp(4,rD),Mp(5,rP.i6),Mp(6,iW),Mp(7,iZ),Mp(8,iR.XE),Mp(9,iP),Mp(10,_g),Mp(11,r7.c_),Mp(12,r8.ILanguageFeaturesService)],Mm);let Mf=class extends Mm{constructor(e,t,s,x,E,a,r,i,n,_,T,S,R,O,A,N){let o;let I={...t};oC(T,I,!1);let L=n.registerEditorContainer(e);"string"==typeof I.theme&&n.setTheme(I.theme),void 0!==I.autoDetectHighContrast&&n.setAutoDetectHighContrast(!!I.autoDetectHighContrast);let h=I.model;if(delete I.model,super(e,I,s,x,E,a,r,i,n,_,S,A,N),this._configurationService=T,this._standaloneThemeService=n,this._register(L),void 0===h){let e=O.getLanguageIdByMimeType(I.language)||I.language||_M.bd;o=MF(R,O,I.value||"",e,void 0),this._ownsModel=!0}else o=h,this._ownsModel=!1;if(this._attachModel(o),o){let e={oldModelUrl:null,newModelUrl:o.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){oC(this._configurationService,e,!1),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};Mf=MY([Mp(2,rc.TG),Mp(3,rT),Mp(4,rD),Mp(5,rP.i6),Mp(6,iW),Mp(7,iZ),Mp(8,NL),Mp(9,iP),Mp(10,ik.Ui),Mp(11,_g),Mp(12,rS.IModelService),Mp(13,_D.O),Mp(14,r7.c_),Mp(15,r8.ILanguageFeaturesService)],Mf);let Mg=class extends Md{constructor(e,t,s,x,E,a,r,i,n,_,T,S){let R={...t};oC(i,R,!0);let O=a.registerEditorContainer(e);"string"==typeof R.theme&&a.setTheme(R.theme),void 0!==R.autoDetectHighContrast&&a.setAutoDetectHighContrast(!!R.autoDetectHighContrast),super(e,R,{},x,s,E,S,_),this._configurationService=i,this._standaloneThemeService=a,this._register(O)}dispose(){super.dispose()}updateOptions(e){oC(this._configurationService,e,!0),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,s){return e.createInstance(Mm,t,s)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,s){return this.getModifiedEditor().addCommand(e,t,s)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};function MF(e,t,s,x,E){if(s=s||"",!x){let x=s.indexOf("\n"),a=s;return -1!==x&&(a=s.substring(0,x)),MH(e,s,t.createByFilepathOrFirstLine(E||null,a),E)}return MH(e,s,t.createById(x),E)}function MH(e,t,s,x){return e.createModel(t,s,x)}Mg=MY([Mp(2,rc.TG),Mp(3,rP.i6),Mp(4,rT),Mp(5,NL),Mp(6,iP),Mp(7,ik.Ui),Mp(8,iJ),Mp(9,cG),Mp(10,Nm),Mp(11,N7)],Mg),x(50800);var My=function(e,t){return function(s,x){t(s,x,e)}};class MV{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let MX=class extends xf.JT{constructor(e,t,s,x,E){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=s,this._instantiationService=x,this._viewModel=(0,Mc.uh)(this,void 0),this._collapsed=(0,Ts.nK)(this,e=>this._viewModel.read(e)?.collapsed.read(e)),this._editorContentHeight=(0,Mc.uh)(this,500),this.contentHeight=(0,Ts.nK)(this,e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight),this._modifiedContentWidth=(0,Mc.uh)(this,0),this._modifiedWidth=(0,Mc.uh)(this,0),this._originalContentWidth=(0,Mc.uh)(this,0),this._originalWidth=(0,Mc.uh)(this,0),this.maxScroll=(0,Ts.nK)(this,e=>{let t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),s=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>s?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:s,width:this._originalWidth.read(e)}}),this._elements=a2("div.multiDiffEntry",[a2("div.header@header",[a2("div.header-content",[a2("div.collapse-button@collapseButton"),a2("div.file-path",[a2("div.title.modified.show-file-icons@primaryPath",[]),a2("div.status.deleted@status",["R"]),a2("div.title.original.show-file-icons@secondaryPath",[])]),a2("div.actions@actions")])]),a2("div.editorParent",[a2("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(Md,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=MT(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=MT(this.editor.getOriginalEditor()).isFocused,this.isFocused=(0,Ts.nK)(this,e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new xf.SL),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;let a=new Sz(this._elements.collapseButton,{});this._register((0,Ts.EH)(e=>{a.element.className="",a.icon=this._collapsed.read(e)?i7.l.chevronRight:i7.l.chevronDown})),this._register(a.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register((0,Ts.EH)(e=>{this._elements.editor.style.display=this._collapsed.read(e)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(e=>{let t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(e=>{let t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange(e=>{(0,Mc.Bl)(t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(e=>{if(this._isSettingScrollTop||!e.scrollTopChanged||!this._data)return;let t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)})),this._register((0,Ts.EH)(e=>{let t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle("active",t)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(E.createScoped(this._elements.actions));let r=this._register(this._instantiationService.createChild(new NJ([rP.i6,this._contextKeyService])));this._register(r.createInstance(Ms,this._elements.actions,rm.MultiDiffEditorFileToolbar,{actionRunner:this._register(new D3(()=>this._viewModel.get()?.modifiedUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("navigation")},actionViewItemProvider:(e,t)=>(function(e,t,s){return t instanceof ry?e.createInstance(T8,t,s):t instanceof rH?t.item.isSelection?e.createInstance(St,t):t.item.rememberDefaultAction?e.createInstance(Se,t,{...s,persistLastActionId:!0}):e.createInstance(T9,t,s):void 0})(r,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(this._data=e,!e){(0,Mc.Bl)(e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()});return}let s=e.viewModel.documentDiffItem;if((0,Mc.Bl)(x=>{this._resourceLabel?.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:void 0===e.viewModel.modifiedUri});let E=!1,a=!1,r=!1,i="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(i="R",E=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(i="A",r=!0):(i="D",a=!0),this._elements.status.classList.toggle("renamed",E),this._elements.status.classList.toggle("deleted",a),this._elements.status.classList.toggle("added",r),this._elements.status.innerText=i,this._resourceLabel2?.setUri(E?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,x),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,x),this.editor.updateOptions(t(s.options??{}))}),s.onOptionsDidChange&&this._dataStore.add(s.onOptionsDidChange(()=>{this.editor.updateOptions(t(s.options??{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,e=>{e||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(let[t,s]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(t,s)}render(e,t,s,x){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";let E=e.length-this._headerHeight,a=Math.max(0,Math.min(x.start-e.start,E));this._elements.header.style.transform=`translateY(${a}px)`,(0,Mc.Bl)(s=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=s,this.editor.getOriginalEditor().setScrollTop(s)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",a>0||s>0),this._elements.header.classList.toggle("collapsed",a===E)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};MX=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([My(3,rc.TG),My(4,rP.i6)],MX);class Mb{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(0===this._unused.size)t=this._create(e),this._itemData.set(t,e);else{let s=[...this._unused.values()];t=s.find(t=>this._itemData.get(t).getId()===e.getId())??s[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(let e of this._used)e.dispose();for(let e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var Mv=function(e,t){return function(s,x){t(s,x,e)}};let Mk=class extends xf.JT{constructor(e,t,s,x,E,r){super(),this._element=e,this._dimension=t,this._viewModel=s,this._workbenchUIElementFactory=x,this._parentContextKeyService=E,this._parentInstantiationService=r,this._scrollableElements=a2("div.scrollContent",[a2("div@content",{style:{overflow:"hidden"}}),a2("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new i8({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>a(E1(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new nr(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=a2("div.monaco-component.multiDiffEditor",{},[a2("div",{},[this._scrollableElement.getDomNode()]),a2("div.placeholder@placeholder",{},[a2("div",[(0,sY.NC)("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new uW(this._element,void 0)),this._objectPool=this._register(new Mb(e=>{let t=this._instantiationService.createInstance(MX,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t})),this.scrollTop=(0,Ts.rD)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=(0,Ts.rD)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=(0,Ts.Be)(this,(e,t)=>{let s=this._viewModel.read(e);if(!s)return{items:[],getItem:e=>{throw new xZ.he}};let x=s.items.read(e),E=new Map;return{items:x.map(e=>{let s=t.add(new Mw(e,this._objectPool,this.scrollLeft,e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})})),x=this._lastDocStates?.[s.getKey()];return x&&(0,Mc.PS)(e=>{s.setViewState(x,e)}),E.set(e,s),s}),getItem:e=>E.get(e)}}),this._viewItems=this._viewItemsInfo.map(this,e=>e.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(e,t)=>e.reduce((e,s)=>e+s.contentHeight.read(t)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new NJ([rP.i6,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(eK.inMultiDiffEditor.key,!0),this._register((0,Ts.gp)((e,t)=>{let s=this._viewModel.read(e);if(s&&s.contextKeys)for(let[e,x]of Object.entries(s.contextKeys)){let s=this._contextKeyService.createKey(e,void 0);s.set(x),t.add((0,xf.OF)(()=>s.reset()))}}));let i=this._parentContextKeyService.createKey(eK.multiDiffEditorAllCollapsed.key,!1);this._register((0,Ts.EH)(e=>{let t=this._viewModel.read(e);if(t){let s=t.items.read(e).every(t=>t.collapsed.read(e));i.set(s)}})),this._register((0,Ts.EH)(e=>{let t=this._dimension.read(e);this._sizeObserver.observe(t)})),this._register((0,Ts.EH)(e=>{let t=this._viewItems.read(e);this._elements.placeholder.classList.toggle("visible",0===t.length)})),this._scrollableElements.content.style.position="relative",this._register((0,Ts.EH)(e=>{let t=this._sizeObserver.height.read(e);this._scrollableElements.root.style.height=`${t}px`;let s=this._totalHeight.read(e);this._scrollableElements.content.style.height=`${s}px`;let x=this._sizeObserver.width.read(e),E=x,a=this._viewItems.read(e),r=(0,lo.hV)(a,(0,sD.tT)(t=>t.maxScroll.read(e).maxScroll,sD.fv));r&&(E=x+r.maxScroll.read(e).maxScroll),this._scrollableElement.setScrollDimensions({width:x,height:t,scrollHeight:s,scrollWidth:E})})),e.replaceChildren(this._elements.root),this._register((0,xf.OF)(()=>{e.replaceChildren()})),this._register(this._register((0,Ts.EH)(e=>{(0,Mc.Bl)(t=>{this.render(e)})})))}render(e){let t=this.scrollTop.read(e),s=0,x=0,E=0,a=this._sizeObserver.height.read(e),r=u1.q.ofStartAndLength(t,a),i=this._sizeObserver.width.read(e);for(let n of this._viewItems.read(e)){let _=n.contentHeight.read(e),T=Math.min(_,a),S=u1.q.ofStartAndLength(x,T),R=u1.q.ofStartAndLength(E,_);if(R.isBefore(r))s-=_-T,n.hide();else if(R.isAfter(r))n.hide();else{let e=Math.max(0,Math.min(r.start-R.start,_-T));s-=e;let x=u1.q.ofStartAndLength(t+s,a);n.render(S,e,i,x)}x+=T+this._spaceBetweenPx,E+=_+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+s)}px)`}};Mk=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([Mv(4,rP.i6),Mv(5,rc.TG)],Mk);class Mw extends xf.JT{constructor(e,t,s,x){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=s,this._deltaScrollVertical=x,this._templateRef=this._register((0,Mc.DN)(this,void 0)),this.contentHeight=(0,Ts.nK)(this,e=>this._templateRef.read(e)?.object.contentHeight?.read(e)??this.viewModel.lastTemplateData.read(e).contentHeight),this.maxScroll=(0,Ts.nK)(this,e=>this._templateRef.read(e)?.object.maxScroll.read(e)??{maxScroll:0,scrollWidth:0}),this.template=(0,Ts.nK)(this,e=>this._templateRef.read(e)?.object),this._isHidden=(0,Ts.uh)(this,!1),this._isFocused=(0,Ts.nK)(this,e=>this.template.read(e)?.isFocused.read(e)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register((0,Ts.EH)(e=>{let t=this._scrollLeft.read(e);this._templateRef.read(e)?.object.setScrollLeft(t)})),this._register((0,Ts.EH)(e=>{let t=this._templateRef.read(e);!t||!this._isHidden.read(e)||t.object.isFocused.read(e)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);let s=this.viewModel.lastTemplateData.get(),x=e.selections?.map(Ln.Y.liftSelection);this.viewModel.lastTemplateData.set({...s,selections:x},t);let E=this._templateRef.get();E&&x&&E.object.editor.setSelections(x)}_updateTemplateData(e){let t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){let e=this._templateRef.get();e&&(0,Mc.PS)(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,s,x){this._isHidden.set(!1,void 0);let E=this._templateRef.get();if(!E){E=this._objectPool.getUnusedObj(new MV(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(E,void 0);let e=this.viewModel.lastTemplateData.get().selections;e&&E.object.editor.setSelections(e)}E.object.render(e,s,t,x)}}(0,iv.P6G)("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},(0,sY.NC)("multiDiffEditor.headerBackground","The background color of the diff editor's header")),(0,iv.P6G)("multiDiffEditor.background",iv.cvW,(0,sY.NC)("multiDiffEditor.background","The background color of the multi file diff editor")),(0,iv.P6G)("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},(0,sY.NC)("multiDiffEditor.border","The border color of the multi file diff editor"));let MW=class extends xf.JT{constructor(e,t,s){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=s,this._dimension=(0,Ts.uh)(this,void 0),this._viewModel=(0,Ts.uh)(this,void 0),this._widgetImpl=(0,Ts.Be)(this,(e,t)=>(DU(MX,e),t.add(this._instantiationService.createInstance(DU(Mk,e),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register((0,Ts.jx)(this._widgetImpl))}};function MK(e){let t=eV.get(iZ);return t instanceof oR?t.addDynamicKeybindings(e.map(e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:rP.Ao.deserialize(e.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),xf.JT.None)}function MQ(e,t){return"boolean"==typeof e?e:t}function MJ(e,t){return"string"==typeof e?e:t}function MZ(e,t=!1){t&&(e=e.map(function(e){return e.toLowerCase()}));let s=function(e){let t={};for(let s of e)t[s]=!0;return t}(e);return t?function(e){return void 0!==s[e.toLowerCase()]&&s.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==s[e]&&s.hasOwnProperty(e)}}function Mz(e,t,s){let x;t=t.replace(/@@/g,`\x01`);let E=0;do x=!1,t=t.replace(/@(\w+)/g,function(s,E){x=!0;let a="";if("string"==typeof e[E])a=e[E];else if(e[E]&&e[E]instanceof RegExp)a=e[E].source;else{if(void 0===e[E])throw o9(e,"language definition does not contain attribute '"+E+"', used at: "+t);throw o9(e,"attribute reference '"+E+"' must be a string, used at: "+t)}return a?"(?:"+a+")":""}),E++;while(x&&E<5);t=t.replace(/\x01/g,"@");let a=(e.ignoreCase?"i":"")+(e.unicode?"u":"");if(s&&t.match(/\$[sS](\d\d?)/g)){let s=null,x=null;return E=>{let r;return x&&s===E?x:(s=E,x=new RegExp((r=null,t.replace(/\$[sS](\d\d?)/g,function(t,s){return(null===r&&(r=E.split(".")).unshift(E),s&&s<r.length)?o6(e,r[s]):""})),a))}}return new RegExp(t,a)}MW=function(e,t,s,x){var E,a=arguments.length,r=a<3?t:null===x?x=Object.getOwnPropertyDescriptor(t,s):x;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,x);else for(var i=e.length-1;i>=0;i--)(E=e[i])&&(r=(a<3?E(r):a>3?E(t,s,r):E(t,s))||r);return a>3&&r&&Object.defineProperty(t,s,r),r}([(u=rc.TG,function(e,t){u(e,t,2)})],MW);class Mq{constructor(e){this.regex=RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}setRegex(e,t){let s;if("string"==typeof t)s=t;else if(t instanceof RegExp)s=t.source;else throw o9(e,"rules must start with a match string or regular expression: "+this.name);this.matchOnlyAtLineStart=s.length>0&&"^"===s[0],this.name=this.name+": "+s,this.regex=Mz(e,"^(?:"+(this.matchOnlyAtLineStart?s.substr(1):s)+")",!0)}setAction(e,t){this.action=function e(t,s,x){if(!x)return{token:""};if("string"==typeof x)return x;if(x.token||""===x.token){if("string"!=typeof x.token)throw o9(t,"a 'token' attribute must be of type string, in rule: "+s);{let e={token:x.token};if(x.token.indexOf("$")>=0&&(e.tokenSubst=!0),"string"==typeof x.bracket){if("@open"===x.bracket)e.bracket=1;else if("@close"===x.bracket)e.bracket=-1;else throw o9(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+s)}if(x.next){if("string"!=typeof x.next)throw o9(t,"the next state must be a string value in rule: "+s);{let E=x.next;if(!/^(@pop|@push|@popall)$/.test(E)&&("@"===E[0]&&(E=E.substr(1)),0>E.indexOf("$")&&!function(e,t){let s=t;for(;s&&s.length>0;){if(e.stateNames[s])return!0;let t=s.lastIndexOf(".");s=t<0?null:s.substr(0,t)}return!1}(t,Ie(t,E,"",[],""))))throw o9(t,"the next state '"+x.next+"' is not defined in rule: "+s);e.next=E}}return"number"==typeof x.goBack&&(e.goBack=x.goBack),"string"==typeof x.switchTo&&(e.switchTo=x.switchTo),"string"==typeof x.log&&(e.log=x.log),"string"==typeof x.nextEmbedded&&(e.nextEmbedded=x.nextEmbedded,t.usesEmbedded=!0),e}}if(Array.isArray(x)){let E=[];for(let a=0,r=x.length;a<r;a++)E[a]=e(t,s,x[a]);return{group:E}}if(x.cases){let E=[];for(let a in x.cases)if(x.cases.hasOwnProperty(a)){let r=e(t,s,x.cases[a]);"@default"===a||"@"===a||""===a?E.push({test:void 0,value:r,name:a}):"@eos"===a?E.push({test:function(e,t,s,x){return x},value:r,name:a}):E.push(function(e,t,s,x){let E,a=-1,r=s,i=s.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);i&&(i[3]&&(a=parseInt(i[3]),i[2]&&(a+=100)),r=i[4]);let n="~",_=r;if(r&&0!==r.length?/^\w*$/.test(_)?n="==":(i=r.match(/^(@|!@|~|!~|==|!=)(.*)$/))&&(n=i[1],_=i[2]):(n="!=",_=""),("~"===n||"!~"===n)&&/^(\w|\|)*$/.test(_)){let t=MZ(_.split("|"),e.ignoreCase);E=function(e){return"~"===n?t(e):!t(e)}}else if("@"===n||"!@"===n){let s=e[_];if(!s)throw o9(e,"the @ match target '"+_+"' is not defined, in rule: "+t);if(!function(e,t){if(!t||!Array.isArray(t))return!1;for(let s of t)if(!e(s))return!1;return!0}(function(e){return"string"==typeof e},s))throw o9(e,"the @ match target '"+_+"' must be an array of strings, in rule: "+t);let x=MZ(s,e.ignoreCase);E=function(e){return"@"===n?x(e):!x(e)}}else if("~"===n||"!~"===n){if(0>_.indexOf("$")){let t=Mz(e,"^"+_+"$",!1);E=function(e){return"~"===n?t.test(e):!t.test(e)}}else E=function(t,s,x,E){return Mz(e,"^"+Ie(e,_,s,x,E)+"$",!1).test(t)}}else if(0>_.indexOf("$")){let t=o6(e,_);E=function(e){return"=="===n?e===t:e!==t}}else{let t=o6(e,_);E=function(s,x,E,a,r){let i=Ie(e,t,x,E,a);return"=="===n?s===i:s!==i}}return -1===a?{name:s,value:x,test:function(e,t,s,x){return E(e,e,t,s,x)}}:{name:s,value:x,test:function(e,t,s,x){let r=function(e,t,s,x){if(x<0)return e;if(x<t.length)return t[x];if(x>=100){x-=100;let e=s.split(".");if(e.unshift(s),x<e.length)return e[x]}return null}(e,t,s,a);return E(r||"",e,t,s,x)}}}(t,s,a,r))}let a=t.defaultToken;return{test:function(e,t,s,x){for(let a of E)if(!a.test||a.test(e,t,s,x))return a.value;return a}}}throw o9(t,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+s)}(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function Mj(e,t){if(!t||"object"!=typeof t)throw Error("Monarch: expecting a language definition object");let s={languageId:e,includeLF:MQ(t.includeLF,!1),noThrow:!1,maxStack:100,start:"string"==typeof t.start?t.start:null,ignoreCase:MQ(t.ignoreCase,!1),unicode:MQ(t.unicode,!1),tokenPostfix:MJ(t.tokenPostfix,"."+e),defaultToken:MJ(t.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]};if(t.languageId=e,t.includeLF=s.includeLF,t.ignoreCase=s.ignoreCase,t.unicode=s.unicode,t.noThrow=s.noThrow,t.usesEmbedded=s.usesEmbedded,t.stateNames=t.tokenizer,t.defaultToken=s.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw o9(s,"a language definition must define the 'tokenizer' attribute as an object");for(let e in s.tokenizer=[],t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){s.start||(s.start=e);let x=t.tokenizer[e];s.tokenizer[e]=[],function e(x,E,a){for(let r of a){let a=r.include;if(a){if("string"!=typeof a)throw o9(s,"an 'include' attribute must be a string at: "+x);if("@"===a[0]&&(a=a.substr(1)),!t.tokenizer[a])throw o9(s,"include target '"+a+"' is not defined at: "+x);e(x+"."+a,E,t.tokenizer[a])}else{let e=new Mq(x);if(Array.isArray(r)&&r.length>=1&&r.length<=3){if(e.setRegex(t,r[0]),r.length>=3){if("string"==typeof r[1])e.setAction(t,{token:r[1],next:r[2]});else if("object"==typeof r[1]){let s=r[1];s.next=r[2],e.setAction(t,s)}else throw o9(s,"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: "+x)}else e.setAction(t,r[1])}else{if(!r.regex)throw o9(s,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+x);r.name&&"string"==typeof r.name&&(e.name=r.name),r.matchOnlyAtStart&&(e.matchOnlyAtLineStart=MQ(r.matchOnlyAtLineStart,!1)),e.setRegex(t,r.regex),e.setAction(t,r.action)}E.push(e)}}}("tokenizer."+e,s.tokenizer[e],x)}if(s.usesEmbedded=t.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw o9(s,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];let x=[];for(let e of t.brackets){let t=e;if(t&&Array.isArray(t)&&3===t.length&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw o9(s,"open and close brackets in a 'brackets' attribute must be different: "+t.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"==typeof t.open&&"string"==typeof t.token&&"string"==typeof t.close)x.push({token:t.token+s.tokenPostfix,open:o6(s,t.open),close:o6(s,t.close)});else throw o9(s,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return s.brackets=x,s.noThrow=!0,s}class M${constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,s){if("function"==typeof this._actual.tokenize)return M0.adaptTokenize(this._languageId,this._actual,e,s);throw Error("Not supported!")}tokenizeEncoded(e,t,s){let x=this._actual.tokenizeEncoded(e,s);return new _U.DI(x.tokens,x.endState)}}class M0{constructor(e,t,s,x){this._languageId=e,this._actual=t,this._languageService=s,this._standaloneThemeService=x}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){let s=[],x=0;for(let E=0,a=e.length;E<a;E++){let a=e[E],r=a.startIndex;0===E?r=0:r<x&&(r=x),s[E]=new _U.WU(r,a.scopes,t),x=r}return s}static adaptTokenize(e,t,s,x){let E;let a=t.tokenize(s,x),r=M0._toClassicTokens(a.tokens,e);return E=a.endState.equals(x)?x:a.endState,new _U.hG(r,E)}tokenize(e,t,s){return M0.adaptTokenize(this._languageId,this._actual,e,s)}_toBinaryTokens(e,t){let s=e.encodeLanguageId(this._languageId),x=this._standaloneThemeService.getColorTheme().tokenTheme,E=[],a=0,r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e],n=1024|x.match(s,i.scopes);if(a>0&&E[a-1]===n)continue;let _=i.startIndex;0===e?_=0:_<r&&(_=r),E[a++]=_,E[a++]=n,r=_}let i=new Uint32Array(a);for(let e=0;e<a;e++)i[e]=E[e];return i}tokenizeEncoded(e,t,s){let x;let E=this._actual.tokenize(e,s),a=this._toBinaryTokens(this._languageService.languageIdCodec,E.tokens);return x=E.endState.equals(s)?s:E.endState,new _U.DI(a,x)}}function M2(e){return e&&"function"==typeof e.then}function M1(e,t){return"tokenizeEncoded"in t?new M$(e,t):new M0(e,t,eV.get(_D.O),eV.get(NL))}function M3(e,t){let s=new _U.MO(async()=>{let s=await Promise.resolve(t.create());return s?"function"==typeof s.getInitialState?M1(e,s):new I_(eV.get(_D.O),eV.get(NL),e,Mj(e,s),eV.get(ik.Ui)):null});return _U.RW.registerFactory(e,s)}let M7=(0,rc.yh)("IEditorCancelService"),M5=new rP.uy("cancellableOperation",!1,(0,sY.NC)("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,iA.z)(M7,class{constructor(){this._tokens=new WeakMap}add(e,t){let s,x=this._tokens.get(e);return x||(x=e.invokeWithinContext(e=>({key:M5.bindTo(e.get(rP.i6)),tokens:new rC.S})),this._tokens.set(e,x)),x.key.set(!0),s=x.tokens.push(t),()=>{s&&(s(),x.key.set(!x.tokens.isEmpty()),s=void 0)}}cancel(e){let t=this._tokens.get(e);if(!t)return;let s=t.tokens.pop();s&&(s.cancel(),t.key.set(!t.tokens.isEmpty()))}},1),rW(new class extends rw{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:M5})}runEditorCommand(e,t){e.get(M7).cancel(t)}});class M4{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return"string"==typeof e?e.toLowerCase():e._lower}}class M6{constructor(e){if(this._set=new Set,e)for(let t of e)this.add(t)}add(e){this._set.add(M4.toKey(e))}has(e){return this._set.has(M4.toKey(e))}}class M8{static{this._selectors=new rC.S}static setFormatterSelector(e){return{dispose:M8._selectors.unshift(e)}}static async select(e,t,s,x){if(0===e.length)return;let E=rl.$.first(M8._selectors);if(E)return await E(e,t,s,x)}}async function M9(e,t,s,x,E,a){for(let r of t.documentRangeFormattingEditProvider.ordered(s)){let t=await Promise.resolve(r.provideDocumentRangeFormattingEdits(s,x,E,a)).catch(xZ.Cp);if((0,sD.Of)(t))return await e.computeMoreMinimalEdits(s.uri,t)}}async function Pe(e,t,s,x,E){for(let a of function(e,t,s){let x=[],E=new M6;for(let t of e.ordered(s))x.push(t),t.extensionId&&E.add(t.extensionId);for(let e of t.ordered(s)){if(e.extensionId){if(E.has(e.extensionId))continue;E.add(e.extensionId)}x.push({displayName:e.displayName,extensionId:e.extensionId,provideDocumentFormattingEdits:(t,s,x)=>e.provideDocumentRangeFormattingEdits(t,t.getFullModelRange(),s,x)})}return x}(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,s)){let t=await Promise.resolve(a.provideDocumentFormattingEdits(s,x,E)).catch(xZ.Cp);if((0,sD.Of)(t))return await e.computeMoreMinimalEdits(s.uri,t)}}rM.registerCommand("_executeFormatRangeProvider",async function(e,...t){let[s,x,E]=t;(0,ru.p_)(xF.o.isUri(s)),(0,ru.p_)(r3.e.isIRange(x));let a=e.get(rR.ITextModelService),r=e.get(SL.IEditorWorkerService),i=e.get(r8.ILanguageFeaturesService),n=await a.createModelReference(s);try{return M9(r,i,n.object.textEditorModel,r3.e.lift(x),E,_Z.Ts.None)}finally{n.dispose()}}),rM.registerCommand("_executeFormatDocumentProvider",async function(e,...t){let[s,x]=t;(0,ru.p_)(xF.o.isUri(s));let E=e.get(rR.ITextModelService),a=e.get(SL.IEditorWorkerService),r=e.get(r8.ILanguageFeaturesService),i=await E.createModelReference(s);try{return Pe(a,r,i.object.textEditorModel,x,_Z.Ts.None)}finally{i.dispose()}}),rM.registerCommand("_executeFormatOnTypeProvider",async function(e,...t){let[s,x,E,a]=t;(0,ru.p_)(xF.o.isUri(s)),(0,ru.p_)(cs.L.isIPosition(x)),(0,ru.p_)("string"==typeof E);let r=e.get(rR.ITextModelService),i=e.get(SL.IEditorWorkerService),n=e.get(r8.ILanguageFeaturesService),_=await r.createModelReference(s);try{return function(e,t,s,x,E,a,r){let i=t.onTypeFormattingEditProvider.ordered(s);return 0===i.length||0>i[0].autoFormatTriggerCharacters.indexOf(E)?Promise.resolve(void 0):Promise.resolve(i[0].provideOnTypeFormattingEdits(s,x,E,a,r)).catch(xZ.Cp).then(t=>e.computeMoreMinimalEdits(s.uri,t))}(i,n,_.object.textEditorModel,cs.L.lift(x),E,a,_Z.Ts.None)}finally{_.dispose()}}),xG.wrappingIndent.defaultValue=0,xG.glyphMargin.defaultValue=!1,xG.autoIndent.defaultValue=3,xG.overviewRulerLanes.defaultValue=2,M8.setFormatterSelector((e,t,s)=>Promise.resolve(e[0]));let Pt=(0,xB.createMonacoBaseAPI)();Pt.editor={create:function(e,t,s){return eV.initialize(s||{}).createInstance(Mf,e,t)},getEditors:function(){return eV.get(rT).listCodeEditors()},getDiffEditors:function(){return eV.get(rT).listDiffEditors()},onDidCreateEditor:function(e){return eV.get(rT).onCodeEditorAdd(t=>{e(t)})},onDidCreateDiffEditor:function(e){return eV.get(rT).onDiffEditorAdd(t=>{e(t)})},createDiffEditor:function(e,t,s){return eV.initialize(s||{}).createInstance(Mg,e,t)},addCommand:function(e){if("string"!=typeof e.id||"function"!=typeof e.run)throw Error("Invalid command descriptor, `id` and `run` are required properties!");return rM.registerCommand(e.id,e.run)},addEditorAction:function(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");let t=rP.Ao.deserialize(e.precondition),s=new xf.SL;if(s.add(rM.registerCommand(e.id,(s,...x)=>rw.runEditorCommand(s,x,t,(t,s,x)=>Promise.resolve(e.run(s,...x))))),e.contextMenuGroupId){let x={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};s.add(rF.appendMenuItem(rm.EditorContext,x))}if(Array.isArray(e.keybindings)){let x=eV.get(iZ);if(x instanceof oR){let E=rP.Ao.and(t,rP.Ao.deserialize(e.keybindingContext));s.add(x.addDynamicKeybindings(e.keybindings.map(t=>({keybinding:t,command:e.id,when:E}))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return s},addKeybindingRule:function(e){return MK([e])},addKeybindingRules:MK,createModel:function(e,t,s){let x=eV.get(_D.O),E=x.getLanguageIdByMimeType(t)||t;return MF(eV.get(rS.IModelService),x,e,E,s)},setModelLanguage:function(e,t){let s=eV.get(_D.O),x=s.getLanguageIdByMimeType(t)||t||_M.bd;e.setLanguage(s.createById(x))},setModelMarkers:function(e,t,s){e&&eV.get(Nj.lT).changeOne(t,e.uri,s)},getModelMarkers:function(e){return eV.get(Nj.lT).read(e)},removeAllMarkers:function(e){eV.get(Nj.lT).changeAll(e,[])},onDidChangeMarkers:function(e){return eV.get(Nj.lT).onMarkerChanged(e)},getModels:function(){return eV.get(rS.IModelService).getModels()},getModel:function(e){return eV.get(rS.IModelService).getModel(e)},onDidCreateModel:function(e){return eV.get(rS.IModelService).onModelAdded(e)},onWillDisposeModel:function(e){return eV.get(rS.IModelService).onModelRemoved(e)},onDidChangeModelLanguage:function(e){return eV.get(rS.IModelService).onModelLanguageChanged(t=>{e({model:t.model,oldLanguage:t.oldLanguageId})})},createWebWorker:function(e){return new oB(eV.get(rS.IModelService),e)},colorizeElement:function(e,t){let s=eV.get(_D.O),x=eV.get(NL);return IT.colorizeElement(x,s,e,t).then(()=>{x.registerEditorContainer(e)})},colorize:function(e,t,s){let x=eV.get(_D.O);return eV.get(NL).registerEditorContainer(xm.document.body),IT.colorize(x,e,t,s)},colorizeModelLine:function(e,t,s=4){return eV.get(NL).registerEditorContainer(xm.document.body),IT.colorizeModelLine(e,t,s)},tokenize:function(e,t){var s;_U.RW.getOrCreate(t);let x=(s=t,_U.RW.get(s)||{getInitialState:()=>_d.TJ,tokenize:(e,t,x)=>(0,_d.Ri)(s,x)}),E=(0,xg.uq)(e),a=[],r=x.getInitialState();for(let e=0,t=E.length;e<t;e++){let t=E[e],s=x.tokenize(t,!0,r);a[e]=s.tokens,r=s.endState}return a},defineTheme:function(e,t){eV.get(NL).defineTheme(e,t)},setTheme:function(e){eV.get(NL).setTheme(e)},remeasureFonts:function(){r_.clearAllFontInfos()},registerCommand:function(e,t){return rM.registerCommand({id:e,handler:t})},registerLinkOpener:function(e){return eV.get(nS).registerOpener({open:async t=>("string"==typeof t&&(t=xF.o.parse(t)),e.open(t))})},registerEditorOpener:function(e){return eV.get(rT).registerCodeEditorOpenHandler(async(t,s,x)=>{let E;if(!s)return null;let a=t.options?.selection;return(a&&"number"==typeof a.endLineNumber&&"number"==typeof a.endColumn?E=a:a&&(E={lineNumber:a.startLineNumber,column:a.startColumn}),await e.openCodeEditor(s,t.resource,E))?s:null})},AccessibilitySupport:og.ao,ContentWidgetPositionPreference:og.r3,CursorChangeReason:og.Vi,DefaultEndOfLine:og._x,EditorAutoIndentStrategy:og.rf,EditorOption:og.wT,EndOfLinePreference:og.gm,EndOfLineSequence:og.jl,MinimapPosition:og.F5,MinimapSectionHeaderStyle:og.WG,MouseTargetType:og.MG,OverlayWidgetPositionPreference:og.E$,OverviewRulerLane:og.sh,GlyphMarginLane:og.U,RenderLineNumbersType:og.Lu,RenderMinimap:og.vQ,ScrollbarVisibility:og.g_,ScrollType:og.g4,TextEditorCursorBlinkingStyle:og.In,TextEditorCursorStyle:og.d2,TrackedRangeStickiness:og.OI,WrappingIndent:og.up,InjectedTextCursorStops:og.RM,PositionAffinity:og.py,ShowLightbulbIconMode:og.$r,ConfigurationChangedEvent:sp,BareFontInfo:ra,FontInfo:rr,TextModelResolvedOptions:of.dJ,FindMatch:of.tk,ApplyUpdateResult:sm,EditorZoom:rx,createMultiFileDiffEditor:function(e,t){let s=eV.initialize(t||{});return new MW(e,{},s)},EditorType:om,EditorOptions:xG},Pt.languages={register:function(e){_M.dQ.registerLanguage(e)},getLanguages:function(){return[].concat(_M.dQ.getLanguages())},onLanguage:function(e,t){return eV.withServices(()=>{let s=eV.get(_D.O).onDidRequestRichLanguageFeatures(x=>{x===e&&(s.dispose(),t())});return s})},onLanguageEncountered:function(e,t){return eV.withServices(()=>{let s=eV.get(_D.O).onDidRequestBasicLanguageFeatures(x=>{x===e&&(s.dispose(),t())});return s})},getEncodedLanguageId:function(e){return eV.get(_D.O).languageIdCodec.encodeLanguageId(e)},setLanguageConfiguration:function(e,t){if(!eV.get(_D.O).isRegisteredLanguageId(e))throw Error(`Cannot set configuration for unknown language ${e}`);return eV.get(r7.c_).register(e,t,100)},setColorMap:function(e){let t=eV.get(NL);if(e){let s=[null];for(let t=1,x=e.length;t<x;t++)s[t]=cq.Il.fromHex(e[t]);t.setColorMapOverride(s)}else t.setColorMapOverride(null)},registerTokensProviderFactory:M3,setTokensProvider:function(e,t){if(!eV.get(_D.O).isRegisteredLanguageId(e))throw Error(`Cannot set tokens provider for unknown language ${e}`);return M2(t)?M3(e,{create:()=>t}):_U.RW.register(e,M1(e,t))},setMonarchTokensProvider:function(e,t){return M2(t)?M3(e,{create:()=>t}):_U.RW.register(e,new I_(eV.get(_D.O),eV.get(NL),e,Mj(e,t),eV.get(ik.Ui)))},registerReferenceProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).referenceProvider.register(e,t)},registerRenameProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).renameProvider.register(e,t)},registerNewSymbolNameProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).newSymbolNamesProvider.register(e,t)},registerCompletionItemProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).completionProvider.register(e,t)},registerSignatureHelpProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).signatureHelpProvider.register(e,t)},registerHoverProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).hoverProvider.register(e,{provideHover:async(e,s,x,E)=>{let a=e.getWordAtPosition(s);return Promise.resolve(t.provideHover(e,s,x,E)).then(e=>{if(e)return!e.range&&a&&(e.range=new r3.e(s.lineNumber,a.startColumn,s.lineNumber,a.endColumn)),e.range||(e.range=new r3.e(s.lineNumber,s.column,s.lineNumber,s.column)),e})}})},registerDocumentSymbolProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentSymbolProvider.register(e,t)},registerDocumentHighlightProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentHighlightProvider.register(e,t)},registerLinkedEditingRangeProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).linkedEditingRangeProvider.register(e,t)},registerDefinitionProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).definitionProvider.register(e,t)},registerImplementationProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).implementationProvider.register(e,t)},registerTypeDefinitionProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).typeDefinitionProvider.register(e,t)},registerCodeLensProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).codeLensProvider.register(e,t)},registerCodeActionProvider:function(e,t,s){return eV.get(r8.ILanguageFeaturesService).codeActionProvider.register(e,{providedCodeActionKinds:s?.providedCodeActionKinds,documentation:s?.documentation,provideCodeActions:(e,s,x,E)=>{let a=eV.get(Nj.lT).read({resource:e.uri}).filter(e=>r3.e.areIntersectingOrTouching(e,s));return t.provideCodeActions(e,s,{markers:a,only:x.only,trigger:x.trigger},E)},resolveCodeAction:t.resolveCodeAction})},registerDocumentFormattingEditProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentFormattingEditProvider.register(e,t)},registerDocumentRangeFormattingEditProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentRangeFormattingEditProvider.register(e,t)},registerOnTypeFormattingEditProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).onTypeFormattingEditProvider.register(e,t)},registerLinkProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).linkProvider.register(e,t)},registerColorProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).colorProvider.register(e,t)},registerFoldingRangeProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).foldingRangeProvider.register(e,t)},registerDeclarationProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).declarationProvider.register(e,t)},registerSelectionRangeProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).selectionRangeProvider.register(e,t)},registerDocumentSemanticTokensProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentSemanticTokensProvider.register(e,t)},registerDocumentRangeSemanticTokensProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).documentRangeSemanticTokensProvider.register(e,t)},registerInlineCompletionsProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).inlineCompletionsProvider.register(e,t)},registerInlineEditProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).inlineEditProvider.register(e,t)},registerInlayHintsProvider:function(e,t){return eV.get(r8.ILanguageFeaturesService).inlayHintsProvider.register(e,t)},DocumentHighlightKind:og.MY,CompletionItemKind:og.cm,CompletionItemTag:og.we,CompletionItemInsertTextRule:og.a7,SymbolKind:og.cR,SymbolTag:og.r4,IndentAction:og.wU,CompletionTriggerKind:og.Ij,SignatureHelpTriggerKind:og.WW,InlayHintKind:og.gl,InlineCompletionTriggerKind:og.bw,InlineEditTriggerKind:og.rn,CodeActionTriggerType:og.np,NewSymbolNameTag:og.w,NewSymbolNameTriggerKind:og.Ll,PartialAcceptTriggerKind:og.NA,HoverVerbosityAction:og.bq,FoldingRangeKind:_U.AD,SelectedSuggestionInfo:_U.ln},Pt.CancellationTokenSource,Pt.Emitter;let Ps=Pt.KeyCode,Px=Pt.KeyMod;Pt.Position,Pt.Range,Pt.Selection,Pt.SelectionDirection,Pt.MarkerSeverity,Pt.MarkerTag,Pt.Uri,Pt.Token,Pt.editor,Pt.languages;let PE=globalThis.MonacoEnvironment;(PE?.globalAPI||"function"==typeof define&&x.amdO)&&(globalThis.monaco=Pt),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"]});var Pa=x(31676);function Pr(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,x=Array(t);s<t;s++)x[s]=e[s];return x}function Pi(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var x=Object.getOwnPropertySymbols(e);t&&(x=x.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,x)}return s}function Pn(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Pi(Object(s),!0).forEach(function(t){var x;x=s[t],t in e?Object.defineProperty(e,t,{value:x,enumerable:!0,configurable:!0,writable:!0}):e[t]=x}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Pi(Object(s)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))})}return e}function P_(e){return function t(){for(var s=this,x=arguments.length,E=Array(x),a=0;a<x;a++)E[a]=arguments[a];return E.length>=e.length?e.apply(this,E):function(){for(var e=arguments.length,x=Array(e),a=0;a<e;a++)x[a]=arguments[a];return t.apply(s,[].concat(E,x))}}}function Pc(e){return({}).toString.call(e).includes("Object")}function PT(e){return"function"==typeof e}var PS=P_(function(e,t){throw Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),PR={changes:function(e,t){return Pc(t)||PS("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&PS("changeField"),t},selector:function(e){PT(e)||PS("selectorType")},handler:function(e){PT(e)||Pc(e)||PS("handlerType"),Pc(e)&&Object.values(e).some(function(e){return!PT(e)})&&PS("handlersType")},initial:function(e){e||PS("initialIsRequired"),Pc(e)||PS("initialType"),Object.keys(e).length||PS("initialContent")}};function PO(e,t){return PT(t)?t(e.current):t}function PA(e,t){return e.current=Pn(Pn({},e.current),t),t}function PN(e,t,s){return PT(t)?t(e.current):Object.keys(s).forEach(function(s){var x;return null===(x=t[s])||void 0===x?void 0:x.call(t,e.current[s])}),s}(function(e){return function t(){for(var s=this,x=arguments.length,E=Array(x),a=0;a<x;a++)E[a]=arguments[a];return E.length>=e.length?e.apply(this,E):function(){for(var e=arguments.length,x=Array(e),a=0;a<e;a++)x[a]=arguments[a];return t.apply(s,[].concat(E,x))}}})(function(e,t){throw Error(e[t]||e.default)})({configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "});let Po=function(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}};var PI={type:"cancelation",msg:"operation is manually canceled"};let PL=function(e){var t=!1,s=new Promise(function(s,x){e.then(function(e){return t?x(PI):s(e)}),e.catch(x)});return s.cancel=function(){return t=!0},s};var Ph=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var s=[],x=!0,E=!1,a=void 0;try{for(var r,i=e[Symbol.iterator]();!(x=(r=i.next()).done)&&(s.push(r.value),2!==s.length);x=!0);}catch(e){E=!0,a=e}finally{try{x||null==i.return||i.return()}finally{if(E)throw a}}return s}}(e,2)||function(e,t){if(e){if("string"==typeof e)return Pr(e,2);var s=Object.prototype.toString.call(e).slice(8,-1);if("Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s)return Array.from(e);if("Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return Pr(e,t)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(({create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};PR.initial(e),PR.handler(t);var s={current:e},x=P_(PN)(s,t),E=P_(PA)(s),a=P_(PR.changes)(e),r=P_(PO)(s);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return PR.selector(e),e(s.current)},function(e){(function(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}})(x,E,a,r)(e)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}),0),PC=Ph[0],Pl=Ph[1];function Pu(e){return document.body.appendChild(e)}function PD(e){var t,s,x=PC(function(e){return{config:e.config,reject:e.reject}}),E=(t="".concat(x.config.paths.vs,"/loader.js"),s=document.createElement("script"),t&&(s.src=t),s);return E.onload=function(){return e()},E.onerror=x.reject,E}function PM(){var e=PC(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){PP(t),e.resolve(t)},function(t){e.reject(t)})}function PP(e){PC().monaco||Pl({monaco:e})}var PU=new Promise(function(e,t){return Pl({resolve:e,reject:t})});let Pd={init:function(){var e=PC(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(Pl({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),PL(PU);if(window.monaco&&window.monaco.editor)return PP(window.monaco),e.resolve(window.monaco),PL(PU);Po(Pu,PD)(PM)}return PL(PU)},__getMonacoInstance:function(){return PC(function(e){return e.monaco})}};var PY={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},Pp={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},PG=function({children:e}){return e8.createElement("div",{style:Pp.container},e)},PB=(0,e8.memo)(function({width:e,height:t,isEditorReady:s,loading:x,_ref:E,className:a,wrapperProps:r}){return e8.createElement("section",{style:{...PY.wrapper,width:e,height:t},...r},!s&&e8.createElement(PG,null,x),e8.createElement("div",{ref:E,style:{...PY.fullWidth,...!s&&PY.hide},className:a}))}),Pm=function(e){(0,e8.useEffect)(e,[])},Pf=function(e,t,s=!0){let x=(0,e8.useRef)(!0);(0,e8.useEffect)(x.current||!s?()=>{x.current=!1}:e,t)};function Pg(){}function PF(e,t,s,x){return e.editor.getModel(PH(e,x))||e.editor.createModel(t,s,x?PH(e,x):void 0)}function PH(e,t){return e.Uri.parse(t)}(0,e8.memo)(function({original:e,modified:t,language:s,originalLanguage:x,modifiedLanguage:E,originalModelPath:a,modifiedModelPath:r,keepCurrentOriginalModel:i=!1,keepCurrentModifiedModel:n=!1,theme:_="light",loading:T="Loading...",options:S={},height:R="100%",width:O="100%",className:A,wrapperProps:N={},beforeMount:o=Pg,onMount:I=Pg}){let[L,h]=(0,e8.useState)(!1),[C,l]=(0,e8.useState)(!0),u=(0,e8.useRef)(null),D=(0,e8.useRef)(null),M=(0,e8.useRef)(null),P=(0,e8.useRef)(I),U=(0,e8.useRef)(o),d=(0,e8.useRef)(!1);Pm(()=>{let e=Pd.init();return e.then(e=>(D.current=e)&&l(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let t;return u.current?(t=u.current?.getModel(),void(i||t?.original?.dispose(),n||t?.modified?.dispose(),u.current?.dispose())):e.cancel()}}),Pf(()=>{if(u.current&&D.current){let t=u.current.getOriginalEditor(),E=PF(D.current,e||"",x||s||"text",a||"");E!==t.getModel()&&t.setModel(E)}},[a],L),Pf(()=>{if(u.current&&D.current){let e=u.current.getModifiedEditor(),x=PF(D.current,t||"",E||s||"text",r||"");x!==e.getModel()&&e.setModel(x)}},[r],L),Pf(()=>{let e=u.current.getModifiedEditor();e.getOption(D.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],L),Pf(()=>{u.current?.getModel()?.original.setValue(e||"")},[e],L),Pf(()=>{let{original:e,modified:t}=u.current.getModel();D.current.editor.setModelLanguage(e,x||s||"text"),D.current.editor.setModelLanguage(t,E||s||"text")},[s,x,E],L),Pf(()=>{D.current?.editor.setTheme(_)},[_],L),Pf(()=>{u.current?.updateOptions(S)},[S],L);let Y=(0,e8.useCallback)(()=>{if(!D.current)return;U.current(D.current);let i=PF(D.current,e||"",x||s||"text",a||""),n=PF(D.current,t||"",E||s||"text",r||"");u.current?.setModel({original:i,modified:n})},[s,t,E,e,x,a,r]),p=(0,e8.useCallback)(()=>{!d.current&&M.current&&(u.current=D.current.editor.createDiffEditor(M.current,{automaticLayout:!0,...S}),Y(),D.current?.editor.setTheme(_),h(!0),d.current=!0)},[S,_,Y]);return(0,e8.useEffect)(()=>{L&&P.current(u.current,D.current)},[L]),(0,e8.useEffect)(()=>{C||L||p()},[C,L,p]),e8.createElement(PB,{width:O,height:R,isEditorReady:L,loading:T,_ref:M,className:A,wrapperProps:N})});var Py=function(){let[e,t]=(0,e8.useState)(Pd.__getMonacoInstance());return Pm(()=>{let s;return e||(s=Pd.init()).then(e=>{t(e)}),()=>s?.cancel()}),e},PV=function(e){let t=(0,e8.useRef)();return(0,e8.useEffect)(()=>{t.current=e},[e]),t.current},PX=new Map,Pb=(0,e8.memo)(function({defaultValue:e,defaultLanguage:t,defaultPath:s,value:x,language:E,path:a,theme:r="light",line:i,loading:n="Loading...",options:_={},overrideServices:T={},saveViewState:S=!0,keepCurrentModel:R=!1,width:O="100%",height:A="100%",className:N,wrapperProps:o={},beforeMount:I=Pg,onMount:L=Pg,onChange:h,onValidate:C=Pg}){let[l,u]=(0,e8.useState)(!1),[D,M]=(0,e8.useState)(!0),P=(0,e8.useRef)(null),U=(0,e8.useRef)(null),d=(0,e8.useRef)(null),Y=(0,e8.useRef)(L),p=(0,e8.useRef)(I),G=(0,e8.useRef)(),B=(0,e8.useRef)(x),m=PV(a),f=(0,e8.useRef)(!1),g=(0,e8.useRef)(!1);Pm(()=>{let e=Pd.init();return e.then(e=>(P.current=e)&&M(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>U.current?void(G.current?.dispose(),R?S&&PX.set(a,U.current.saveViewState()):U.current.getModel()?.dispose(),U.current.dispose()):e.cancel()}),Pf(()=>{let r=PF(P.current,e||x||"",t||E||"",a||s||"");r!==U.current?.getModel()&&(S&&PX.set(m,U.current?.saveViewState()),U.current?.setModel(r),S&&U.current?.restoreViewState(PX.get(a)))},[a],l),Pf(()=>{U.current?.updateOptions(_)},[_],l),Pf(()=>{U.current&&void 0!==x&&(U.current.getOption(P.current.editor.EditorOption.readOnly)?U.current.setValue(x):x===U.current.getValue()||(g.current=!0,U.current.executeEdits("",[{range:U.current.getModel().getFullModelRange(),text:x,forceMoveMarkers:!0}]),U.current.pushUndoStop(),g.current=!1))},[x],l),Pf(()=>{let e=U.current?.getModel();e&&E&&P.current?.editor.setModelLanguage(e,E)},[E],l),Pf(()=>{void 0!==i&&U.current?.revealLine(i)},[i],l),Pf(()=>{P.current?.editor.setTheme(r)},[r],l);let F=(0,e8.useCallback)(()=>{if(!(!d.current||!P.current)&&!f.current){p.current(P.current);let n=a||s,R=PF(P.current,x||e||"",t||E||"",n||"");U.current=P.current?.editor.create(d.current,{model:R,automaticLayout:!0,..._},T),S&&U.current.restoreViewState(PX.get(n)),P.current.editor.setTheme(r),void 0!==i&&U.current.revealLine(i),u(!0),f.current=!0}},[e,t,s,x,E,a,_,T,S,r,i]);return(0,e8.useEffect)(()=>{l&&Y.current(U.current,P.current)},[l]),(0,e8.useEffect)(()=>{D||l||F()},[D,l,F]),B.current=x,(0,e8.useEffect)(()=>{l&&h&&(G.current?.dispose(),G.current=U.current?.onDidChangeModelContent(e=>{g.current||h(U.current.getValue(),e)}))},[l,h]),(0,e8.useEffect)(()=>{if(l){let e=P.current.editor.onDidChangeMarkers(e=>{let t=U.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=P.current.editor.getModelMarkers({resource:t});C?.(e)}});return()=>{e?.dispose()}}return()=>{}},[l,C]),e8.createElement(PB,{width:O,height:A,isEditorReady:l,loading:n,_ref:d,className:N,wrapperProps:o})});function Pv(e,t,{checkForDefaultPrevented:s=!0}={}){return function(x){if(e?.(x),!1===s||!x.defaultPrevented)return t?.(x)}}function Pk(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function Pw(...e){return t=>{let s=!1,x=e.map(e=>{let x=Pk(e,t);return s||"function"!=typeof x||(s=!0),x});if(s)return()=>{for(let t=0;t<x.length;t++){let s=x[t];"function"==typeof s?s():Pk(e[t],null)}}}}function PW(...e){return e8.useCallback(Pw(...e),e)}function PK(e,t=[]){let s=[],x=()=>{let t=s.map(e=>e8.createContext(e));return function(s){let x=s?.[e]||t;return e8.useMemo(()=>({[`__scope${e}`]:{...s,[e]:x}}),[s,x])}};return x.scopeName=e,[function(t,x){let E=e8.createContext(x),a=s.length;s=[...s,x];let r=t=>{let{scope:s,children:x,...r}=t,i=s?.[e]?.[a]||E,n=e8.useMemo(()=>r,Object.values(r));return(0,e5.jsx)(i.Provider,{value:n,children:x})};return r.displayName=t+"Provider",[r,function(s,r){let i=r?.[e]?.[a]||E,n=e8.useContext(i);if(n)return n;if(void 0!==x)return x;throw Error(`\`${s}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let s=()=>{let s=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let x=s.reduce((t,{useScope:s,scopeName:x})=>{let E=s(e)[`__scope${x}`];return{...t,...E}},{});return e8.useMemo(()=>({[`__scope${t.scopeName}`]:x}),[x])}};return s.scopeName=t.scopeName,s}(x,...t)]}var PQ=x(54669),PJ=e8.forwardRef((e,t)=>{let{children:s,...x}=e,E=e8.Children.toArray(s),a=E.find(Pq);if(a){let e=a.props.children,s=E.map(t=>t!==a?t:e8.Children.count(e)>1?e8.Children.only(null):e8.isValidElement(e)?e.props.children:null);return(0,e5.jsx)(PZ,{...x,ref:t,children:e8.isValidElement(e)?e8.cloneElement(e,void 0,s):null})}return(0,e5.jsx)(PZ,{...x,ref:t,children:s})});PJ.displayName="Slot";var PZ=e8.forwardRef((e,t)=>{let{children:s,...x}=e;if(e8.isValidElement(s)){let e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,s=t&&"isReactWarning"in t&&t.isReactWarning;return s?e.ref:(s=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(s);return e8.cloneElement(s,{...function(e,t){let s={...t};for(let x in t){let E=e[x],a=t[x];/^on[A-Z]/.test(x)?E&&a?s[x]=(...e)=>{a(...e),E(...e)}:E&&(s[x]=E):"style"===x?s[x]={...E,...a}:"className"===x&&(s[x]=[E,a].filter(Boolean).join(" "))}return{...e,...s}}(x,s.props),ref:t?Pw(t,e):e})}return e8.Children.count(s)>1?e8.Children.only(null):null});PZ.displayName="SlotClone";var Pz=({children:e})=>(0,e5.jsx)(e5.Fragment,{children:e});function Pq(e){return e8.isValidElement(e)&&e.type===Pz}var Pj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce((e,t)=>{let s=e8.forwardRef((e,s)=>{let{asChild:x,...E}=e,a=x?PJ:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,e5.jsx)(a,{...E,ref:s})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{}),P$=x(31457),P0=x(15027),P2="dismissableLayer.update",P1=e8.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),P3=e8.forwardRef((e,t)=>{let{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:x,onPointerDownOutside:E,onFocusOutside:a,onInteractOutside:r,onDismiss:i,...n}=e,_=e8.useContext(P1),[T,S]=e8.useState(null),R=T?.ownerDocument??globalThis?.document,[,O]=e8.useState({}),A=PW(t,e=>S(e)),N=Array.from(_.layers),[o]=[..._.layersWithOutsidePointerEventsDisabled].slice(-1),I=N.indexOf(o),L=T?N.indexOf(T):-1,h=_.layersWithOutsidePointerEventsDisabled.size>0,C=L>=I,l=function(e,t=globalThis?.document){let s=(0,P$.W)(e),x=e8.useRef(!1),E=e8.useRef(()=>{});return e8.useEffect(()=>{let e=e=>{if(e.target&&!x.current){let x=function(){P5("dismissableLayer.pointerDownOutside",s,a,{discrete:!0})},a={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",E.current),E.current=x,t.addEventListener("click",E.current,{once:!0})):x()}else t.removeEventListener("click",E.current);x.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",e),t.removeEventListener("click",E.current)}},[t,s]),{onPointerDownCapture:()=>x.current=!0}}(e=>{let t=e.target,s=[..._.branches].some(e=>e.contains(t));!C||s||(E?.(e),r?.(e),e.defaultPrevented||i?.())},R),u=function(e,t=globalThis?.document){let s=(0,P$.W)(e),x=e8.useRef(!1);return e8.useEffect(()=>{let e=e=>{e.target&&!x.current&&P5("dismissableLayer.focusOutside",s,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,s]),{onFocusCapture:()=>x.current=!0,onBlurCapture:()=>x.current=!1}}(e=>{let t=e.target;[..._.branches].some(e=>e.contains(t))||(a?.(e),r?.(e),e.defaultPrevented||i?.())},R);return(0,P0.e)(e=>{L!==_.layers.size-1||(x?.(e),!e.defaultPrevented&&i&&(e.preventDefault(),i()))},R),e8.useEffect(()=>{if(T)return s&&(0===_.layersWithOutsidePointerEventsDisabled.size&&(e3=R.body.style.pointerEvents,R.body.style.pointerEvents="none"),_.layersWithOutsidePointerEventsDisabled.add(T)),_.layers.add(T),P7(),()=>{s&&1===_.layersWithOutsidePointerEventsDisabled.size&&(R.body.style.pointerEvents=e3)}},[T,R,s,_]),e8.useEffect(()=>()=>{T&&(_.layers.delete(T),_.layersWithOutsidePointerEventsDisabled.delete(T),P7())},[T,_]),e8.useEffect(()=>{let e=()=>O({});return document.addEventListener(P2,e),()=>document.removeEventListener(P2,e)},[]),(0,e5.jsx)(Pj.div,{...n,ref:A,style:{pointerEvents:h?C?"auto":"none":void 0,...e.style},onFocusCapture:Pv(e.onFocusCapture,u.onFocusCapture),onBlurCapture:Pv(e.onBlurCapture,u.onBlurCapture),onPointerDownCapture:Pv(e.onPointerDownCapture,l.onPointerDownCapture)})});function P7(){let e=new CustomEvent(P2);document.dispatchEvent(e)}function P5(e,t,s,{discrete:x}){let E=s.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:s});(t&&E.addEventListener(e,t,{once:!0}),x)?E&&PQ.flushSync(()=>E.dispatchEvent(a)):E.dispatchEvent(a)}P3.displayName="DismissableLayer",e8.forwardRef((e,t)=>{let s=e8.useContext(P1),x=e8.useRef(null),E=PW(t,x);return e8.useEffect(()=>{let e=x.current;if(e)return s.branches.add(e),()=>{s.branches.delete(e)}},[s.branches]),(0,e5.jsx)(Pj.div,{...e,ref:E})}).displayName="DismissableLayerBranch";var P4=x(14581),P6=x(35538),P8=x(59615),P9=e8.forwardRef((e,t)=>{let{children:s,width:x=10,height:E=5,...a}=e;return(0,e5.jsx)(Pj.svg,{...a,ref:t,width:x,height:E,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?s:(0,e5.jsx)("polygon",{points:"0,0 30,0 15,10"})})});P9.displayName="Arrow";var Ue=x(15169),Ut=x(37469),Us="Popper",[Ux,UE]=PK(Us),[Ua,Ur]=Ux(Us),Ui=e=>{let{__scopePopper:t,children:s}=e,[x,E]=e8.useState(null);return(0,e5.jsx)(Ua,{scope:t,anchor:x,onAnchorChange:E,children:s})};Ui.displayName=Us;var Un="PopperAnchor",U_=e8.forwardRef((e,t)=>{let{__scopePopper:s,virtualRef:x,...E}=e,a=Ur(Un,s),r=e8.useRef(null),i=PW(t,r);return e8.useEffect(()=>{a.onAnchorChange(x?.current||r.current)}),x?null:(0,e5.jsx)(Pj.div,{...E,ref:i})});U_.displayName=Un;var Uc="PopperContent",[UT,US]=Ux(Uc),UR=e8.forwardRef((e,t)=>{let{__scopePopper:s,side:x="bottom",sideOffset:E=0,align:a="center",alignOffset:r=0,arrowPadding:i=0,avoidCollisions:n=!0,collisionBoundary:_=[],collisionPadding:T=0,sticky:S="partial",hideWhenDetached:R=!1,updatePositionStrategy:O="optimized",onPlaced:A,...N}=e,o=Ur(Uc,s),[I,L]=e8.useState(null),h=PW(t,e=>L(e)),[C,l]=e8.useState(null),u=(0,Ut.t)(C),D=u?.width??0,M=u?.height??0,P="number"==typeof T?T:{top:0,right:0,bottom:0,left:0,...T},U=Array.isArray(_)?_:[_],d=U.length>0,Y={padding:P,boundary:U.filter(Uo),altBoundary:d},{refs:p,floatingStyles:G,placement:B,isPositioned:m,middlewareData:f}=(0,P6.YF)({strategy:"fixed",placement:x+("center"!==a?"-"+a:""),whileElementsMounted:(...e)=>(0,P8.Me)(...e,{animationFrame:"always"===O}),elements:{reference:o.anchor},middleware:[(0,P6.cv)({mainAxis:E+M,alignmentAxis:r}),n&&(0,P6.uY)({mainAxis:!0,crossAxis:!1,limiter:"partial"===S?(0,P6.dr)():void 0,...Y}),n&&(0,P6.RR)({...Y}),(0,P6.dp)({...Y,apply:({elements:e,rects:t,availableWidth:s,availableHeight:x})=>{let{width:E,height:a}=t.reference,r=e.floating.style;r.setProperty("--radix-popper-available-width",`${s}px`),r.setProperty("--radix-popper-available-height",`${x}px`),r.setProperty("--radix-popper-anchor-width",`${E}px`),r.setProperty("--radix-popper-anchor-height",`${a}px`)}}),C&&(0,P6.x7)({element:C,padding:i}),UI({arrowWidth:D,arrowHeight:M}),R&&(0,P6.Cp)({strategy:"referenceHidden",...Y})]}),[g,F]=UL(B),H=(0,P$.W)(A);(0,Ue.b)(()=>{m&&H?.()},[m,H]);let y=f.arrow?.x,V=f.arrow?.y,X=f.arrow?.centerOffset!==0,[b,v]=e8.useState();return(0,Ue.b)(()=>{I&&v(window.getComputedStyle(I).zIndex)},[I]),(0,e5.jsx)("div",{ref:p.setFloating,"data-radix-popper-content-wrapper":"",style:{...G,transform:m?G.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:b,"--radix-popper-transform-origin":[f.transformOrigin?.x,f.transformOrigin?.y].join(" "),...f.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,e5.jsx)(UT,{scope:s,placedSide:g,onArrowChange:l,arrowX:y,arrowY:V,shouldHideArrow:X,children:(0,e5.jsx)(Pj.div,{"data-side":g,"data-align":F,...N,ref:h,style:{...N.style,animation:m?void 0:"none"}})})})});UR.displayName=Uc;var UO="PopperArrow",UA={top:"bottom",right:"left",bottom:"top",left:"right"},UN=e8.forwardRef(function(e,t){let{__scopePopper:s,...x}=e,E=US(UO,s),a=UA[E.placedSide];return(0,e5.jsx)("span",{ref:E.onArrowChange,style:{position:"absolute",left:E.arrowX,top:E.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[E.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[E.placedSide],visibility:E.shouldHideArrow?"hidden":void 0},children:(0,e5.jsx)(P9,{...x,ref:t,style:{...x.style,display:"block"}})})});function Uo(e){return null!==e}UN.displayName=UO;var UI=e=>({name:"transformOrigin",options:e,fn(t){let{placement:s,rects:x,middlewareData:E}=t,a=E.arrow?.centerOffset!==0,r=a?0:e.arrowWidth,i=a?0:e.arrowHeight,[n,_]=UL(s),T={start:"0%",center:"50%",end:"100%"}[_],S=(E.arrow?.x??0)+r/2,R=(E.arrow?.y??0)+i/2,O="",A="";return"bottom"===n?(O=a?T:`${S}px`,A=`${-i}px`):"top"===n?(O=a?T:`${S}px`,A=`${x.floating.height+i}px`):"right"===n?(O=`${-i}px`,A=a?T:`${R}px`):"left"===n&&(O=`${x.floating.width+i}px`,A=a?T:`${R}px`),{data:{x:O,y:A}}}});function UL(e){let[t,s="center"]=e.split("-");return[t,s]}e8.forwardRef((e,t)=>{let{container:s,...x}=e,[E,a]=e8.useState(!1);(0,Ue.b)(()=>a(!0),[]);let r=s||E&&globalThis?.document?.body;return r?PQ.createPortal((0,e5.jsx)(Pj.div,{...x,ref:t}),r):null}).displayName="Portal";var Uh=e=>{let{present:t,children:s}=e,x=function(e){var t,s;let[x,E]=e8.useState(),a=e8.useRef({}),r=e8.useRef(e),i=e8.useRef("none"),[n,_]=(t=e?"mounted":"unmounted",s={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},e8.useReducer((e,t)=>s[e][t]??e,t));return e8.useEffect(()=>{let e=UC(a.current);i.current="mounted"===n?e:"none"},[n]),(0,Ue.b)(()=>{let t=a.current,s=r.current;if(s!==e){let x=i.current,E=UC(t);e?_("MOUNT"):"none"===E||t?.display==="none"?_("UNMOUNT"):s&&x!==E?_("ANIMATION_OUT"):_("UNMOUNT"),r.current=e}},[e,_]),(0,Ue.b)(()=>{if(x){let e;let t=x.ownerDocument.defaultView??window,s=s=>{let E=UC(a.current).includes(s.animationName);if(s.target===x&&E&&(_("ANIMATION_END"),!r.current)){let s=x.style.animationFillMode;x.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===x.style.animationFillMode&&(x.style.animationFillMode=s)})}},E=e=>{e.target===x&&(i.current=UC(a.current))};return x.addEventListener("animationstart",E),x.addEventListener("animationcancel",s),x.addEventListener("animationend",s),()=>{t.clearTimeout(e),x.removeEventListener("animationstart",E),x.removeEventListener("animationcancel",s),x.removeEventListener("animationend",s)}}_("ANIMATION_END")},[x,_]),{isPresent:["mounted","unmountSuspended"].includes(n),ref:e8.useCallback(e=>{e&&(a.current=getComputedStyle(e)),E(e)},[])}}(t),E="function"==typeof s?s({present:x.isPresent}):e8.Children.only(s),a=PW(x.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,s=t&&"isReactWarning"in t&&t.isReactWarning;return s?e.ref:(s=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(E));return"function"==typeof s||x.isPresent?e8.cloneElement(E,{ref:a}):null};function UC(e){return e?.animationName||"none"}Uh.displayName="Presence";var Ul=x(53433),Uu=e8.forwardRef((e,t)=>(0,e5.jsx)(Pj.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));Uu.displayName="VisuallyHidden";var[UD,UM]=PK("Tooltip",[UE]),UP=UE(),UU="TooltipProvider",Ud="tooltip.open",[UY,Up]=UD(UU),UG=e=>{let{__scopeTooltip:t,delayDuration:s=700,skipDelayDuration:x=300,disableHoverableContent:E=!1,children:a}=e,[r,i]=e8.useState(!0),n=e8.useRef(!1),_=e8.useRef(0);return e8.useEffect(()=>{let e=_.current;return()=>window.clearTimeout(e)},[]),(0,e5.jsx)(UY,{scope:t,isOpenDelayed:r,delayDuration:s,onOpen:e8.useCallback(()=>{window.clearTimeout(_.current),i(!1)},[]),onClose:e8.useCallback(()=>{window.clearTimeout(_.current),_.current=window.setTimeout(()=>i(!0),x)},[x]),isPointerInTransitRef:n,onPointerInTransitChange:e8.useCallback(e=>{n.current=e},[]),disableHoverableContent:E,children:a})};UG.displayName=UU;var UB="Tooltip",[Um,Uf]=UD(UB),Ug=e=>{let{__scopeTooltip:t,children:s,open:x,defaultOpen:E=!1,onOpenChange:a,disableHoverableContent:r,delayDuration:i}=e,n=Up(UB,e.__scopeTooltip),_=UP(t),[T,S]=e8.useState(null),R=(0,P4.M)(),O=e8.useRef(0),A=r??n.disableHoverableContent,N=i??n.delayDuration,o=e8.useRef(!1),[I=!1,L]=(0,Ul.T)({prop:x,defaultProp:E,onChange:e=>{e?(n.onOpen(),document.dispatchEvent(new CustomEvent(Ud))):n.onClose(),a?.(e)}}),h=e8.useMemo(()=>I?o.current?"delayed-open":"instant-open":"closed",[I]),C=e8.useCallback(()=>{window.clearTimeout(O.current),O.current=0,o.current=!1,L(!0)},[L]),l=e8.useCallback(()=>{window.clearTimeout(O.current),O.current=0,L(!1)},[L]),u=e8.useCallback(()=>{window.clearTimeout(O.current),O.current=window.setTimeout(()=>{o.current=!0,L(!0),O.current=0},N)},[N,L]);return e8.useEffect(()=>()=>{O.current&&(window.clearTimeout(O.current),O.current=0)},[]),(0,e5.jsx)(Ui,{..._,children:(0,e5.jsx)(Um,{scope:t,contentId:R,open:I,stateAttribute:h,trigger:T,onTriggerChange:S,onTriggerEnter:e8.useCallback(()=>{n.isOpenDelayed?u():C()},[n.isOpenDelayed,u,C]),onTriggerLeave:e8.useCallback(()=>{A?l():(window.clearTimeout(O.current),O.current=0)},[l,A]),onOpen:C,onClose:l,disableHoverableContent:A,children:s})})};Ug.displayName=UB;var UF="TooltipTrigger",UH=e8.forwardRef((e,t)=>{let{__scopeTooltip:s,...x}=e,E=Uf(UF,s),a=Up(UF,s),r=UP(s),i=PW(t,e8.useRef(null),E.onTriggerChange),n=e8.useRef(!1),_=e8.useRef(!1),T=e8.useCallback(()=>n.current=!1,[]);return e8.useEffect(()=>()=>document.removeEventListener("pointerup",T),[T]),(0,e5.jsx)(U_,{asChild:!0,...r,children:(0,e5.jsx)(Pj.button,{"aria-describedby":E.open?E.contentId:void 0,"data-state":E.stateAttribute,...x,ref:i,onPointerMove:Pv(e.onPointerMove,e=>{"touch"===e.pointerType||_.current||a.isPointerInTransitRef.current||(E.onTriggerEnter(),_.current=!0)}),onPointerLeave:Pv(e.onPointerLeave,()=>{E.onTriggerLeave(),_.current=!1}),onPointerDown:Pv(e.onPointerDown,()=>{n.current=!0,document.addEventListener("pointerup",T,{once:!0})}),onFocus:Pv(e.onFocus,()=>{n.current||E.onOpen()}),onBlur:Pv(e.onBlur,E.onClose),onClick:Pv(e.onClick,E.onClose)})})});UH.displayName=UF;var[Uy,UV]=UD("TooltipPortal",{forceMount:void 0}),UX="TooltipContent",Ub=e8.forwardRef((e,t)=>{let s=UV(UX,e.__scopeTooltip),{forceMount:x=s.forceMount,side:E="top",...a}=e,r=Uf(UX,e.__scopeTooltip);return(0,e5.jsx)(Uh,{present:x||r.open,children:r.disableHoverableContent?(0,e5.jsx)(UW,{side:E,...a,ref:t}):(0,e5.jsx)(Uv,{side:E,...a,ref:t})})}),Uv=e8.forwardRef((e,t)=>{let s=Uf(UX,e.__scopeTooltip),x=Up(UX,e.__scopeTooltip),E=e8.useRef(null),a=PW(t,E),[r,i]=e8.useState(null),{trigger:n,onClose:_}=s,T=E.current,{onPointerInTransitChange:S}=x,R=e8.useCallback(()=>{i(null),S(!1)},[S]),O=e8.useCallback((e,t)=>{let s=e.currentTarget,x={x:e.clientX,y:e.clientY},E=function(e,t){let s=Math.abs(t.top-e.y),x=Math.abs(t.bottom-e.y),E=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(s,x,E,a)){case a:return"left";case E:return"right";case s:return"top";case x:return"bottom";default:throw Error("unreachable")}}(x,s.getBoundingClientRect());i(function(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),function(e){if(e.length<=1)return e.slice();let t=[];for(let s=0;s<e.length;s++){let x=e[s];for(;t.length>=2;){let e=t[t.length-1],s=t[t.length-2];if((e.x-s.x)*(x.y-s.y)>=(e.y-s.y)*(x.x-s.x))t.pop();else break}t.push(x)}t.pop();let s=[];for(let t=e.length-1;t>=0;t--){let x=e[t];for(;s.length>=2;){let e=s[s.length-1],t=s[s.length-2];if((e.x-t.x)*(x.y-t.y)>=(e.y-t.y)*(x.x-t.x))s.pop();else break}s.push(x)}return(s.pop(),1===t.length&&1===s.length&&t[0].x===s[0].x&&t[0].y===s[0].y)?t:t.concat(s)}(t)}([...function(e,t,s=5){let x=[];switch(t){case"top":x.push({x:e.x-s,y:e.y+s},{x:e.x+s,y:e.y+s});break;case"bottom":x.push({x:e.x-s,y:e.y-s},{x:e.x+s,y:e.y-s});break;case"left":x.push({x:e.x+s,y:e.y-s},{x:e.x+s,y:e.y+s});break;case"right":x.push({x:e.x-s,y:e.y-s},{x:e.x-s,y:e.y+s})}return x}(x,E),...function(e){let{top:t,right:s,bottom:x,left:E}=e;return[{x:E,y:t},{x:s,y:t},{x:s,y:x},{x:E,y:x}]}(t.getBoundingClientRect())])),S(!0)},[S]);return e8.useEffect(()=>()=>R(),[R]),e8.useEffect(()=>{if(n&&T){let e=e=>O(e,T),t=e=>O(e,n);return n.addEventListener("pointerleave",e),T.addEventListener("pointerleave",t),()=>{n.removeEventListener("pointerleave",e),T.removeEventListener("pointerleave",t)}}},[n,T,O,R]),e8.useEffect(()=>{if(r){let e=e=>{let t=e.target,s={x:e.clientX,y:e.clientY},x=n?.contains(t)||T?.contains(t),E=!function(e,t){let{x:s,y:x}=e,E=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let r=t[e].x,i=t[e].y,n=t[a].x,_=t[a].y;i>x!=_>x&&s<(n-r)*(x-i)/(_-i)+r&&(E=!E)}return E}(s,r);x?R():E&&(R(),_())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[n,T,r,_,R]),(0,e5.jsx)(UW,{...e,ref:a})}),[Uk,Uw]=UD(UB,{isInside:!1}),UW=e8.forwardRef((e,t)=>{let{__scopeTooltip:s,children:x,"aria-label":E,onEscapeKeyDown:a,onPointerDownOutside:r,...i}=e,n=Uf(UX,s),_=UP(s),{onClose:T}=n;return e8.useEffect(()=>(document.addEventListener(Ud,T),()=>document.removeEventListener(Ud,T)),[T]),e8.useEffect(()=>{if(n.trigger){let e=e=>{let t=e.target;t?.contains(n.trigger)&&T()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[n.trigger,T]),(0,e5.jsx)(P3,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:r,onFocusOutside:e=>e.preventDefault(),onDismiss:T,children:(0,e5.jsxs)(UR,{"data-state":n.stateAttribute,..._,...i,ref:t,style:{...i.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,e5.jsx)(Pz,{children:x}),(0,e5.jsx)(Uk,{scope:s,isInside:!0,children:(0,e5.jsx)(Uu,{id:n.contentId,role:"tooltip",children:E||x})})]})})});Ub.displayName=UX;var UK="TooltipArrow";e8.forwardRef((e,t)=>{let{__scopeTooltip:s,...x}=e,E=UP(s);return Uw(UK,s).isInside?null:(0,e5.jsx)(UN,{...E,...x,ref:t})}).displayName=UK;let UQ=e8.forwardRef(({className:e,sideOffset:t=4,...s},x)=>e5.jsx(Ub,{ref:x,sideOffset:t,className:(0,so.cn)("z-50 overflow-hidden rounded-md border bg-popover text-popover-foreground px-3 py-1.5 text-sm shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...s}));function UJ({text:e,children:t}){return e5.jsx(UG,{children:(0,e5.jsxs)(Ug,{children:[e5.jsx(UH,{children:t}),e5.jsx(UQ,{children:e5.jsx("p",{className:"text-xs",children:e})})]})})}UQ.displayName=Ub.displayName;var UZ=x(19899),Uz=x(36887);function Uq({table:e,query:t,isLiveQuery:s}){let{chainName:x,worldAddress:E}=(0,e4.useParams)(),{id:a}=(0,e9.A)(),r=decodeURIComponent(t??"");return(0,t7.a)({queryKey:["tableData",x,E,r],queryFn:async()=>{let e=performance.now(),t=sN(a),s=await fetch(t.url,{method:"POST",headers:{"Content-Type":"application/json"},body:(0,te.P)([{address:E,query:r}])}),x=await s.json(),i=performance.now()-e;if(!s.ok)throw Error(x.msg||"Network response was not ok");return{...x,queryDuration:i}},select:t=>{if(!e||!t?.result?.[0])return;let s=sN(a),x=t.result[0];if(!x[0])return;let E=Object.keys(e.schema),r=x[0]?.map(e=>E.find(t=>t.toLowerCase()===e)||e),i=x.slice(1).map(t=>Object.fromEntries(r.map((x,E)=>{let a=t[E],r=e?.schema[x];return r?.type==="bool"?[x,"sqlite"===s.type?"1"===a:a]:[x,a]})));return{columns:r,rows:i,queryDuration:t.queryDuration}},retry:!1,enabled:!!e&&!!t,refetchInterval:e=>!e.state.error&&!!s&&1e3})}let Uj={fontSize:14,fontWeight:"normal",wordWrap:"on",wrappingStrategy:"advanced",lineNumbers:"off",lineNumbersMinChars:0,overviewRulerLanes:0,overviewRulerBorder:!1,hideCursorInOverviewRuler:!0,lineDecorationsWidth:0,glyphMargin:!1,folding:!1,scrollBeyondLastColumn:0,scrollBeyondLastLine:!1,scrollbar:{horizontal:"hidden",vertical:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},find:{addExtraSpaceOnTop:!1,autoFindInSelection:"never",seedSearchStringFromSelection:"never"},minimap:{enabled:!1},wordBasedSuggestions:"off",links:!1,occurrencesHighlight:"off",cursorStyle:"line-thin",renderLineHighlight:"none",contextmenu:!1,roundedSelection:!1,hover:{delay:100},acceptSuggestionOnEnter:"on",automaticLayout:!0,fixedOverflowWidgets:!0};var U$=x(48407);let U0=new(x(43939)).Parser;function U2(e,t){let s=e.split("\n"),x=1,E=1,a=0;for(let r=0;r<s.length;r++){let i=s[r]?.length;if(i){if(a+i>=e.indexOf(t)){x=r+1,E=e.indexOf(t)-a+1;break}a+=i+1}}return{startLineNumber:x,endLineNumber:x,startColumn:E,endColumn:E+t.length}}function U1({table:e,isLiveQuery:t,setIsLiveQuery:s}){let x=(0,e8.useRef)(null),E=(0,e8.useRef)(null),[a,r]=(0,e8.useState)(!1),[i,n]=(0,e6.v1)("query",{defaultValue:""}),_=function(e){let t=Py(),{worldAddress:s}=(0,e4.useParams)(),{id:x}=(0,e9.A)(),E=function(){let e=Py();return(0,e8.useCallback)(({message:t,startLineNumber:s,endLineNumber:x,startColumn:E,endColumn:a})=>{let r=e?.editor.getModels()[0];r&&e.editor.setModelMarkers(r,"sql",[{severity:e.MarkerSeverity.Error,message:t,startLineNumber:s,endLineNumber:x,startColumn:E,endColumn:a}])},[e])}();return(0,e8.useCallback)(a=>{var r;if(!t||!e)return!0;let i=(r=decodeURIComponent(a)).endsWith(";")?r:`${r};`;try{let a=U0.astify(i);if("columns"in a&&Array.isArray(a.columns))for(let t of a.columns){let s=t.expr.column;if(!Object.keys(e.schema).includes(s))return E({message:`Column '${s}' does not exist in the table schema.`,...U2(i,s)}),!1}if("from"in a&&Array.isArray(a.from)){for(let t of a.from)if("table"in t){let a=t.table,r=sI(e,s,x);if(a!==r)return E({message:`Only '${r}' is available for this query.`,...U2(i,a)}),!1}}let r=t?.editor.getModels()[0];return r&&t.editor.setModelMarkers(r,"sql",[]),!0}catch(e){if(e instanceof Error){let t=i.split("\n"),s=t[t.length-1];E({message:e.message,startLineNumber:1,endLineNumber:t.length,startColumn:1,endColumn:s?s.length+1:1})}return!1}},[t,e,E,s,x])}(e),{data:T,refetch:S}=Uq({table:e,query:i,isLiveQuery:t});Py(),function(e){let{id:t}=(0,e9.A)(),{worldAddress:s}=(0,e4.useParams)();(0,e8.useMemo)(()=>{if(!e||!s||!t)return null;let x=sI(e,s,t),E=Object.keys(e.schema);return new U$.SQLAutocomplete(U$.SQLDialect.PLpgSQL,[x],E)},[e,s,t])}(e);let R=(0,Pa.cI)({defaultValues:{query:i}}),O=R.watch("query"),A=R.handleSubmit(e=>{_(e.query)&&(n(e.query),S())}),N=()=>{if(x.current){let e=Math.min(200,x.current.getContentHeight());E.current&&(E.current.style.height=`${e}px`),x.current.layout({width:x.current.getLayoutInfo().width,height:e})}};return e5.jsx(Uz.l0,{...R,children:(0,e5.jsxs)("form",{onSubmit:A,className:"space-y-4",children:[(0,e5.jsxs)("div",{className:(0,so.cn)("relative w-full rounded-md border bg-black px-3 py-2 ring-offset-background",{"outline-none ring-2 ring-ring ring-offset-2":a}),children:[e5.jsx(Uz.Wi,{name:"query",render:({field:e})=>e5.jsx("div",{ref:E,className:"min-h-[21px] w-full",children:e5.jsx(Pb,{width:"100%",theme:"hc-black",value:decodeURIComponent(e.value),options:Uj,language:"sql",onChange:t=>e.onChange(encodeURIComponent(t??"")),onMount:e=>{x.current=e,e.addAction({id:"executeSQL",label:"Execute SQL command",keybindings:[Px.CtrlCmd|Ps.Enter],run:()=>{A()}}),N(),e.onDidContentSizeChange(N),e.onDidFocusEditorText(()=>r(!0)),e.onDidBlurEditorText(()=>r(!1))},loading:null})})}),O!==i?e5.jsx("span",{className:"absolute right-1 top-[-6px] text-5xl text-primary",children:e5.jsx("span",{className:"text-5xl text-primary",children:"\xb7"})}):null]}),(0,e5.jsxs)("div",{className:"flex justify-end gap-4",children:[T?(0,e5.jsxs)(e5.Fragment,{children:[(0,e5.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-white/60",children:[e5.jsx(UJ,{text:"Execution time for the SQL query",children:(0,e5.jsxs)("span",{className:"flex items-center gap-1.5",children:[e5.jsx("span",{className:(0,so.cn)("inline-block h-[6px] w-[6px] rounded-full bg-success",{"animate-pulse":t})}),(0,e5.jsxs)("span",{children:[T?Math.round(T.queryDuration):0,"ms"]})]})}),"\xb7",(0,e5.jsxs)("span",{children:[T?.rows.length??0," row",T?.rows.length!==1?"s":""]})]}),e5.jsx(UJ,{text:t?"Pause live query":"Start live query",children:e5.jsx(UZ.z,{variant:"outline",size:"icon",onClick:()=>s(!t),children:t?e5.jsx(sh,{className:"h-4 w-4"}):e5.jsx(sC,{className:"h-4 w-4"})})})]}):null,(0,e5.jsxs)(UZ.z,{className:"flex gap-2 pl-4 pr-3",type:"submit",children:["Run",e5.jsx("span",{className:"flex items-center gap-0.5 text-white/60",children:navigator.platform.toLowerCase().includes("mac")?(0,e5.jsxs)(e5.Fragment,{children:[e5.jsx(sl,{className:"h-3 w-3"}),e5.jsx(su,{className:"h-3 w-3"})]}):(0,e5.jsxs)(e5.Fragment,{children:[e5.jsx("span",{className:"text-xs",children:"CTRL"}),e5.jsx(su,{className:"h-3 w-3"})]})})]})]})]})})}var U3=x(58582);/**
1046
1046
  * @license lucide-react v0.408.0 - ISC
1047
1047
  *
1048
1048
  * This source code is licensed under the ISC license.
1049
1049
  * See the LICENSE file in the root directory of this source tree.
1050
- */let U7=(0,sL.Z)("Link2Off",[["path",{d:"M9 17H7A5 5 0 0 1 7 7",key:"10o201"}],["path",{d:"M15 7h2a5 5 0 0 1 4 8",key:"1d3206"}],["line",{x1:"8",x2:"12",y1:"12",y2:"12",key:"rvw6j4"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),U5=(0,sL.Z)("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),U4=(0,sL.Z)("ChevronsUpDown",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var U6=x(66014),U8=x(71677);let U9=U8.Root,de=U8.Trigger,dt=e8.forwardRef(({className:e,align:t="center",sideOffset:s=4,...x},E)=>e5.jsx(U8.Portal,{children:e5.jsx(U8.Content,{ref:E,align:t,sideOffset:s,className:(0,so.cn)("z-50 w-72","rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2",e),...x})}));function ds({table:e,selected:t,asOption:s}){let{type:x,name:E,namespace:a}=e;return(0,e5.jsxs)("div",{className:"flex items-center",children:[s&&e5.jsx(U3.Z,{className:(0,so.cn)("mr-2 h-4 w-4",t?"opacity-100":"opacity-0")}),"offchainTable"===x&&e5.jsx(U7,{className:"mr-2 inline-block opacity-70",size:14}),"table"===x&&e5.jsx(U5,{className:"mr-2 inline-block opacity-70",size:14}),E," ",a&&(0,e5.jsxs)("span",{className:"ml-2 opacity-70",children:["(",a,")"]})]})}function dx({tables:e}){let{worldAddress:t}=(0,e4.useParams)(),{id:s}=(0,e9.A)(),[x,E]=(0,e6.v1)("tableId"),[a,r]=(0,e8.useState)(!1),i=e?.find(({tableId:e})=>e===x);return e5.jsx("div",{className:"w-full",children:(0,e5.jsxs)(U9,{open:a,onOpenChange:r,children:[e5.jsx(de,{asChild:!0,children:(0,e5.jsxs)(UZ.z,{variant:"outline",role:"combobox","aria-expanded":a,className:"w-full justify-between",disabled:!e,children:[i&&e5.jsx(ds,{table:i,selected:x===i.tableId}),!i&&e5.jsx("span",{className:"opacity-50",children:"Select table..."}),e5.jsx(U4,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e5.jsx(dt,{className:"w-[--radix-popover-trigger-width] p-0",children:(0,e5.jsxs)(U6.mY,{children:[e5.jsx(U6.sZ,{placeholder:"Search tables...",className:"font-mono"}),(0,e5.jsxs)(U6.e8,{children:[e5.jsx(U6.rb,{className:"py-4 text-center font-mono text-sm",children:"No table found."}),e5.jsx(U6.fu,{children:e?.map(e=>e5.jsx(U6.di,{value:sI(e,t,s),onSelect:()=>{E(e.tableId),r(!1)},className:"font-mono",children:e5.jsx(ds,{table:e,selected:x===e.tableId,asOption:!0})},e.tableId))})]})]})})]})})}dt.displayName=U8.Content.displayName;/**
1050
+ */let U7=(0,sL.Z)("Link2Off",[["path",{d:"M9 17H7A5 5 0 0 1 7 7",key:"10o201"}],["path",{d:"M15 7h2a5 5 0 0 1 4 8",key:"1d3206"}],["line",{x1:"8",x2:"12",y1:"12",y2:"12",key:"rvw6j4"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]),U5=(0,sL.Z)("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),U4=(0,sL.Z)("ChevronsUpDown",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var U6=x(66014),U8=x(71677);let U9=U8.Root,de=U8.Trigger,dt=e8.forwardRef(({className:e,align:t="center",sideOffset:s=4,...x},E)=>e5.jsx(U8.Portal,{children:e5.jsx(U8.Content,{ref:E,align:t,sideOffset:s,className:(0,so.cn)("z-50 w-72","rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2",e),...x})}));function ds({table:e,selected:t,asOption:s}){let{type:x,name:E,namespace:a}=e;return(0,e5.jsxs)("div",{className:"flex items-center",children:[s&&e5.jsx(U3.Z,{className:(0,so.cn)("mr-2 h-4 w-4",t?"opacity-100":"opacity-0")}),"offchainTable"===x&&e5.jsx(U7,{className:"mr-2 inline-block opacity-70",size:14}),"table"===x&&e5.jsx(U5,{className:"mr-2 inline-block opacity-70",size:14}),E," ",a&&(0,e5.jsxs)("span",{className:"ml-2 opacity-70",children:["(",a,")"]})]})}function dx({tables:e}){let{worldAddress:t}=(0,e4.useParams)(),{id:s}=(0,e9.A)(),[x,E]=(0,e6.v1)("tableId"),[a,r]=(0,e8.useState)(!1),[i,n]=(0,e8.useState)(""),_=e?.find(({tableId:e})=>e===x);return e5.jsx("div",{className:"w-full",children:(0,e5.jsxs)(U9,{open:a,onOpenChange:r,children:[e5.jsx(de,{asChild:!0,children:(0,e5.jsxs)(UZ.z,{variant:"outline",role:"combobox","aria-expanded":a,className:"w-full justify-between",disabled:!e,children:[_&&e5.jsx(ds,{table:_,selected:x===_.tableId}),!_&&e5.jsx("span",{className:"opacity-50",children:"Select table..."}),e5.jsx(U4,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e5.jsx(dt,{className:"w-[--radix-popover-trigger-width] p-0",children:(0,e5.jsxs)(U6.mY,{children:[e5.jsx(U6.sZ,{placeholder:"Search tables...",className:"font-mono",value:i,onValueChange:n}),(0,e5.jsxs)(U6.e8,{children:[e5.jsx(U6.rb,{className:"py-4 text-center font-mono text-sm text-muted-foreground",children:"No table found."}),e5.jsx(U6.fu,{children:e?.map(e=>e5.jsx(U6.di,{value:sI(e,t,s),onSelect:()=>{E(e.tableId),r(!1)},className:"font-mono",children:e5.jsx(ds,{table:e,selected:x===e.tableId,asOption:!0})},e.tableId))})]})]})})]})})}dt.displayName=U8.Content.displayName;/**
1051
1051
  * @license lucide-react v0.408.0 - ISC
1052
1052
  *
1053
1053
  * This source code is licensed under the ISC license.
@@ -1057,9 +1057,9 @@ ${e.toString()}`}}class Nz{constructor(e=new NJ,t=!1,s,x=!1){this._services=e,th
1057
1057
  *
1058
1058
  * This source code is licensed under the ISC license.
1059
1059
  * See the LICENSE file in the root directory of this source tree.
1060
- */let di=(0,sL.Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var dn=x(83973),d_=x(86269),dc=x(36399),dT=x(12031),dS=x(53331),dR=x(31138),dO=x(65869),dA=x(38868),dN=x(92092);let dI=JSON.parse('[{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}]');var dL=x(97157),dh=x(44127),dC=x(74204),dl=x(55130),du=x(92197),dD=x(56563),dM=x(74025),dP=x(27405),dU=x(14847),dd="Checkbox",[dY,dp]=(0,du.b)(dd),[dG,dB]=dY(dd),dm=e8.forwardRef((e,t)=>{let{__scopeCheckbox:s,name:x,checked:E,defaultChecked:a,required:r,disabled:i,value:n="on",onCheckedChange:_,...T}=e,[S,R]=e8.useState(null),O=(0,dl.e)(t,e=>R(e)),A=e8.useRef(!1),N=!S||!!S.closest("form"),[o=!1,I]=(0,Ul.T)({prop:E,defaultProp:a,onChange:_}),L=e8.useRef(o);return e8.useEffect(()=>{let e=S?.form;if(e){let t=()=>I(L.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[S,I]),(0,e5.jsxs)(dG,{scope:s,state:o,disabled:i,children:[(0,e5.jsx)(dU.WV.button,{type:"button",role:"checkbox","aria-checked":dH(o)?"mixed":o,"aria-required":r,"data-state":dy(o),"data-disabled":i?"":void 0,disabled:i,value:n,...T,ref:O,onKeyDown:(0,dD.M)(e.onKeyDown,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,dD.M)(e.onClick,e=>{I(e=>!!dH(e)||!e),N&&(A.current=e.isPropagationStopped(),A.current||e.stopPropagation())})}),N&&(0,e5.jsx)(dF,{control:S,bubbles:!A.current,name:x,value:n,checked:o,required:r,disabled:i,style:{transform:"translateX(-100%)"}})]})});dm.displayName=dd;var df="CheckboxIndicator",dg=e8.forwardRef((e,t)=>{let{__scopeCheckbox:s,forceMount:x,...E}=e,a=dB(df,s);return(0,e5.jsx)(dP.z,{present:x||dH(a.state)||!0===a.state,children:(0,e5.jsx)(dU.WV.span,{"data-state":dy(a.state),"data-disabled":a.disabled?"":void 0,...E,ref:t,style:{pointerEvents:"none",...e.style}})})});dg.displayName=df;var dF=e=>{let{control:t,checked:s,bubbles:x=!0,...E}=e,a=e8.useRef(null),r=(0,dM.D)(s),i=(0,Ut.t)(t);return e8.useEffect(()=>{let e=a.current,t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(r!==s&&t){let E=new Event("click",{bubbles:x});e.indeterminate=dH(s),t.call(e,!dH(s)&&s),e.dispatchEvent(E)}},[r,s,x]),(0,e5.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:!dH(s)&&s,...E,tabIndex:-1,ref:a,style:{...e.style,...i,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function dH(e){return"indeterminate"===e}function dy(e){return dH(e)?"indeterminate":e?"checked":"unchecked"}let dV=e8.forwardRef(({className:e,...t},s)=>e5.jsx(dm,{ref:s,className:(0,so.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50","data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:e5.jsx(dg,{className:(0,so.cn)("flex items-center justify-center text-current"),children:e5.jsx(U3.Z,{className:"h-4 w-4"})})}));function dX({name:e,table:t,keyTuple:s,value:x}){let[E,a]=(0,e8.useState)(x),{openConnectModal:r}=(0,dL.We)(),i=(0,dR.Z)(),n=(0,dh.NL)(),{worldAddress:_}=(0,e4.useParams)(),{id:T}=(0,e9.A)(),S=(0,dO.m)(),R=Object.fromEntries(Object.entries(t.schema).filter(([e])=>!t.key.includes(e))),O=R?.[e]?.type,{mutate:A,isPending:N}=(0,dC.D)({mutationFn:async x=>{var E;if(!O)throw Error("Field type not found");let a=[...Object.entries(E=(0,tt.Xc)(R,e=>e.type)).filter(([,e])=>tr(e)).map(([e])=>e),...Object.entries(E).filter(([,e])=>tE.includes(e)).map(([e])=>e)].indexOf(e),r=function(e,t){if("string"==typeof e&&ti.test(e)&&tr(e.replace(ti,""))&&Array.isArray(t)){let s=e.replace(ti,"");return 0===t.length?"0x":sn(t.map(()=>s),t)}return sn([e],[t])}(O,x),n=await (0,dA.n)(i,{abi:dI,address:_,functionName:"setField",args:[t.tableId,s,a,r],chainId:T}),S=await (0,dN.e)(i,{hash:n});return{txHash:n,receipt:S}},onMutate:()=>({toastId:dS.A.loading("Transaction submitted")}),onSuccess:({txHash:e},t,{toastId:s})=>{a(t),dS.A.success(`Transaction successful with hash: ${e}`,{id:s}),n.invalidateQueries({queryKey:["balance",{address:S.address,chainId:T}]})},onError:(e,t,s)=>{console.error("Error:",e),dS.A.error(e.message||"Something went wrong. Please try again.",{id:s?.toastId}),a(x)}}),o=e=>{if(!S.isConnected)return r?.();A(e)};return"bool"===O?(0,e5.jsxs)("div",{className:"flex items-center gap-1",children:[e5.jsx(dV,{id:`checkbox-${e}`,checked:!!E,onCheckedChange:o,disabled:N}),N&&e5.jsx(dr.Z,{className:"h-4 w-4 animate-spin"})]}):(0,e5.jsxs)("div",{className:(0,so.cn)("w-full",{"flex cursor-wait items-center gap-1":N}),children:[!N&&e5.jsx("form",{onSubmit:e=>{e.preventDefault(),o(E)},children:e5.jsx("input",{className:"w-full bg-transparent",onChange:e=>a(e.target.value),onBlur:e=>o(e.target.value),value:String(E),disabled:N})}),N&&(0,e5.jsxs)(e5.Fragment,{children:[String(E),e5.jsx(dr.Z,{className:"h-4 w-4 animate-spin"})]})]})}dV.displayName=dm.displayName;/**
1060
+ */let di=(0,sL.Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var dn=x(83973),d_=x(86269),dc=x(36399),dT=x(82656),dS=x(53331),dR=x(31138),dO=x(65869),dA=x(38868),dN=x(92092);let dI=JSON.parse('[{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}]');var dL=x(97157),dh=x(44127),dC=x(74204),dl=x(55130),du=x(92197),dD=x(56563),dM=x(74025),dP=x(27405),dU=x(14847),dd="Checkbox",[dY,dp]=(0,du.b)(dd),[dG,dB]=dY(dd),dm=e8.forwardRef((e,t)=>{let{__scopeCheckbox:s,name:x,checked:E,defaultChecked:a,required:r,disabled:i,value:n="on",onCheckedChange:_,...T}=e,[S,R]=e8.useState(null),O=(0,dl.e)(t,e=>R(e)),A=e8.useRef(!1),N=!S||!!S.closest("form"),[o=!1,I]=(0,Ul.T)({prop:E,defaultProp:a,onChange:_}),L=e8.useRef(o);return e8.useEffect(()=>{let e=S?.form;if(e){let t=()=>I(L.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[S,I]),(0,e5.jsxs)(dG,{scope:s,state:o,disabled:i,children:[(0,e5.jsx)(dU.WV.button,{type:"button",role:"checkbox","aria-checked":dH(o)?"mixed":o,"aria-required":r,"data-state":dy(o),"data-disabled":i?"":void 0,disabled:i,value:n,...T,ref:O,onKeyDown:(0,dD.M)(e.onKeyDown,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,dD.M)(e.onClick,e=>{I(e=>!!dH(e)||!e),N&&(A.current=e.isPropagationStopped(),A.current||e.stopPropagation())})}),N&&(0,e5.jsx)(dF,{control:S,bubbles:!A.current,name:x,value:n,checked:o,required:r,disabled:i,style:{transform:"translateX(-100%)"}})]})});dm.displayName=dd;var df="CheckboxIndicator",dg=e8.forwardRef((e,t)=>{let{__scopeCheckbox:s,forceMount:x,...E}=e,a=dB(df,s);return(0,e5.jsx)(dP.z,{present:x||dH(a.state)||!0===a.state,children:(0,e5.jsx)(dU.WV.span,{"data-state":dy(a.state),"data-disabled":a.disabled?"":void 0,...E,ref:t,style:{pointerEvents:"none",...e.style}})})});dg.displayName=df;var dF=e=>{let{control:t,checked:s,bubbles:x=!0,...E}=e,a=e8.useRef(null),r=(0,dM.D)(s),i=(0,Ut.t)(t);return e8.useEffect(()=>{let e=a.current,t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(r!==s&&t){let E=new Event("click",{bubbles:x});e.indeterminate=dH(s),t.call(e,!dH(s)&&s),e.dispatchEvent(E)}},[r,s,x]),(0,e5.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:!dH(s)&&s,...E,tabIndex:-1,ref:a,style:{...e.style,...i,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function dH(e){return"indeterminate"===e}function dy(e){return dH(e)?"indeterminate":e?"checked":"unchecked"}let dV=e8.forwardRef(({className:e,...t},s)=>e5.jsx(dm,{ref:s,className:(0,so.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50","data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:e5.jsx(dg,{className:(0,so.cn)("flex items-center justify-center text-current"),children:e5.jsx(U3.Z,{className:"h-4 w-4"})})}));function dX({name:e,table:t,keyTuple:s,value:x}){let[E,a]=(0,e8.useState)(x),{openConnectModal:r}=(0,dL.We)(),i=(0,dR.Z)(),n=(0,dh.NL)(),{worldAddress:_}=(0,e4.useParams)(),{id:T}=(0,e9.A)(),S=(0,dO.m)(),R=Object.fromEntries(Object.entries(t.schema).filter(([e])=>!t.key.includes(e))),O=R?.[e]?.type,{mutate:A,isPending:N}=(0,dC.D)({mutationFn:async x=>{var E;if(!O)throw Error("Field type not found");let a=[...Object.entries(E=(0,tt.Xc)(R,e=>e.type)).filter(([,e])=>tr(e)).map(([e])=>e),...Object.entries(E).filter(([,e])=>tE.includes(e)).map(([e])=>e)].indexOf(e),r=function(e,t){if("string"==typeof e&&ti.test(e)&&tr(e.replace(ti,""))&&Array.isArray(t)){let s=e.replace(ti,"");return 0===t.length?"0x":sn(t.map(()=>s),t)}return sn([e],[t])}(O,x),n=await (0,dA.n)(i,{abi:dI,address:_,functionName:"setField",args:[t.tableId,s,a,r],chainId:T}),S=await (0,dN.e)(i,{hash:n});return{txHash:n,receipt:S}},onMutate:()=>({toastId:dS.A.loading("Transaction submitted")}),onSuccess:({txHash:e},t,{toastId:s})=>{a(t),dS.A.success(`Transaction successful with hash: ${e}`,{id:s}),n.invalidateQueries({queryKey:["balance",{address:S.address,chainId:T}]})},onError:(e,t,s)=>{console.error("Error:",e),dS.A.error(e.message||"Something went wrong. Please try again.",{id:s?.toastId}),a(x)}}),o=e=>{if(!S.isConnected)return r?.();A(e)};return"bool"===O?(0,e5.jsxs)("div",{className:"flex items-center gap-1",children:[e5.jsx(dV,{id:`checkbox-${e}`,checked:!!E,onCheckedChange:o,disabled:N}),N&&e5.jsx(dr.Z,{className:"h-4 w-4 animate-spin"})]}):(0,e5.jsxs)("div",{className:(0,so.cn)("w-full",{"flex cursor-wait items-center gap-1":N}),children:[!N&&e5.jsx("form",{onSubmit:e=>{e.preventDefault(),o(E)},children:e5.jsx("input",{className:"w-full bg-transparent",onChange:e=>a(e.target.value),onBlur:e=>o(e.target.value),value:String(E),disabled:N})}),N&&(0,e5.jsxs)(e5.Fragment,{children:[String(E),e5.jsx(dr.Z,{className:"h-4 w-4 animate-spin"})]})]})}dV.displayName=dm.displayName;/**
1061
1061
  * @license lucide-react v0.408.0 - ISC
1062
1062
  *
1063
1063
  * This source code is licensed under the ISC license.
1064
1064
  * See the LICENSE file in the root directory of this source tree.
1065
- */let db=(0,sL.Z)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),dv=(0,sL.Z)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),dk=(0,sL.Z)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var dw=x(555),dW=x(64038),dK="dismissableLayer.update",dQ=e8.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),dJ=e8.forwardRef((e,t)=>{let{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:x,onPointerDownOutside:E,onFocusOutside:a,onInteractOutside:r,onDismiss:i,...n}=e,_=e8.useContext(dQ),[T,S]=e8.useState(null),R=T?.ownerDocument??globalThis?.document,[,O]=e8.useState({}),A=(0,dl.e)(t,e=>S(e)),N=Array.from(_.layers),[o]=[..._.layersWithOutsidePointerEventsDisabled].slice(-1),I=N.indexOf(o),L=T?N.indexOf(T):-1,h=_.layersWithOutsidePointerEventsDisabled.size>0,C=L>=I,l=function(e,t=globalThis?.document){let s=(0,P$.W)(e),x=e8.useRef(!1),E=e8.useRef(()=>{});return e8.useEffect(()=>{let e=e=>{if(e.target&&!x.current){let x=function(){dz("dismissableLayer.pointerDownOutside",s,a,{discrete:!0})},a={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",E.current),E.current=x,t.addEventListener("click",E.current,{once:!0})):x()}else t.removeEventListener("click",E.current);x.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",e),t.removeEventListener("click",E.current)}},[t,s]),{onPointerDownCapture:()=>x.current=!0}}(e=>{let t=e.target,s=[..._.branches].some(e=>e.contains(t));!C||s||(E?.(e),r?.(e),e.defaultPrevented||i?.())},R),u=function(e,t=globalThis?.document){let s=(0,P$.W)(e),x=e8.useRef(!1);return e8.useEffect(()=>{let e=e=>{e.target&&!x.current&&dz("dismissableLayer.focusOutside",s,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,s]),{onFocusCapture:()=>x.current=!0,onBlurCapture:()=>x.current=!1}}(e=>{let t=e.target;[..._.branches].some(e=>e.contains(t))||(a?.(e),r?.(e),e.defaultPrevented||i?.())},R);return(0,P0.e)(e=>{L!==_.layers.size-1||(x?.(e),!e.defaultPrevented&&i&&(e.preventDefault(),i()))},R),e8.useEffect(()=>{if(T)return s&&(0===_.layersWithOutsidePointerEventsDisabled.size&&(e7=R.body.style.pointerEvents,R.body.style.pointerEvents="none"),_.layersWithOutsidePointerEventsDisabled.add(T)),_.layers.add(T),dZ(),()=>{s&&1===_.layersWithOutsidePointerEventsDisabled.size&&(R.body.style.pointerEvents=e7)}},[T,R,s,_]),e8.useEffect(()=>()=>{T&&(_.layers.delete(T),_.layersWithOutsidePointerEventsDisabled.delete(T),dZ())},[T,_]),e8.useEffect(()=>{let e=()=>O({});return document.addEventListener(dK,e),()=>document.removeEventListener(dK,e)},[]),(0,e5.jsx)(dU.WV.div,{...n,ref:A,style:{pointerEvents:h?C?"auto":"none":void 0,...e.style},onFocusCapture:(0,dD.M)(e.onFocusCapture,u.onFocusCapture),onBlurCapture:(0,dD.M)(e.onBlurCapture,u.onBlurCapture),onPointerDownCapture:(0,dD.M)(e.onPointerDownCapture,l.onPointerDownCapture)})});function dZ(){let e=new CustomEvent(dK);document.dispatchEvent(e)}function dz(e,t,s,{discrete:x}){let E=s.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:s});t&&E.addEventListener(e,t,{once:!0}),x?(0,dU.jH)(E,a):E.dispatchEvent(a)}dJ.displayName="DismissableLayer",e8.forwardRef((e,t)=>{let s=e8.useContext(dQ),x=e8.useRef(null),E=(0,dl.e)(t,x);return e8.useEffect(()=>{let e=x.current;if(e)return s.branches.add(e),()=>{s.branches.delete(e)}},[s.branches]),(0,e5.jsx)(dU.WV.div,{...e,ref:E})}).displayName="DismissableLayerBranch";var dq=0;function dj(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var d$=x(98639),d0=x(28831),d2=e8.forwardRef((e,t)=>{let{container:s,...x}=e,[E,a]=e8.useState(!1);(0,Ue.b)(()=>a(!0),[]);let r=s||E&&globalThis?.document?.body;return r?PQ.createPortal((0,e5.jsx)(dU.WV.div,{...x,ref:t}),r):null});d2.displayName="Portal";var d1=e=>{let{present:t,children:s}=e,x=function(e){var t,s;let[x,E]=e8.useState(),a=e8.useRef({}),r=e8.useRef(e),i=e8.useRef("none"),[n,_]=(t=e?"mounted":"unmounted",s={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},e8.useReducer((e,t)=>s[e][t]??e,t));return e8.useEffect(()=>{let e=d3(a.current);i.current="mounted"===n?e:"none"},[n]),(0,Ue.b)(()=>{let t=a.current,s=r.current;if(s!==e){let x=i.current,E=d3(t);e?_("MOUNT"):"none"===E||t?.display==="none"?_("UNMOUNT"):s&&x!==E?_("ANIMATION_OUT"):_("UNMOUNT"),r.current=e}},[e,_]),(0,Ue.b)(()=>{if(x){let e;let t=x.ownerDocument.defaultView??window,s=s=>{let E=d3(a.current).includes(s.animationName);if(s.target===x&&E&&(_("ANIMATION_END"),!r.current)){let s=x.style.animationFillMode;x.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===x.style.animationFillMode&&(x.style.animationFillMode=s)})}},E=e=>{e.target===x&&(i.current=d3(a.current))};return x.addEventListener("animationstart",E),x.addEventListener("animationcancel",s),x.addEventListener("animationend",s),()=>{t.clearTimeout(e),x.removeEventListener("animationstart",E),x.removeEventListener("animationcancel",s),x.removeEventListener("animationend",s)}}_("ANIMATION_END")},[x,_]),{isPresent:["mounted","unmountSuspended"].includes(n),ref:e8.useCallback(e=>{e&&(a.current=getComputedStyle(e)),E(e)},[])}}(t),E="function"==typeof s?s({present:x.isPresent}):e8.Children.only(s),a=(0,dl.e)(x.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,s=t&&"isReactWarning"in t&&t.isReactWarning;return s?e.ref:(s=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(E));return"function"==typeof s||x.isPresent?e8.cloneElement(E,{ref:a}):null};function d3(e){return e?.animationName||"none"}d1.displayName="Presence";var d7=x(93340),d5=x(21299),d4=x(84769),d6=x(98102),d8=["Enter"," "],d9=["ArrowUp","PageDown","End"],Ye=["ArrowDown","PageUp","Home",...d9],Yt={ltr:[...d8,"ArrowRight"],rtl:[...d8,"ArrowLeft"]},Ys={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Yx="Menu",[YE,Ya,Yr]=(0,dw.B)(Yx),[Yi,Yn]=PK(Yx,[Yr,d0.D7,d7.Pc]),Y_=(0,d0.D7)(),Yc=(0,d7.Pc)(),[YT,YS]=Yi(Yx),[YR,YO]=Yi(Yx),YA=e=>{let{__scopeMenu:t,open:s=!1,children:x,dir:E,onOpenChange:a,modal:r=!0}=e,i=Y_(t),[n,_]=e8.useState(null),T=e8.useRef(!1),S=(0,P$.W)(a),R=(0,dW.gm)(E);return e8.useEffect(()=>{let e=()=>{T.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>T.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,e5.jsx)(d0.fC,{...i,children:(0,e5.jsx)(YT,{scope:t,open:s,onOpenChange:S,content:n,onContentChange:_,children:(0,e5.jsx)(YR,{scope:t,onClose:e8.useCallback(()=>S(!1),[S]),isUsingKeyboardRef:T,dir:R,modal:r,children:x})})})};YA.displayName=Yx;var YN=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e,E=Y_(s);return(0,e5.jsx)(d0.ee,{...E,...x,ref:t})});YN.displayName="MenuAnchor";var Yo="MenuPortal",[YI,YL]=Yi(Yo,{forceMount:void 0}),Yh=e=>{let{__scopeMenu:t,forceMount:s,children:x,container:E}=e,a=YS(Yo,t);return(0,e5.jsx)(YI,{scope:t,forceMount:s,children:(0,e5.jsx)(d1,{present:s||a.open,children:(0,e5.jsx)(d2,{asChild:!0,container:E,children:x})})})};Yh.displayName=Yo;var YC="MenuContent",[Yl,Yu]=Yi(YC),YD=e8.forwardRef((e,t)=>{let s=YL(YC,e.__scopeMenu),{forceMount:x=s.forceMount,...E}=e,a=YS(YC,e.__scopeMenu),r=YO(YC,e.__scopeMenu);return(0,e5.jsx)(YE.Provider,{scope:e.__scopeMenu,children:(0,e5.jsx)(d1,{present:x||a.open,children:(0,e5.jsx)(YE.Slot,{scope:e.__scopeMenu,children:r.modal?(0,e5.jsx)(YM,{...E,ref:t}):(0,e5.jsx)(YP,{...E,ref:t})})})})}),YM=e8.forwardRef((e,t)=>{let s=YS(YC,e.__scopeMenu),x=e8.useRef(null),E=(0,dl.e)(t,x);return e8.useEffect(()=>{let e=x.current;if(e)return(0,d4.Ry)(e)},[]),(0,e5.jsx)(YU,{...e,ref:E,trapFocus:s.open,disableOutsidePointerEvents:s.open,disableOutsideScroll:!0,onFocusOutside:(0,dD.M)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>s.onOpenChange(!1)})}),YP=e8.forwardRef((e,t)=>{let s=YS(YC,e.__scopeMenu);return(0,e5.jsx)(YU,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>s.onOpenChange(!1)})}),YU=e8.forwardRef((e,t)=>{let{__scopeMenu:s,loop:x=!1,trapFocus:E,onOpenAutoFocus:a,onCloseAutoFocus:r,disableOutsidePointerEvents:i,onEntryFocus:n,onEscapeKeyDown:_,onPointerDownOutside:T,onFocusOutside:S,onInteractOutside:R,onDismiss:O,disableOutsideScroll:A,...N}=e,o=YS(YC,s),I=YO(YC,s),L=Y_(s),h=Yc(s),C=Ya(s),[l,u]=e8.useState(null),D=e8.useRef(null),M=(0,dl.e)(t,D,o.onContentChange),P=e8.useRef(0),U=e8.useRef(""),d=e8.useRef(0),Y=e8.useRef(null),p=e8.useRef("right"),G=e8.useRef(0),B=A?d6.Z:e8.Fragment,m=A?{as:d5.g7,allowPinchZoom:!0}:void 0,f=e=>{let t=U.current+e,s=C().filter(e=>!e.disabled),x=document.activeElement,E=s.find(e=>e.ref.current===x)?.textValue,a=function(e,t,s){var x;let E=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=(x=Math.max(s?e.indexOf(s):-1,0),e.map((t,s)=>e[(x+s)%e.length]));1===E.length&&(a=a.filter(e=>e!==s));let r=a.find(e=>e.toLowerCase().startsWith(E.toLowerCase()));return r!==s?r:void 0}(s.map(e=>e.textValue),t,E),r=s.find(e=>e.textValue===a)?.ref.current;(function e(t){U.current=t,window.clearTimeout(P.current),""!==t&&(P.current=window.setTimeout(()=>e(""),1e3))})(t),r&&setTimeout(()=>r.focus())};e8.useEffect(()=>()=>window.clearTimeout(P.current),[]),e8.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??dj()),document.body.insertAdjacentElement("beforeend",e[1]??dj()),dq++,()=>{1===dq&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),dq--}},[]);let g=e8.useCallback(e=>p.current===Y.current?.side&&function(e,t){return!!t&&function(e,t){let{x:s,y:x}=e,E=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let r=t[e].x,i=t[e].y,n=t[a].x,_=t[a].y;i>x!=_>x&&s<(n-r)*(x-i)/(_-i)+r&&(E=!E)}return E}({x:e.clientX,y:e.clientY},t)}(e,Y.current?.area),[]);return(0,e5.jsx)(Yl,{scope:s,searchRef:U,onItemEnter:e8.useCallback(e=>{g(e)&&e.preventDefault()},[g]),onItemLeave:e8.useCallback(e=>{g(e)||(D.current?.focus(),u(null))},[g]),onTriggerLeave:e8.useCallback(e=>{g(e)&&e.preventDefault()},[g]),pointerGraceTimerRef:d,onPointerGraceIntentChange:e8.useCallback(e=>{Y.current=e},[]),children:(0,e5.jsx)(B,{...m,children:(0,e5.jsx)(d$.M,{asChild:!0,trapped:E,onMountAutoFocus:(0,dD.M)(a,e=>{e.preventDefault(),D.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:r,children:(0,e5.jsx)(dJ,{asChild:!0,disableOutsidePointerEvents:i,onEscapeKeyDown:_,onPointerDownOutside:T,onFocusOutside:S,onInteractOutside:R,onDismiss:O,children:(0,e5.jsx)(d7.fC,{asChild:!0,...h,dir:I.dir,orientation:"vertical",loop:x,currentTabStopId:l,onCurrentTabStopIdChange:u,onEntryFocus:(0,dD.M)(n,e=>{I.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,e5.jsx)(d0.VY,{role:"menu","aria-orientation":"vertical","data-state":Y$(o.open),"data-radix-menu-content":"",dir:I.dir,...L,...N,ref:M,style:{outline:"none",...N.style},onKeyDown:(0,dD.M)(N.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,s=e.ctrlKey||e.altKey||e.metaKey,x=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!s&&x&&f(e.key));let E=D.current;if(e.target!==E||!Ye.includes(e.key))return;e.preventDefault();let a=C().filter(e=>!e.disabled).map(e=>e.ref.current);d9.includes(e.key)&&a.reverse(),function(e){let t=document.activeElement;for(let s of e)if(s===t||(s.focus(),document.activeElement!==t))return}(a)}),onBlur:(0,dD.M)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(P.current),U.current="")}),onPointerMove:(0,dD.M)(e.onPointerMove,Y1(e=>{let t=e.target,s=G.current!==e.clientX;if(e.currentTarget.contains(t)&&s){let t=e.clientX>G.current?"right":"left";p.current=t,G.current=e.clientX}}))})})})})})})});YD.displayName=YC;var Yd=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e;return(0,e5.jsx)(dU.WV.div,{role:"group",...x,ref:t})});Yd.displayName="MenuGroup";var YY=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e;return(0,e5.jsx)(dU.WV.div,{...x,ref:t})});YY.displayName="MenuLabel";var Yp="MenuItem",YG="menu.itemSelect",YB=e8.forwardRef((e,t)=>{let{disabled:s=!1,onSelect:x,...E}=e,a=e8.useRef(null),r=YO(Yp,e.__scopeMenu),i=Yu(Yp,e.__scopeMenu),n=(0,dl.e)(t,a),_=e8.useRef(!1);return(0,e5.jsx)(Ym,{...E,ref:n,disabled:s,onClick:(0,dD.M)(e.onClick,()=>{let e=a.current;if(!s&&e){let t=new CustomEvent(YG,{bubbles:!0,cancelable:!0});e.addEventListener(YG,e=>x?.(e),{once:!0}),(0,dU.jH)(e,t),t.defaultPrevented?_.current=!1:r.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),_.current=!0},onPointerUp:(0,dD.M)(e.onPointerUp,e=>{_.current||e.currentTarget?.click()}),onKeyDown:(0,dD.M)(e.onKeyDown,e=>{let t=""!==i.searchRef.current;!s&&(!t||" "!==e.key)&&d8.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});YB.displayName=Yp;var Ym=e8.forwardRef((e,t)=>{let{__scopeMenu:s,disabled:x=!1,textValue:E,...a}=e,r=Yu(Yp,s),i=Yc(s),n=e8.useRef(null),_=(0,dl.e)(t,n),[T,S]=e8.useState(!1),[R,O]=e8.useState("");return e8.useEffect(()=>{let e=n.current;e&&O((e.textContent??"").trim())},[a.children]),(0,e5.jsx)(YE.ItemSlot,{scope:s,disabled:x,textValue:E??R,children:(0,e5.jsx)(d7.ck,{asChild:!0,...i,focusable:!x,children:(0,e5.jsx)(dU.WV.div,{role:"menuitem","data-highlighted":T?"":void 0,"aria-disabled":x||void 0,"data-disabled":x?"":void 0,...a,ref:_,onPointerMove:(0,dD.M)(e.onPointerMove,Y1(e=>{x?r.onItemLeave(e):(r.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,dD.M)(e.onPointerLeave,Y1(e=>r.onItemLeave(e))),onFocus:(0,dD.M)(e.onFocus,()=>S(!0)),onBlur:(0,dD.M)(e.onBlur,()=>S(!1))})})})}),Yf=e8.forwardRef((e,t)=>{let{checked:s=!1,onCheckedChange:x,...E}=e;return(0,e5.jsx)(Yv,{scope:e.__scopeMenu,checked:s,children:(0,e5.jsx)(YB,{role:"menuitemcheckbox","aria-checked":Y0(s)?"mixed":s,...E,ref:t,"data-state":Y2(s),onSelect:(0,dD.M)(E.onSelect,()=>x?.(!!Y0(s)||!s),{checkForDefaultPrevented:!1})})})});Yf.displayName="MenuCheckboxItem";var Yg="MenuRadioGroup",[YF,YH]=Yi(Yg,{value:void 0,onValueChange:()=>{}}),Yy=e8.forwardRef((e,t)=>{let{value:s,onValueChange:x,...E}=e,a=(0,P$.W)(x);return(0,e5.jsx)(YF,{scope:e.__scopeMenu,value:s,onValueChange:a,children:(0,e5.jsx)(Yd,{...E,ref:t})})});Yy.displayName=Yg;var YV="MenuRadioItem",YX=e8.forwardRef((e,t)=>{let{value:s,...x}=e,E=YH(YV,e.__scopeMenu),a=s===E.value;return(0,e5.jsx)(Yv,{scope:e.__scopeMenu,checked:a,children:(0,e5.jsx)(YB,{role:"menuitemradio","aria-checked":a,...x,ref:t,"data-state":Y2(a),onSelect:(0,dD.M)(x.onSelect,()=>E.onValueChange?.(s),{checkForDefaultPrevented:!1})})})});YX.displayName=YV;var Yb="MenuItemIndicator",[Yv,Yk]=Yi(Yb,{checked:!1}),Yw=e8.forwardRef((e,t)=>{let{__scopeMenu:s,forceMount:x,...E}=e,a=Yk(Yb,s);return(0,e5.jsx)(d1,{present:x||Y0(a.checked)||!0===a.checked,children:(0,e5.jsx)(dU.WV.span,{...E,ref:t,"data-state":Y2(a.checked)})})});Yw.displayName=Yb;var YW=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e;return(0,e5.jsx)(dU.WV.div,{role:"separator","aria-orientation":"horizontal",...x,ref:t})});YW.displayName="MenuSeparator";var YK=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e,E=Y_(s);return(0,e5.jsx)(d0.Eh,{...E,...x,ref:t})});YK.displayName="MenuArrow";var[YQ,YJ]=Yi("MenuSub"),YZ="MenuSubTrigger",Yz=e8.forwardRef((e,t)=>{let s=YS(YZ,e.__scopeMenu),x=YO(YZ,e.__scopeMenu),E=YJ(YZ,e.__scopeMenu),a=Yu(YZ,e.__scopeMenu),r=e8.useRef(null),{pointerGraceTimerRef:i,onPointerGraceIntentChange:n}=a,_={__scopeMenu:e.__scopeMenu},T=e8.useCallback(()=>{r.current&&window.clearTimeout(r.current),r.current=null},[]);return e8.useEffect(()=>T,[T]),e8.useEffect(()=>{let e=i.current;return()=>{window.clearTimeout(e),n(null)}},[i,n]),(0,e5.jsx)(YN,{asChild:!0,..._,children:(0,e5.jsx)(Ym,{id:E.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":E.contentId,"data-state":Y$(s.open),...e,ref:(0,dl.F)(t,E.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),s.open||s.onOpenChange(!0))},onPointerMove:(0,dD.M)(e.onPointerMove,Y1(t=>{a.onItemEnter(t),t.defaultPrevented||e.disabled||s.open||r.current||(a.onPointerGraceIntentChange(null),r.current=window.setTimeout(()=>{s.onOpenChange(!0),T()},100))})),onPointerLeave:(0,dD.M)(e.onPointerLeave,Y1(e=>{T();let t=s.content?.getBoundingClientRect();if(t){let x=s.content?.dataset.side,E="right"===x,r=t[E?"left":"right"],n=t[E?"right":"left"];a.onPointerGraceIntentChange({area:[{x:e.clientX+(E?-5:5),y:e.clientY},{x:r,y:t.top},{x:n,y:t.top},{x:n,y:t.bottom},{x:r,y:t.bottom}],side:x}),window.clearTimeout(i.current),i.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:(0,dD.M)(e.onKeyDown,t=>{let E=""!==a.searchRef.current;!e.disabled&&(!E||" "!==t.key)&&Yt[x.dir].includes(t.key)&&(s.onOpenChange(!0),s.content?.focus(),t.preventDefault())})})})});Yz.displayName=YZ;var Yq="MenuSubContent",Yj=e8.forwardRef((e,t)=>{let s=YL(YC,e.__scopeMenu),{forceMount:x=s.forceMount,...E}=e,a=YS(YC,e.__scopeMenu),r=YO(YC,e.__scopeMenu),i=YJ(Yq,e.__scopeMenu),n=e8.useRef(null),_=(0,dl.e)(t,n);return(0,e5.jsx)(YE.Provider,{scope:e.__scopeMenu,children:(0,e5.jsx)(d1,{present:x||a.open,children:(0,e5.jsx)(YE.Slot,{scope:e.__scopeMenu,children:(0,e5.jsx)(YU,{id:i.contentId,"aria-labelledby":i.triggerId,...E,ref:_,align:"start",side:"rtl"===r.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{r.isUsingKeyboardRef.current&&n.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,dD.M)(e.onFocusOutside,e=>{e.target!==i.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:(0,dD.M)(e.onEscapeKeyDown,e=>{r.onClose(),e.preventDefault()}),onKeyDown:(0,dD.M)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),s=Ys[r.dir].includes(e.key);t&&s&&(a.onOpenChange(!1),i.trigger?.focus(),e.preventDefault())})})})})})});function Y$(e){return e?"open":"closed"}function Y0(e){return"indeterminate"===e}function Y2(e){return Y0(e)?"indeterminate":e?"checked":"unchecked"}function Y1(e){return t=>"mouse"===t.pointerType?e(t):void 0}Yj.displayName=Yq;var Y3="DropdownMenu",[Y7,Y5]=PK(Y3,[Yn]),Y4=Yn(),[Y6,Y8]=Y7(Y3),Y9=e=>{let{__scopeDropdownMenu:t,children:s,dir:x,open:E,defaultOpen:a,onOpenChange:r,modal:i=!0}=e,n=Y4(t),_=e8.useRef(null),[T=!1,S]=(0,Ul.T)({prop:E,defaultProp:a,onChange:r});return(0,e5.jsx)(Y6,{scope:t,triggerId:(0,P4.M)(),triggerRef:_,contentId:(0,P4.M)(),open:T,onOpenChange:S,onOpenToggle:e8.useCallback(()=>S(e=>!e),[S]),modal:i,children:(0,e5.jsx)(YA,{...n,open:T,onOpenChange:S,dir:x,modal:i,children:s})})};Y9.displayName=Y3;var pe="DropdownMenuTrigger",pt=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,disabled:x=!1,...E}=e,a=Y8(pe,s),r=Y4(s);return(0,e5.jsx)(YN,{asChild:!0,...r,children:(0,e5.jsx)(dU.WV.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":x?"":void 0,disabled:x,...E,ref:(0,dl.F)(t,a.triggerRef),onPointerDown:(0,dD.M)(e.onPointerDown,e=>{x||0!==e.button||!1!==e.ctrlKey||(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:(0,dD.M)(e.onKeyDown,e=>{!x&&(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});pt.displayName=pe;var ps=e=>{let{__scopeDropdownMenu:t,...s}=e,x=Y4(t);return(0,e5.jsx)(Yh,{...x,...s})};ps.displayName="DropdownMenuPortal";var px="DropdownMenuContent",pE=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y8(px,s),a=Y4(s),r=e8.useRef(!1);return(0,e5.jsx)(YD,{id:E.contentId,"aria-labelledby":E.triggerId,...a,...x,ref:t,onCloseAutoFocus:(0,dD.M)(e.onCloseAutoFocus,e=>{r.current||E.triggerRef.current?.focus(),r.current=!1,e.preventDefault()}),onInteractOutside:(0,dD.M)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,s=0===t.button&&!0===t.ctrlKey,x=2===t.button||s;(!E.modal||x)&&(r.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});pE.displayName=px,e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yd,{...E,...x,ref:t})}).displayName="DropdownMenuGroup";var pa=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YY,{...E,...x,ref:t})});pa.displayName="DropdownMenuLabel";var pr=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YB,{...E,...x,ref:t})});pr.displayName="DropdownMenuItem";var pi=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yf,{...E,...x,ref:t})});pi.displayName="DropdownMenuCheckboxItem",e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yy,{...E,...x,ref:t})}).displayName="DropdownMenuRadioGroup";var pn=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YX,{...E,...x,ref:t})});pn.displayName="DropdownMenuRadioItem";var p_=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yw,{...E,...x,ref:t})});p_.displayName="DropdownMenuItemIndicator";var pc=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YW,{...E,...x,ref:t})});pc.displayName="DropdownMenuSeparator",e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YK,{...E,...x,ref:t})}).displayName="DropdownMenuArrow";var pT=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yz,{...E,...x,ref:t})});pT.displayName="DropdownMenuSubTrigger";var pS=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yj,{...E,...x,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});pS.displayName="DropdownMenuSubContent",e8.forwardRef(({className:e,inset:t,children:s,...x},E)=>(0,e5.jsxs)(pT,{ref:E,className:(0,so.cn)("flex items-center gap-2","px-2 py-1.5","text-sm","cursor-default select-none","rounded-sm","outline-none focus:bg-accent data-[state=open]:bg-accent","[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...x,children:[s,e5.jsx(dv,{className:"ml-auto"})]})).displayName=pT.displayName,e8.forwardRef(({className:e,...t},s)=>e5.jsx(pS,{ref:s,className:(0,so.cn)("z-50 min-w-[8rem]","rounded-md border bg-popover p-1 text-popover-foreground shadow-lg","overflow-hidden","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2",e),...t})).displayName=pS.displayName;let pR=e8.forwardRef(({className:e,sideOffset:t=4,...s},x)=>e5.jsx(ps,{children:e5.jsx(pE,{ref:x,sideOffset:t,className:(0,so.cn)("z-50 min-w-[8rem]","rounded-md border bg-popover p-1 text-popover-foreground shadow-md","overflow-hidden","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2",e),...s})}));pR.displayName=pE.displayName;let pO=e8.forwardRef(({className:e,inset:t,...s},x)=>e5.jsx(pr,{ref:x,className:(0,so.cn)("relative flex items-center gap-2","px-2 py-1.5","text-sm","cursor-default select-none","outline-none","transition-colors","focus:bg-accent focus:text-accent-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","rounded-sm","[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...s}));function pA(e,t,s){let x=new Blob([e],{type:s});console.log("filename",t);let E=document.createElement("a");if(void 0===E.download){console.warn("Browser does not support HTML5 download attribute");return}let a=URL.createObjectURL(x);E.setAttribute("href",a),E.setAttribute("download",t),E.style.visibility="hidden",document.body.appendChild(E),E.click(),document.body.removeChild(E),URL.revokeObjectURL(a)}function pN({tableData:e,isLoading:t}){return(0,e5.jsxs)(Y9,{children:[e5.jsx(pt,{asChild:!0,children:e5.jsx(UZ.z,{variant:"outline",disabled:!e||t,children:e5.jsx(db,{className:"h-4 w-4"})})}),(0,e5.jsxs)(pR,{children:[e5.jsx(pO,{onClick:()=>{let t=e?.rows.map(t=>e.columns.map(e=>t[e]).join(",")).join("\n");pA(e?.columns.join(",")+"\n"+t,"data.csv","text/csv")},children:"CSV"}),e5.jsx(pO,{onClick:()=>{pA((0,te.P)(e?.rows,null,2),"data.json","application/json")},children:"JSON"}),e5.jsx(pO,{onClick:()=>{let t=e?.rows.map(t=>e.columns.map(e=>t[e]).join(" ")).join("\n");pA(e?.columns.join(" ")+"\n"+t,"data.txt","text/plain")},children:"TXT"})]})]})}pO.displayName=pr.displayName,e8.forwardRef(({className:e,children:t,checked:s,...x},E)=>(0,e5.jsxs)(pi,{ref:E,className:(0,so.cn)("relative flex items-center","py-1.5 pl-8 pr-2","text-sm","cursor-default select-none","outline-none","transition-colors","focus:bg-accent focus:text-accent-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","rounded-sm",e),checked:s,...x,children:[e5.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e5.jsx(p_,{children:e5.jsx(U3.Z,{className:"h-4 w-4"})})}),t]})).displayName=pi.displayName,e8.forwardRef(({className:e,children:t,...s},x)=>(0,e5.jsxs)(pn,{ref:x,className:(0,so.cn)("relative flex items-center","py-1.5 pl-8 pr-2","text-sm","cursor-default select-none","outline-none","transition-colors","focus:bg-accent focus:text-accent-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","rounded-sm",e),...s,children:[e5.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e5.jsx(p_,{children:e5.jsx(dk,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=pn.displayName,e8.forwardRef(({className:e,inset:t,...s},x)=>e5.jsx(pa,{ref:x,className:(0,so.cn)("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...s})).displayName=pa.displayName,e8.forwardRef(({className:e,...t},s)=>e5.jsx(pc,{ref:s,className:(0,so.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=pc.displayName;let po=[],pI=[];function pL({table:e,query:t,isLiveQuery:s}){let{id:x}=(0,e9.A)(),E=sN(x),{data:a,isLoading:r,isFetched:i,isError:n,error:_}=Uq({table:e,query:t,isLiveQuery:s}),T=r||!i,[S,R]=(0,e6.v1)("filter",e6.Oi.withDefault("")),[O,A]=(0,e6.v1)("sort",(0,e6.WJ)().withDefault(po)),N=(0,e8.useMemo)(()=>e&&a?a.columns.map(t=>{let s=e?.schema[t],x=s?.type,E=sR(e);return{accessorKey:t,header:({column:e})=>(0,e5.jsxs)(UZ.z,{variant:"ghost",className:"-ml-4",onClick:()=>e.toggleSorting("asc"===e.getIsSorted()),children:[t in E&&e5.jsx(dE,{className:"mr-2 h-3 w-3"}),e5.jsx("span",{className:"text-orange-500",children:t}),x&&(0,e5.jsxs)("span",{className:"ml-1 opacity-70",children:["(",x,")"]}),e5.jsx(da,{className:"ml-2 h-4 w-4"})]}),sortingFn:(e,t,s)=>(function(e,t,s,x){let E=e.getValue(s),a=t.getValue(s);if(x?.startsWith("uint")||x?.startsWith("int")){let e=BigInt(E?.toString()||"0"),t=BigInt(a?.toString()||"0");return(0,tt.iN)(e,t)}if("bigint"==typeof E||"bigint"==typeof a){let e=BigInt(E?.toString()||"0"),t=BigInt(a?.toString()||"0");return(0,tt.iN)(e,t)}return null==E?1:null==a?-1:E<a?-1:E>a?1:0})(e,t,s,x),cell:({row:s})=>{let x=e?.namespace,E=sR(e),a=s.getValue(t);if(!e||Object.keys(E).includes(t)||t5.M0.includes(x))return a;try{var r;let x=(r=s.original,e.key.map(t=>(0,s_.E)([e.schema[t]],[r[t]])));return e5.jsx(dX,{name:t,table:e,value:a,keyTuple:x})}catch(e){return a}}}}):[],[e,a]),o=(0,dn.b7)({data:a?.rows??pI,columns:N,initialState:{pagination:{pageSize:50}},onSortingChange:A,getCoreRowModel:(0,d_.sC)(),getPaginationRowModel:(0,d_.G_)(),getSortedRowModel:(0,d_.tj)(),getFilteredRowModel:(0,d_.vL)(),onGlobalFilterChange:R,globalFilterFn:"includesString",state:{sorting:O,globalFilter:S}});return(0,e5.jsxs)("div",{className:(0,so.cn)("space-y-4",{"!-mt-10":"hosted"===E.type}),children:[(0,e5.jsxs)("div",{className:"flex w-1/2 items-center gap-4",children:[e5.jsx(dc.I,{placeholder:"Filter...",value:S,onChange:e=>o.setGlobalFilter(e.target.value),className:"max-w-sm rounded border px-2 py-1",disabled:!a}),e5.jsx(pN,{tableData:a,isLoading:T})]}),(0,e5.jsxs)("div",{className:(0,so.cn)("rounded-md border",{"border-red-400":n}),children:[T&&e5.jsx("div",{className:"flex h-24 items-center justify-center",children:e5.jsx(dr.Z,{className:"h-5 w-5 animate-spin"})}),!T&&e5.jsx("div",{className:"relative w-full overflow-auto",children:(0,e5.jsxs)(dT.iA,{children:[e5.jsx(dT.xD,{children:!n&&o.getHeaderGroups().map(e=>e5.jsx(dT.SC,{children:e.headers.map(e=>e5.jsx(dT.ss,{children:e.isPlaceholder?null:(0,dn.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),e5.jsx(dT.RM,{children:!n&&o.getRowModel().rows?.length?o.getRowModel().rows.map(e=>e5.jsx(dT.SC,{"data-state":e.getIsSelected()&&"selected",children:e.getVisibleCells().map(e=>e5.jsx(dT.pj,{children:(0,dn.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):e5.jsx(dT.SC,{children:e5.jsx(dT.pj,{colSpan:N.length,className:(0,so.cn)("h-24 text-center",{"text-red-400":n}),children:n?(0,e5.jsxs)("div",{className:"flex items-center justify-center gap-x-2",children:[e5.jsx(di,{})," Query error: ",_.message]}):"No results."})})})]})})]}),(0,e5.jsxs)("div",{className:"flex items-center justify-end space-x-2",children:[e5.jsx("div",{className:"flex-1 text-sm text-muted-foreground",children:a&&`Total rows: ${a.rows.length.toLocaleString()}`}),(0,e5.jsxs)("div",{className:"space-x-2",children:[e5.jsx(UZ.z,{variant:"outline",size:"sm",onClick:()=>o.previousPage(),disabled:!o.getCanPreviousPage(),children:"Previous"}),e5.jsx(UZ.z,{variant:"outline",size:"sm",onClick:()=>o.nextPage(),disabled:!o.getCanNextPage(),children:"Next"})]})]})]})}function ph(){let{worldAddress:e}=(0,e4.useParams)(),{id:t}=(0,e9.A)(),s=sN(t),[x,E]=(0,e8.useState)(!1),[a,r]=(0,e6.v1)("query",e6.Oi.withDefault("")),[i]=(0,e6.v1)("tableId");(0,e8.useRef)().current;let{data:n}=function(){let{worldAddress:e,chainName:t}=(0,e4.useParams)(),{id:s}=(0,e9.A)();return(0,t7.a)({queryKey:["tables",e,t],queryFn:async()=>{let t=sN(s),x="store__Tables",E="sqlite"===t.type?`SELECT * FROM "${e}__${x}"`:`SELECT ${Object.keys(t3.tables[x].schema).join(", ")} FROM ${x}`;return(await fetch(t.url,{method:"POST",headers:{"Content-Type":"application/json"},body:(0,te.P)([{address:e,query:E}])})).json()},select:e=>e.result[0].slice(1).map(e=>{if(e[0]&&e[2]&&e[3]&&e[4]&&e[5])return sO({tableId:e[0],keySchema:e[2],valueSchema:e[3],abiEncodedKeyNames:e[4],abiEncodedFieldNames:e[5]})}).filter(tt.$K).sort(({namespace:e})=>t5.M0.includes(e)?1:-1),retry:!1,refetchInterval:5e3})}(),_=n?.find(({tableId:e})=>e===i);return(0,e5.jsxs)("div",{className:"space-y-4",children:[e5.jsx(dx,{tables:n}),"sqlite"!==s.type&&e5.jsx(U1,{table:_,isLiveQuery:x,setIsLiveQuery:E}),e5.jsx(pL,{table:_,query:a,isLiveQuery:x})]})}},66014:(e,t,s)=>{"use strict";s.d(t,{mY:()=>R,rb:()=>N,fu:()=>o,sZ:()=>O,di:()=>I,e8:()=>A});var x=s(54555),E=s(54560),a=s(28338),r=s(84690),i=s(52485),n=s(43965),_=s(20992);_.Root,_.Trigger;let T=_.Portal;_.Close;let S=r.forwardRef(({className:e,...t},s)=>x.jsx(_.Overlay,{ref:s,className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));S.displayName=_.Overlay.displayName,r.forwardRef(({className:e,children:t,...s},E)=>(0,x.jsxs)(T,{children:[x.jsx(S,{}),(0,x.jsxs)(_.Content,{ref:E,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50","w-full max-w-lg","translate-x-[-50%] translate-y-[-50%]","grid gap-4","border bg-background p-6 shadow-lg","sm:rounded-lg","duration-200","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]","data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",e),...s,children:[t,(0,x.jsxs)(_.Close,{className:(0,i.cn)("absolute right-4 top-4","rounded-sm opacity-70","ring-offset-background","transition-opacity","hover:opacity-100","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2","disabled:pointer-events-none","data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"),children:[x.jsx(n.Z,{className:"h-4 w-4"}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]})).displayName=_.Content.displayName,r.forwardRef(({className:e,...t},s)=>x.jsx(_.Title,{ref:s,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",e),...t})).displayName=_.Title.displayName,r.forwardRef(({className:e,...t},s)=>x.jsx(_.Description,{ref:s,className:(0,i.cn)("text-sm text-muted-foreground",e),...t})).displayName=_.Description.displayName;let R=r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY,{ref:s,className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));R.displayName=a.mY.displayName;let O=r.forwardRef(({className:e,...t},s)=>(0,x.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[x.jsx(E.Z,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),x.jsx(a.mY.Input,{ref:s,className:(0,i.cn)("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));O.displayName=a.mY.Input.displayName;let A=r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY.List,{ref:s,className:(0,i.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));A.displayName=a.mY.List.displayName;let N=r.forwardRef((e,t)=>x.jsx(a.mY.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));N.displayName=a.mY.Empty.displayName;let o=r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY.Group,{ref:s,className:(0,i.cn)("overflow-hidden","p-1","text-foreground","[&_[cmdk-group-heading]]:px-2","[&_[cmdk-group-heading]]:py-1.5","[&_[cmdk-group-heading]]:text-xs","[&_[cmdk-group-heading]]:font-medium","[&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));o.displayName=a.mY.Group.displayName,r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY.Separator,{ref:s,className:(0,i.cn)("-mx-1 h-px bg-border",e),...t})).displayName=a.mY.Separator.displayName;let I=r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY.Item,{ref:s,className:(0,i.cn)("relative flex","px-2 py-1.5","text-sm","cursor-default select-none","outline-none","rounded-sm","data-[disabled=true]:pointer-events-none","data-[disabled=true]:opacity-50","data-[selected='true']:bg-accent","data-[selected=true]:text-accent-foreground",e),...t}));I.displayName=a.mY.Item.displayName},36887:(e,t,s)=>{"use strict";s.d(t,{l0:()=>R,NI:()=>h,Wi:()=>A,xJ:()=>I,lX:()=>L,zG:()=>C});var x=s(54555),E=s(84690),a=s(31676),r=s(21299),i=s(57826),n=s(69590),_=s(52485);let T=(0,i.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),S=E.forwardRef(({className:e,...t},s)=>x.jsx(n.f,{ref:s,className:(0,_.cn)(T(),e),...t}));S.displayName=n.f.displayName;let R=a.RV,O=E.createContext({}),A=({...e})=>x.jsx(O.Provider,{value:{name:e.name},children:x.jsx(a.Qr,{...e})}),N=()=>{let e=E.useContext(O),t=E.useContext(o),{getFieldState:s,formState:x}=(0,a.Gc)(),r=s(e.name,x);if(!e)throw Error("useFormField should be used within <FormField>");let{id:i}=t;return{id:i,name:e.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...r}},o=E.createContext({}),I=E.forwardRef(({className:e,...t},s)=>{let a=E.useId();return x.jsx(o.Provider,{value:{id:a},children:x.jsx("div",{ref:s,className:(0,_.cn)("space-y-2",e),...t})})});I.displayName="FormItem";let L=E.forwardRef(({className:e,...t},s)=>{let{error:E,formItemId:a}=N();return x.jsx(S,{ref:s,className:(0,_.cn)(E&&"text-destructive",e),htmlFor:a,...t})});L.displayName="FormLabel";let h=E.forwardRef(({...e},t)=>{let{error:s,formItemId:E,formDescriptionId:a,formMessageId:i}=N();return x.jsx(r.g7,{ref:t,id:E,"aria-describedby":s?`${a} ${i}`:`${a}`,"aria-invalid":!!s,...e})});h.displayName="FormControl",E.forwardRef(({className:e,...t},s)=>{let{formDescriptionId:E}=N();return x.jsx("p",{ref:s,id:E,className:(0,_.cn)("text-sm text-muted-foreground",e),...t})}).displayName="FormDescription";let C=E.forwardRef(({className:e,children:t,...s},E)=>{let{error:a,formMessageId:r}=N(),i=a?String(a?.message):t;return i?x.jsx("p",{ref:E,id:r,className:(0,_.cn)("text-sm font-medium text-destructive",e),...s,children:i}):null});C.displayName="FormMessage"},36399:(e,t,s)=>{"use strict";s.d(t,{I:()=>r});var x=s(54555),E=s(84690),a=s(52485);let r=E.forwardRef(({className:e,type:t,...s},E)=>x.jsx("input",{type:t,className:(0,a.cn)("flex h-10 w-full rounded-md px-3 py-2 text-sm","border border-input bg-background ring-offset-background","file:border-0 file:bg-transparent file:text-sm file:font-medium","placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50",e),ref:E,...s}));r.displayName="Input"},12031:(e,t,s)=>{"use strict";s.d(t,{RM:()=>n,SC:()=>_,iA:()=>r,pj:()=>S,ss:()=>T,xD:()=>i});var x=s(54555),E=s(84690),a=s(52485);let r=E.forwardRef(({className:e,...t},s)=>x.jsx("table",{ref:s,className:(0,a.cn)("w-full caption-bottom text-sm",e),...t}));r.displayName="Table";let i=E.forwardRef(({className:e,...t},s)=>x.jsx("thead",{ref:s,className:(0,a.cn)("[&_tr]:border-b",e),...t}));i.displayName="TableHeader";let n=E.forwardRef(({className:e,...t},s)=>x.jsx("tbody",{ref:s,className:(0,a.cn)("[&_tr:last-child]:border-0",e),...t}));n.displayName="TableBody",E.forwardRef(({className:e,...t},s)=>x.jsx("tfoot",{ref:s,className:(0,a.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t})).displayName="TableFooter";let _=E.forwardRef(({className:e,...t},s)=>x.jsx("tr",{ref:s,className:(0,a.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));_.displayName="TableRow";let T=E.forwardRef(({className:e,...t},s)=>x.jsx("th",{ref:s,className:(0,a.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));T.displayName="TableHead";let S=E.forwardRef(({className:e,...t},s)=>x.jsx("td",{ref:s,className:(0,a.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));S.displayName="TableCell",E.forwardRef(({className:e,...t},s)=>x.jsx("caption",{ref:s,className:(0,a.cn)("mt-4 text-sm text-muted-foreground",e),...t})).displayName="TableCaption"},11369:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>T,metadata:()=>_});var x=s(5038),E=s(38109);let a=(0,E.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/Explorer.tsx`),{__esModule:r,$$typeof:i}=a;a.default;let n=(0,E.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/Explorer.tsx#Explorer`),_={title:"Explore"};function T(){return x.jsx(n,{})}},11048:()=>{},26718:()=>{},10684:()=>{},18170:()=>{},565:()=>{},88702:()=>{},22617:()=>{},98733:()=>{},82637:()=>{},52236:()=>{},15947:()=>{},24431:()=>{},98688:()=>{},69161:()=>{},44609:()=>{},8e4:()=>{},40946:()=>{},22060:()=>{},50926:()=>{},80140:()=>{},23719:()=>{},28614:()=>{},47263:()=>{},9454:()=>{},68393:()=>{},17572:()=>{},67733:()=>{},54751:()=>{},27664:()=>{},12829:()=>{},4188:()=>{},64396:()=>{},40461:()=>{},36569:()=>{},48201:()=>{},69366:()=>{},82347:()=>{},80188:()=>{},37543:()=>{},42247:()=>{},96316:()=>{},14429:()=>{},94844:()=>{},44748:()=>{},96819:()=>{},20108:()=>{},50800:()=>{},82136:()=>{},66806:()=>{},68347:()=>{},89002:()=>{},76069:(e,t,s)=>{"use strict";function x(e,t){return e<t?-1:e>t?1:0}function E(e,t){let s=new Map;for(let x of e){let e=t(x);s.has(e)||s.set(e,[]),s.get(e).push(x)}return s}function a(e){return void 0!==e}function r(e,t){return Object.fromEntries(Object.entries(e).map(([e,s])=>[e,t(s,e)]))}s.d(t,{$K:()=>a,Xc:()=>r,iN:()=>x,vM:()=>E})}};var t=require("../../../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),x=t.X(0,[2031,225,5602,8081,7374,5955,4133,1904,4319,1064,6135,6561],()=>s(48669));module.exports=x})();
1065
+ */let db=(0,sL.Z)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),dv=(0,sL.Z)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),dk=(0,sL.Z)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var dw=x(555),dW=x(64038),dK="dismissableLayer.update",dQ=e8.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),dJ=e8.forwardRef((e,t)=>{let{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:x,onPointerDownOutside:E,onFocusOutside:a,onInteractOutside:r,onDismiss:i,...n}=e,_=e8.useContext(dQ),[T,S]=e8.useState(null),R=T?.ownerDocument??globalThis?.document,[,O]=e8.useState({}),A=(0,dl.e)(t,e=>S(e)),N=Array.from(_.layers),[o]=[..._.layersWithOutsidePointerEventsDisabled].slice(-1),I=N.indexOf(o),L=T?N.indexOf(T):-1,h=_.layersWithOutsidePointerEventsDisabled.size>0,C=L>=I,l=function(e,t=globalThis?.document){let s=(0,P$.W)(e),x=e8.useRef(!1),E=e8.useRef(()=>{});return e8.useEffect(()=>{let e=e=>{if(e.target&&!x.current){let x=function(){dz("dismissableLayer.pointerDownOutside",s,a,{discrete:!0})},a={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",E.current),E.current=x,t.addEventListener("click",E.current,{once:!0})):x()}else t.removeEventListener("click",E.current);x.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",e),t.removeEventListener("click",E.current)}},[t,s]),{onPointerDownCapture:()=>x.current=!0}}(e=>{let t=e.target,s=[..._.branches].some(e=>e.contains(t));!C||s||(E?.(e),r?.(e),e.defaultPrevented||i?.())},R),u=function(e,t=globalThis?.document){let s=(0,P$.W)(e),x=e8.useRef(!1);return e8.useEffect(()=>{let e=e=>{e.target&&!x.current&&dz("dismissableLayer.focusOutside",s,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,s]),{onFocusCapture:()=>x.current=!0,onBlurCapture:()=>x.current=!1}}(e=>{let t=e.target;[..._.branches].some(e=>e.contains(t))||(a?.(e),r?.(e),e.defaultPrevented||i?.())},R);return(0,P0.e)(e=>{L!==_.layers.size-1||(x?.(e),!e.defaultPrevented&&i&&(e.preventDefault(),i()))},R),e8.useEffect(()=>{if(T)return s&&(0===_.layersWithOutsidePointerEventsDisabled.size&&(e7=R.body.style.pointerEvents,R.body.style.pointerEvents="none"),_.layersWithOutsidePointerEventsDisabled.add(T)),_.layers.add(T),dZ(),()=>{s&&1===_.layersWithOutsidePointerEventsDisabled.size&&(R.body.style.pointerEvents=e7)}},[T,R,s,_]),e8.useEffect(()=>()=>{T&&(_.layers.delete(T),_.layersWithOutsidePointerEventsDisabled.delete(T),dZ())},[T,_]),e8.useEffect(()=>{let e=()=>O({});return document.addEventListener(dK,e),()=>document.removeEventListener(dK,e)},[]),(0,e5.jsx)(dU.WV.div,{...n,ref:A,style:{pointerEvents:h?C?"auto":"none":void 0,...e.style},onFocusCapture:(0,dD.M)(e.onFocusCapture,u.onFocusCapture),onBlurCapture:(0,dD.M)(e.onBlurCapture,u.onBlurCapture),onPointerDownCapture:(0,dD.M)(e.onPointerDownCapture,l.onPointerDownCapture)})});function dZ(){let e=new CustomEvent(dK);document.dispatchEvent(e)}function dz(e,t,s,{discrete:x}){let E=s.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:s});t&&E.addEventListener(e,t,{once:!0}),x?(0,dU.jH)(E,a):E.dispatchEvent(a)}dJ.displayName="DismissableLayer",e8.forwardRef((e,t)=>{let s=e8.useContext(dQ),x=e8.useRef(null),E=(0,dl.e)(t,x);return e8.useEffect(()=>{let e=x.current;if(e)return s.branches.add(e),()=>{s.branches.delete(e)}},[s.branches]),(0,e5.jsx)(dU.WV.div,{...e,ref:E})}).displayName="DismissableLayerBranch";var dq=0;function dj(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var d$=x(98639),d0=x(28831),d2=e8.forwardRef((e,t)=>{let{container:s,...x}=e,[E,a]=e8.useState(!1);(0,Ue.b)(()=>a(!0),[]);let r=s||E&&globalThis?.document?.body;return r?PQ.createPortal((0,e5.jsx)(dU.WV.div,{...x,ref:t}),r):null});d2.displayName="Portal";var d1=e=>{let{present:t,children:s}=e,x=function(e){var t,s;let[x,E]=e8.useState(),a=e8.useRef({}),r=e8.useRef(e),i=e8.useRef("none"),[n,_]=(t=e?"mounted":"unmounted",s={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},e8.useReducer((e,t)=>s[e][t]??e,t));return e8.useEffect(()=>{let e=d3(a.current);i.current="mounted"===n?e:"none"},[n]),(0,Ue.b)(()=>{let t=a.current,s=r.current;if(s!==e){let x=i.current,E=d3(t);e?_("MOUNT"):"none"===E||t?.display==="none"?_("UNMOUNT"):s&&x!==E?_("ANIMATION_OUT"):_("UNMOUNT"),r.current=e}},[e,_]),(0,Ue.b)(()=>{if(x){let e;let t=x.ownerDocument.defaultView??window,s=s=>{let E=d3(a.current).includes(s.animationName);if(s.target===x&&E&&(_("ANIMATION_END"),!r.current)){let s=x.style.animationFillMode;x.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===x.style.animationFillMode&&(x.style.animationFillMode=s)})}},E=e=>{e.target===x&&(i.current=d3(a.current))};return x.addEventListener("animationstart",E),x.addEventListener("animationcancel",s),x.addEventListener("animationend",s),()=>{t.clearTimeout(e),x.removeEventListener("animationstart",E),x.removeEventListener("animationcancel",s),x.removeEventListener("animationend",s)}}_("ANIMATION_END")},[x,_]),{isPresent:["mounted","unmountSuspended"].includes(n),ref:e8.useCallback(e=>{e&&(a.current=getComputedStyle(e)),E(e)},[])}}(t),E="function"==typeof s?s({present:x.isPresent}):e8.Children.only(s),a=(0,dl.e)(x.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,s=t&&"isReactWarning"in t&&t.isReactWarning;return s?e.ref:(s=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(E));return"function"==typeof s||x.isPresent?e8.cloneElement(E,{ref:a}):null};function d3(e){return e?.animationName||"none"}d1.displayName="Presence";var d7=x(93340),d5=x(21299),d4=x(84769),d6=x(98102),d8=["Enter"," "],d9=["ArrowUp","PageDown","End"],Ye=["ArrowDown","PageUp","Home",...d9],Yt={ltr:[...d8,"ArrowRight"],rtl:[...d8,"ArrowLeft"]},Ys={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Yx="Menu",[YE,Ya,Yr]=(0,dw.B)(Yx),[Yi,Yn]=PK(Yx,[Yr,d0.D7,d7.Pc]),Y_=(0,d0.D7)(),Yc=(0,d7.Pc)(),[YT,YS]=Yi(Yx),[YR,YO]=Yi(Yx),YA=e=>{let{__scopeMenu:t,open:s=!1,children:x,dir:E,onOpenChange:a,modal:r=!0}=e,i=Y_(t),[n,_]=e8.useState(null),T=e8.useRef(!1),S=(0,P$.W)(a),R=(0,dW.gm)(E);return e8.useEffect(()=>{let e=()=>{T.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>T.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,e5.jsx)(d0.fC,{...i,children:(0,e5.jsx)(YT,{scope:t,open:s,onOpenChange:S,content:n,onContentChange:_,children:(0,e5.jsx)(YR,{scope:t,onClose:e8.useCallback(()=>S(!1),[S]),isUsingKeyboardRef:T,dir:R,modal:r,children:x})})})};YA.displayName=Yx;var YN=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e,E=Y_(s);return(0,e5.jsx)(d0.ee,{...E,...x,ref:t})});YN.displayName="MenuAnchor";var Yo="MenuPortal",[YI,YL]=Yi(Yo,{forceMount:void 0}),Yh=e=>{let{__scopeMenu:t,forceMount:s,children:x,container:E}=e,a=YS(Yo,t);return(0,e5.jsx)(YI,{scope:t,forceMount:s,children:(0,e5.jsx)(d1,{present:s||a.open,children:(0,e5.jsx)(d2,{asChild:!0,container:E,children:x})})})};Yh.displayName=Yo;var YC="MenuContent",[Yl,Yu]=Yi(YC),YD=e8.forwardRef((e,t)=>{let s=YL(YC,e.__scopeMenu),{forceMount:x=s.forceMount,...E}=e,a=YS(YC,e.__scopeMenu),r=YO(YC,e.__scopeMenu);return(0,e5.jsx)(YE.Provider,{scope:e.__scopeMenu,children:(0,e5.jsx)(d1,{present:x||a.open,children:(0,e5.jsx)(YE.Slot,{scope:e.__scopeMenu,children:r.modal?(0,e5.jsx)(YM,{...E,ref:t}):(0,e5.jsx)(YP,{...E,ref:t})})})})}),YM=e8.forwardRef((e,t)=>{let s=YS(YC,e.__scopeMenu),x=e8.useRef(null),E=(0,dl.e)(t,x);return e8.useEffect(()=>{let e=x.current;if(e)return(0,d4.Ry)(e)},[]),(0,e5.jsx)(YU,{...e,ref:E,trapFocus:s.open,disableOutsidePointerEvents:s.open,disableOutsideScroll:!0,onFocusOutside:(0,dD.M)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>s.onOpenChange(!1)})}),YP=e8.forwardRef((e,t)=>{let s=YS(YC,e.__scopeMenu);return(0,e5.jsx)(YU,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>s.onOpenChange(!1)})}),YU=e8.forwardRef((e,t)=>{let{__scopeMenu:s,loop:x=!1,trapFocus:E,onOpenAutoFocus:a,onCloseAutoFocus:r,disableOutsidePointerEvents:i,onEntryFocus:n,onEscapeKeyDown:_,onPointerDownOutside:T,onFocusOutside:S,onInteractOutside:R,onDismiss:O,disableOutsideScroll:A,...N}=e,o=YS(YC,s),I=YO(YC,s),L=Y_(s),h=Yc(s),C=Ya(s),[l,u]=e8.useState(null),D=e8.useRef(null),M=(0,dl.e)(t,D,o.onContentChange),P=e8.useRef(0),U=e8.useRef(""),d=e8.useRef(0),Y=e8.useRef(null),p=e8.useRef("right"),G=e8.useRef(0),B=A?d6.Z:e8.Fragment,m=A?{as:d5.g7,allowPinchZoom:!0}:void 0,f=e=>{let t=U.current+e,s=C().filter(e=>!e.disabled),x=document.activeElement,E=s.find(e=>e.ref.current===x)?.textValue,a=function(e,t,s){var x;let E=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=(x=Math.max(s?e.indexOf(s):-1,0),e.map((t,s)=>e[(x+s)%e.length]));1===E.length&&(a=a.filter(e=>e!==s));let r=a.find(e=>e.toLowerCase().startsWith(E.toLowerCase()));return r!==s?r:void 0}(s.map(e=>e.textValue),t,E),r=s.find(e=>e.textValue===a)?.ref.current;(function e(t){U.current=t,window.clearTimeout(P.current),""!==t&&(P.current=window.setTimeout(()=>e(""),1e3))})(t),r&&setTimeout(()=>r.focus())};e8.useEffect(()=>()=>window.clearTimeout(P.current),[]),e8.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??dj()),document.body.insertAdjacentElement("beforeend",e[1]??dj()),dq++,()=>{1===dq&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),dq--}},[]);let g=e8.useCallback(e=>p.current===Y.current?.side&&function(e,t){return!!t&&function(e,t){let{x:s,y:x}=e,E=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let r=t[e].x,i=t[e].y,n=t[a].x,_=t[a].y;i>x!=_>x&&s<(n-r)*(x-i)/(_-i)+r&&(E=!E)}return E}({x:e.clientX,y:e.clientY},t)}(e,Y.current?.area),[]);return(0,e5.jsx)(Yl,{scope:s,searchRef:U,onItemEnter:e8.useCallback(e=>{g(e)&&e.preventDefault()},[g]),onItemLeave:e8.useCallback(e=>{g(e)||(D.current?.focus(),u(null))},[g]),onTriggerLeave:e8.useCallback(e=>{g(e)&&e.preventDefault()},[g]),pointerGraceTimerRef:d,onPointerGraceIntentChange:e8.useCallback(e=>{Y.current=e},[]),children:(0,e5.jsx)(B,{...m,children:(0,e5.jsx)(d$.M,{asChild:!0,trapped:E,onMountAutoFocus:(0,dD.M)(a,e=>{e.preventDefault(),D.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:r,children:(0,e5.jsx)(dJ,{asChild:!0,disableOutsidePointerEvents:i,onEscapeKeyDown:_,onPointerDownOutside:T,onFocusOutside:S,onInteractOutside:R,onDismiss:O,children:(0,e5.jsx)(d7.fC,{asChild:!0,...h,dir:I.dir,orientation:"vertical",loop:x,currentTabStopId:l,onCurrentTabStopIdChange:u,onEntryFocus:(0,dD.M)(n,e=>{I.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,e5.jsx)(d0.VY,{role:"menu","aria-orientation":"vertical","data-state":Y$(o.open),"data-radix-menu-content":"",dir:I.dir,...L,...N,ref:M,style:{outline:"none",...N.style},onKeyDown:(0,dD.M)(N.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,s=e.ctrlKey||e.altKey||e.metaKey,x=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!s&&x&&f(e.key));let E=D.current;if(e.target!==E||!Ye.includes(e.key))return;e.preventDefault();let a=C().filter(e=>!e.disabled).map(e=>e.ref.current);d9.includes(e.key)&&a.reverse(),function(e){let t=document.activeElement;for(let s of e)if(s===t||(s.focus(),document.activeElement!==t))return}(a)}),onBlur:(0,dD.M)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(P.current),U.current="")}),onPointerMove:(0,dD.M)(e.onPointerMove,Y1(e=>{let t=e.target,s=G.current!==e.clientX;if(e.currentTarget.contains(t)&&s){let t=e.clientX>G.current?"right":"left";p.current=t,G.current=e.clientX}}))})})})})})})});YD.displayName=YC;var Yd=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e;return(0,e5.jsx)(dU.WV.div,{role:"group",...x,ref:t})});Yd.displayName="MenuGroup";var YY=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e;return(0,e5.jsx)(dU.WV.div,{...x,ref:t})});YY.displayName="MenuLabel";var Yp="MenuItem",YG="menu.itemSelect",YB=e8.forwardRef((e,t)=>{let{disabled:s=!1,onSelect:x,...E}=e,a=e8.useRef(null),r=YO(Yp,e.__scopeMenu),i=Yu(Yp,e.__scopeMenu),n=(0,dl.e)(t,a),_=e8.useRef(!1);return(0,e5.jsx)(Ym,{...E,ref:n,disabled:s,onClick:(0,dD.M)(e.onClick,()=>{let e=a.current;if(!s&&e){let t=new CustomEvent(YG,{bubbles:!0,cancelable:!0});e.addEventListener(YG,e=>x?.(e),{once:!0}),(0,dU.jH)(e,t),t.defaultPrevented?_.current=!1:r.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),_.current=!0},onPointerUp:(0,dD.M)(e.onPointerUp,e=>{_.current||e.currentTarget?.click()}),onKeyDown:(0,dD.M)(e.onKeyDown,e=>{let t=""!==i.searchRef.current;!s&&(!t||" "!==e.key)&&d8.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});YB.displayName=Yp;var Ym=e8.forwardRef((e,t)=>{let{__scopeMenu:s,disabled:x=!1,textValue:E,...a}=e,r=Yu(Yp,s),i=Yc(s),n=e8.useRef(null),_=(0,dl.e)(t,n),[T,S]=e8.useState(!1),[R,O]=e8.useState("");return e8.useEffect(()=>{let e=n.current;e&&O((e.textContent??"").trim())},[a.children]),(0,e5.jsx)(YE.ItemSlot,{scope:s,disabled:x,textValue:E??R,children:(0,e5.jsx)(d7.ck,{asChild:!0,...i,focusable:!x,children:(0,e5.jsx)(dU.WV.div,{role:"menuitem","data-highlighted":T?"":void 0,"aria-disabled":x||void 0,"data-disabled":x?"":void 0,...a,ref:_,onPointerMove:(0,dD.M)(e.onPointerMove,Y1(e=>{x?r.onItemLeave(e):(r.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,dD.M)(e.onPointerLeave,Y1(e=>r.onItemLeave(e))),onFocus:(0,dD.M)(e.onFocus,()=>S(!0)),onBlur:(0,dD.M)(e.onBlur,()=>S(!1))})})})}),Yf=e8.forwardRef((e,t)=>{let{checked:s=!1,onCheckedChange:x,...E}=e;return(0,e5.jsx)(Yv,{scope:e.__scopeMenu,checked:s,children:(0,e5.jsx)(YB,{role:"menuitemcheckbox","aria-checked":Y0(s)?"mixed":s,...E,ref:t,"data-state":Y2(s),onSelect:(0,dD.M)(E.onSelect,()=>x?.(!!Y0(s)||!s),{checkForDefaultPrevented:!1})})})});Yf.displayName="MenuCheckboxItem";var Yg="MenuRadioGroup",[YF,YH]=Yi(Yg,{value:void 0,onValueChange:()=>{}}),Yy=e8.forwardRef((e,t)=>{let{value:s,onValueChange:x,...E}=e,a=(0,P$.W)(x);return(0,e5.jsx)(YF,{scope:e.__scopeMenu,value:s,onValueChange:a,children:(0,e5.jsx)(Yd,{...E,ref:t})})});Yy.displayName=Yg;var YV="MenuRadioItem",YX=e8.forwardRef((e,t)=>{let{value:s,...x}=e,E=YH(YV,e.__scopeMenu),a=s===E.value;return(0,e5.jsx)(Yv,{scope:e.__scopeMenu,checked:a,children:(0,e5.jsx)(YB,{role:"menuitemradio","aria-checked":a,...x,ref:t,"data-state":Y2(a),onSelect:(0,dD.M)(x.onSelect,()=>E.onValueChange?.(s),{checkForDefaultPrevented:!1})})})});YX.displayName=YV;var Yb="MenuItemIndicator",[Yv,Yk]=Yi(Yb,{checked:!1}),Yw=e8.forwardRef((e,t)=>{let{__scopeMenu:s,forceMount:x,...E}=e,a=Yk(Yb,s);return(0,e5.jsx)(d1,{present:x||Y0(a.checked)||!0===a.checked,children:(0,e5.jsx)(dU.WV.span,{...E,ref:t,"data-state":Y2(a.checked)})})});Yw.displayName=Yb;var YW=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e;return(0,e5.jsx)(dU.WV.div,{role:"separator","aria-orientation":"horizontal",...x,ref:t})});YW.displayName="MenuSeparator";var YK=e8.forwardRef((e,t)=>{let{__scopeMenu:s,...x}=e,E=Y_(s);return(0,e5.jsx)(d0.Eh,{...E,...x,ref:t})});YK.displayName="MenuArrow";var[YQ,YJ]=Yi("MenuSub"),YZ="MenuSubTrigger",Yz=e8.forwardRef((e,t)=>{let s=YS(YZ,e.__scopeMenu),x=YO(YZ,e.__scopeMenu),E=YJ(YZ,e.__scopeMenu),a=Yu(YZ,e.__scopeMenu),r=e8.useRef(null),{pointerGraceTimerRef:i,onPointerGraceIntentChange:n}=a,_={__scopeMenu:e.__scopeMenu},T=e8.useCallback(()=>{r.current&&window.clearTimeout(r.current),r.current=null},[]);return e8.useEffect(()=>T,[T]),e8.useEffect(()=>{let e=i.current;return()=>{window.clearTimeout(e),n(null)}},[i,n]),(0,e5.jsx)(YN,{asChild:!0,..._,children:(0,e5.jsx)(Ym,{id:E.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":E.contentId,"data-state":Y$(s.open),...e,ref:(0,dl.F)(t,E.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),s.open||s.onOpenChange(!0))},onPointerMove:(0,dD.M)(e.onPointerMove,Y1(t=>{a.onItemEnter(t),t.defaultPrevented||e.disabled||s.open||r.current||(a.onPointerGraceIntentChange(null),r.current=window.setTimeout(()=>{s.onOpenChange(!0),T()},100))})),onPointerLeave:(0,dD.M)(e.onPointerLeave,Y1(e=>{T();let t=s.content?.getBoundingClientRect();if(t){let x=s.content?.dataset.side,E="right"===x,r=t[E?"left":"right"],n=t[E?"right":"left"];a.onPointerGraceIntentChange({area:[{x:e.clientX+(E?-5:5),y:e.clientY},{x:r,y:t.top},{x:n,y:t.top},{x:n,y:t.bottom},{x:r,y:t.bottom}],side:x}),window.clearTimeout(i.current),i.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:(0,dD.M)(e.onKeyDown,t=>{let E=""!==a.searchRef.current;!e.disabled&&(!E||" "!==t.key)&&Yt[x.dir].includes(t.key)&&(s.onOpenChange(!0),s.content?.focus(),t.preventDefault())})})})});Yz.displayName=YZ;var Yq="MenuSubContent",Yj=e8.forwardRef((e,t)=>{let s=YL(YC,e.__scopeMenu),{forceMount:x=s.forceMount,...E}=e,a=YS(YC,e.__scopeMenu),r=YO(YC,e.__scopeMenu),i=YJ(Yq,e.__scopeMenu),n=e8.useRef(null),_=(0,dl.e)(t,n);return(0,e5.jsx)(YE.Provider,{scope:e.__scopeMenu,children:(0,e5.jsx)(d1,{present:x||a.open,children:(0,e5.jsx)(YE.Slot,{scope:e.__scopeMenu,children:(0,e5.jsx)(YU,{id:i.contentId,"aria-labelledby":i.triggerId,...E,ref:_,align:"start",side:"rtl"===r.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{r.isUsingKeyboardRef.current&&n.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,dD.M)(e.onFocusOutside,e=>{e.target!==i.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:(0,dD.M)(e.onEscapeKeyDown,e=>{r.onClose(),e.preventDefault()}),onKeyDown:(0,dD.M)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),s=Ys[r.dir].includes(e.key);t&&s&&(a.onOpenChange(!1),i.trigger?.focus(),e.preventDefault())})})})})})});function Y$(e){return e?"open":"closed"}function Y0(e){return"indeterminate"===e}function Y2(e){return Y0(e)?"indeterminate":e?"checked":"unchecked"}function Y1(e){return t=>"mouse"===t.pointerType?e(t):void 0}Yj.displayName=Yq;var Y3="DropdownMenu",[Y7,Y5]=PK(Y3,[Yn]),Y4=Yn(),[Y6,Y8]=Y7(Y3),Y9=e=>{let{__scopeDropdownMenu:t,children:s,dir:x,open:E,defaultOpen:a,onOpenChange:r,modal:i=!0}=e,n=Y4(t),_=e8.useRef(null),[T=!1,S]=(0,Ul.T)({prop:E,defaultProp:a,onChange:r});return(0,e5.jsx)(Y6,{scope:t,triggerId:(0,P4.M)(),triggerRef:_,contentId:(0,P4.M)(),open:T,onOpenChange:S,onOpenToggle:e8.useCallback(()=>S(e=>!e),[S]),modal:i,children:(0,e5.jsx)(YA,{...n,open:T,onOpenChange:S,dir:x,modal:i,children:s})})};Y9.displayName=Y3;var pe="DropdownMenuTrigger",pt=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,disabled:x=!1,...E}=e,a=Y8(pe,s),r=Y4(s);return(0,e5.jsx)(YN,{asChild:!0,...r,children:(0,e5.jsx)(dU.WV.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":x?"":void 0,disabled:x,...E,ref:(0,dl.F)(t,a.triggerRef),onPointerDown:(0,dD.M)(e.onPointerDown,e=>{x||0!==e.button||!1!==e.ctrlKey||(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:(0,dD.M)(e.onKeyDown,e=>{!x&&(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});pt.displayName=pe;var ps=e=>{let{__scopeDropdownMenu:t,...s}=e,x=Y4(t);return(0,e5.jsx)(Yh,{...x,...s})};ps.displayName="DropdownMenuPortal";var px="DropdownMenuContent",pE=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y8(px,s),a=Y4(s),r=e8.useRef(!1);return(0,e5.jsx)(YD,{id:E.contentId,"aria-labelledby":E.triggerId,...a,...x,ref:t,onCloseAutoFocus:(0,dD.M)(e.onCloseAutoFocus,e=>{r.current||E.triggerRef.current?.focus(),r.current=!1,e.preventDefault()}),onInteractOutside:(0,dD.M)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,s=0===t.button&&!0===t.ctrlKey,x=2===t.button||s;(!E.modal||x)&&(r.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});pE.displayName=px,e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yd,{...E,...x,ref:t})}).displayName="DropdownMenuGroup";var pa=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YY,{...E,...x,ref:t})});pa.displayName="DropdownMenuLabel";var pr=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YB,{...E,...x,ref:t})});pr.displayName="DropdownMenuItem";var pi=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yf,{...E,...x,ref:t})});pi.displayName="DropdownMenuCheckboxItem",e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yy,{...E,...x,ref:t})}).displayName="DropdownMenuRadioGroup";var pn=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YX,{...E,...x,ref:t})});pn.displayName="DropdownMenuRadioItem";var p_=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yw,{...E,...x,ref:t})});p_.displayName="DropdownMenuItemIndicator";var pc=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YW,{...E,...x,ref:t})});pc.displayName="DropdownMenuSeparator",e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(YK,{...E,...x,ref:t})}).displayName="DropdownMenuArrow";var pT=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yz,{...E,...x,ref:t})});pT.displayName="DropdownMenuSubTrigger";var pS=e8.forwardRef((e,t)=>{let{__scopeDropdownMenu:s,...x}=e,E=Y4(s);return(0,e5.jsx)(Yj,{...E,...x,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});pS.displayName="DropdownMenuSubContent",e8.forwardRef(({className:e,inset:t,children:s,...x},E)=>(0,e5.jsxs)(pT,{ref:E,className:(0,so.cn)("flex items-center gap-2","px-2 py-1.5","text-sm","cursor-default select-none","rounded-sm","outline-none focus:bg-accent data-[state=open]:bg-accent","[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...x,children:[s,e5.jsx(dv,{className:"ml-auto"})]})).displayName=pT.displayName,e8.forwardRef(({className:e,...t},s)=>e5.jsx(pS,{ref:s,className:(0,so.cn)("z-50 min-w-[8rem]","rounded-md border bg-popover p-1 text-popover-foreground shadow-lg","overflow-hidden","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2",e),...t})).displayName=pS.displayName;let pR=e8.forwardRef(({className:e,sideOffset:t=4,...s},x)=>e5.jsx(ps,{children:e5.jsx(pE,{ref:x,sideOffset:t,className:(0,so.cn)("z-50 min-w-[8rem]","rounded-md border bg-popover p-1 text-popover-foreground shadow-md","overflow-hidden","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2",e),...s})}));pR.displayName=pE.displayName;let pO=e8.forwardRef(({className:e,inset:t,...s},x)=>e5.jsx(pr,{ref:x,className:(0,so.cn)("relative flex items-center gap-2","px-2 py-1.5","text-sm","cursor-default select-none","outline-none","transition-colors","focus:bg-accent focus:text-accent-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","rounded-sm","[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...s}));function pA(e,t,s){let x=new Blob([e],{type:s});console.log("filename",t);let E=document.createElement("a");if(void 0===E.download){console.warn("Browser does not support HTML5 download attribute");return}let a=URL.createObjectURL(x);E.setAttribute("href",a),E.setAttribute("download",t),E.style.visibility="hidden",document.body.appendChild(E),E.click(),document.body.removeChild(E),URL.revokeObjectURL(a)}function pN({tableData:e,isLoading:t}){return(0,e5.jsxs)(Y9,{children:[e5.jsx(pt,{asChild:!0,children:e5.jsx(UZ.z,{variant:"outline",disabled:!e||t,children:e5.jsx(db,{className:"h-4 w-4"})})}),(0,e5.jsxs)(pR,{children:[e5.jsx(pO,{onClick:()=>{let t=e?.rows.map(t=>e.columns.map(e=>t[e]).join(",")).join("\n");pA(e?.columns.join(",")+"\n"+t,"data.csv","text/csv")},children:"CSV"}),e5.jsx(pO,{onClick:()=>{pA((0,te.P)(e?.rows,null,2),"data.json","application/json")},children:"JSON"}),e5.jsx(pO,{onClick:()=>{let t=e?.rows.map(t=>e.columns.map(e=>t[e]).join(" ")).join("\n");pA(e?.columns.join(" ")+"\n"+t,"data.txt","text/plain")},children:"TXT"})]})]})}pO.displayName=pr.displayName,e8.forwardRef(({className:e,children:t,checked:s,...x},E)=>(0,e5.jsxs)(pi,{ref:E,className:(0,so.cn)("relative flex items-center","py-1.5 pl-8 pr-2","text-sm","cursor-default select-none","outline-none","transition-colors","focus:bg-accent focus:text-accent-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","rounded-sm",e),checked:s,...x,children:[e5.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e5.jsx(p_,{children:e5.jsx(U3.Z,{className:"h-4 w-4"})})}),t]})).displayName=pi.displayName,e8.forwardRef(({className:e,children:t,...s},x)=>(0,e5.jsxs)(pn,{ref:x,className:(0,so.cn)("relative flex items-center","py-1.5 pl-8 pr-2","text-sm","cursor-default select-none","outline-none","transition-colors","focus:bg-accent focus:text-accent-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","rounded-sm",e),...s,children:[e5.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e5.jsx(p_,{children:e5.jsx(dk,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=pn.displayName,e8.forwardRef(({className:e,inset:t,...s},x)=>e5.jsx(pa,{ref:x,className:(0,so.cn)("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...s})).displayName=pa.displayName,e8.forwardRef(({className:e,...t},s)=>e5.jsx(pc,{ref:s,className:(0,so.cn)("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=pc.displayName;let po=[],pI=[];function pL({table:e,query:t,isLiveQuery:s}){let{id:x}=(0,e9.A)(),E=sN(x),{data:a,isLoading:r,isRefetching:i,isFetched:n,isError:_,error:T}=Uq({table:e,query:t,isLiveQuery:s}),S=r||i||!n,[R,O]=(0,e6.v1)("filter",e6.Oi.withDefault("")),[A,N]=(0,e6.v1)("sort",(0,e6.WJ)().withDefault(po)),o=(0,e8.useMemo)(()=>e&&a?a.columns.map(t=>{let s=e?.schema[t],x=s?.type,E=sR(e);return{accessorKey:t,header:({column:e})=>(0,e5.jsxs)(UZ.z,{variant:"ghost",className:"-ml-4",onClick:()=>e.toggleSorting("asc"===e.getIsSorted()),children:[t in E&&e5.jsx(dE,{className:"mr-2 h-3 w-3"}),e5.jsx("span",{className:"text-orange-500",children:t}),x&&(0,e5.jsxs)("span",{className:"ml-1 opacity-70",children:["(",x,")"]}),e5.jsx(da,{className:"ml-2 h-4 w-4"})]}),sortingFn:(e,t,s)=>(function(e,t,s,x){let E=e.getValue(s),a=t.getValue(s);if(x?.startsWith("uint")||x?.startsWith("int")){let e=BigInt(E?.toString()||"0"),t=BigInt(a?.toString()||"0");return(0,tt.iN)(e,t)}if("bigint"==typeof E||"bigint"==typeof a){let e=BigInt(E?.toString()||"0"),t=BigInt(a?.toString()||"0");return(0,tt.iN)(e,t)}return null==E?1:null==a?-1:E<a?-1:E>a?1:0})(e,t,s,x),cell:({row:s})=>{let x=e?.namespace,E=sR(e),a=s.getValue(t);if(!e||Object.keys(E).includes(t)||t5.M0.includes(x))return a;try{var r;let x=(r=s.original,e.key.map(t=>(0,s_.E)([e.schema[t]],[r[t]])));return e5.jsx(dX,{name:t,table:e,value:a,keyTuple:x})}catch(e){return a}}}}):[],[e,a]),I=(0,dn.b7)({data:a?.rows??pI,columns:o,initialState:{pagination:{pageSize:50}},onSortingChange:N,getCoreRowModel:(0,d_.sC)(),getPaginationRowModel:(0,d_.G_)(),getSortedRowModel:(0,d_.tj)(),getFilteredRowModel:(0,d_.vL)(),onGlobalFilterChange:O,globalFilterFn:"includesString",state:{sorting:A,globalFilter:R}});return(0,e5.jsxs)("div",{className:(0,so.cn)("space-y-4",{"!-mt-10":"hosted"===E.type}),children:[(0,e5.jsxs)("div",{className:"flex w-1/2 items-center gap-4",children:[e5.jsx(dc.I,{placeholder:"Filter...",value:R,onChange:e=>I.setGlobalFilter(e.target.value),className:"max-w-sm rounded border px-2 py-1",disabled:!a}),e5.jsx(pN,{tableData:a,isLoading:S})]}),(0,e5.jsxs)("div",{className:(0,so.cn)("rounded-md border",{"border-red-400":_}),children:[S&&e5.jsx("div",{className:"flex h-24 items-center justify-center",children:e5.jsx(dr.Z,{className:"h-5 w-5 animate-spin"})}),!S&&e5.jsx("div",{className:"relative w-full overflow-auto",children:(0,e5.jsxs)(dT.iA,{children:[e5.jsx(dT.xD,{children:!_&&I.getHeaderGroups().map(e=>e5.jsx(dT.SC,{children:e.headers.map(e=>e5.jsx(dT.ss,{children:e.isPlaceholder?null:(0,dn.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),e5.jsx(dT.RM,{children:!_&&I.getRowModel().rows?.length?I.getRowModel().rows.map(e=>e5.jsx(dT.SC,{"data-state":e.getIsSelected()&&"selected",children:e.getVisibleCells().map(e=>e5.jsx(dT.pj,{children:(0,dn.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):e5.jsx(dT.SC,{children:e5.jsx(dT.pj,{colSpan:o.length,className:(0,so.cn)("h-24 text-center",{"text-red-400":_}),children:_?(0,e5.jsxs)("div",{className:"flex items-center justify-center gap-x-2",children:[e5.jsx(di,{})," Query error: ",T.message]}):"No results."})})})]})})]}),(0,e5.jsxs)("div",{className:"flex items-center justify-end space-x-2",children:[e5.jsx("div",{className:"flex-1 text-sm text-muted-foreground",children:a&&`Total rows: ${a.rows.length.toLocaleString()}`}),(0,e5.jsxs)("div",{className:"space-x-2",children:[e5.jsx(UZ.z,{variant:"outline",size:"sm",onClick:()=>I.previousPage(),disabled:!I.getCanPreviousPage(),children:"Previous"}),e5.jsx(UZ.z,{variant:"outline",size:"sm",onClick:()=>I.nextPage(),disabled:!I.getCanNextPage(),children:"Next"})]})]})]})}function ph(){let{worldAddress:e}=(0,e4.useParams)(),{id:t}=(0,e9.A)(),s=sN(t),[x,E]=(0,e8.useState)(!1),[a,r]=(0,e6.v1)("query",e6.Oi.withDefault("")),[i]=(0,e6.v1)("tableId");(0,e8.useRef)().current;let{data:n}=function(){let{worldAddress:e,chainName:t}=(0,e4.useParams)(),{id:s}=(0,e9.A)();return(0,t7.a)({queryKey:["tables",e,t],queryFn:async()=>{let t=sN(s),x="store__Tables",E="sqlite"===t.type?`SELECT * FROM "${e}__${x}"`:`SELECT ${Object.keys(t3.tables[x].schema).join(", ")} FROM ${x}`;return(await fetch(t.url,{method:"POST",headers:{"Content-Type":"application/json"},body:(0,te.P)([{address:e,query:E}])})).json()},select:e=>e.result[0].slice(1).map(e=>{if(e[0]&&e[2]&&e[3]&&e[4]&&e[5])return sO({tableId:e[0],keySchema:e[2],valueSchema:e[3],abiEncodedKeyNames:e[4],abiEncodedFieldNames:e[5]})}).filter(tt.$K).sort(({namespace:e})=>t5.M0.includes(e)?1:-1),retry:!1,refetchInterval:5e3})}(),_=n?.find(({tableId:e})=>e===i);return(0,e5.jsxs)("div",{className:"space-y-4",children:[e5.jsx(dx,{tables:n}),"sqlite"!==s.type&&e5.jsx(U1,{table:_,isLiveQuery:x,setIsLiveQuery:E}),e5.jsx(pL,{table:_,query:a,isLiveQuery:x})]})}},66014:(e,t,s)=>{"use strict";s.d(t,{mY:()=>R,rb:()=>N,fu:()=>o,sZ:()=>O,di:()=>I,e8:()=>A});var x=s(54555),E=s(54560),a=s(28338),r=s(84690),i=s(52485),n=s(43965),_=s(20992);_.Root,_.Trigger;let T=_.Portal;_.Close;let S=r.forwardRef(({className:e,...t},s)=>x.jsx(_.Overlay,{ref:s,className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));S.displayName=_.Overlay.displayName,r.forwardRef(({className:e,children:t,...s},E)=>(0,x.jsxs)(T,{children:[x.jsx(S,{}),(0,x.jsxs)(_.Content,{ref:E,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50","w-full max-w-lg","translate-x-[-50%] translate-y-[-50%]","grid gap-4","border bg-background p-6 shadow-lg","sm:rounded-lg","duration-200","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]","data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",e),...s,children:[t,(0,x.jsxs)(_.Close,{className:(0,i.cn)("absolute right-4 top-4","rounded-sm opacity-70","ring-offset-background","transition-opacity","hover:opacity-100","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2","disabled:pointer-events-none","data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"),children:[x.jsx(n.Z,{className:"h-4 w-4"}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]})).displayName=_.Content.displayName,r.forwardRef(({className:e,...t},s)=>x.jsx(_.Title,{ref:s,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",e),...t})).displayName=_.Title.displayName,r.forwardRef(({className:e,...t},s)=>x.jsx(_.Description,{ref:s,className:(0,i.cn)("text-sm text-muted-foreground",e),...t})).displayName=_.Description.displayName;let R=r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY,{ref:s,className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));R.displayName=a.mY.displayName;let O=r.forwardRef(({className:e,...t},s)=>(0,x.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[x.jsx(E.Z,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),x.jsx(a.mY.Input,{ref:s,className:(0,i.cn)("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));O.displayName=a.mY.Input.displayName;let A=r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY.List,{ref:s,className:(0,i.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));A.displayName=a.mY.List.displayName;let N=r.forwardRef((e,t)=>x.jsx(a.mY.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));N.displayName=a.mY.Empty.displayName;let o=r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY.Group,{ref:s,className:(0,i.cn)("overflow-hidden","p-1","text-foreground","[&_[cmdk-group-heading]]:px-2","[&_[cmdk-group-heading]]:py-1.5","[&_[cmdk-group-heading]]:text-xs","[&_[cmdk-group-heading]]:font-medium","[&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));o.displayName=a.mY.Group.displayName,r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY.Separator,{ref:s,className:(0,i.cn)("-mx-1 h-px bg-border",e),...t})).displayName=a.mY.Separator.displayName;let I=r.forwardRef(({className:e,...t},s)=>x.jsx(a.mY.Item,{ref:s,className:(0,i.cn)("relative flex","px-2 py-1.5","text-sm","cursor-default select-none","outline-none","rounded-sm","data-[disabled=true]:pointer-events-none","data-[disabled=true]:opacity-50","data-[selected='true']:bg-accent","data-[selected=true]:text-accent-foreground",e),...t}));I.displayName=a.mY.Item.displayName},36887:(e,t,s)=>{"use strict";s.d(t,{l0:()=>R,NI:()=>h,Wi:()=>A,xJ:()=>I,lX:()=>L,zG:()=>C});var x=s(54555),E=s(84690),a=s(31676),r=s(21299),i=s(57826),n=s(69590),_=s(52485);let T=(0,i.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),S=E.forwardRef(({className:e,...t},s)=>x.jsx(n.f,{ref:s,className:(0,_.cn)(T(),e),...t}));S.displayName=n.f.displayName;let R=a.RV,O=E.createContext({}),A=({...e})=>x.jsx(O.Provider,{value:{name:e.name},children:x.jsx(a.Qr,{...e})}),N=()=>{let e=E.useContext(O),t=E.useContext(o),{getFieldState:s,formState:x}=(0,a.Gc)(),r=s(e.name,x);if(!e)throw Error("useFormField should be used within <FormField>");let{id:i}=t;return{id:i,name:e.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...r}},o=E.createContext({}),I=E.forwardRef(({className:e,...t},s)=>{let a=E.useId();return x.jsx(o.Provider,{value:{id:a},children:x.jsx("div",{ref:s,className:(0,_.cn)("space-y-2",e),...t})})});I.displayName="FormItem";let L=E.forwardRef(({className:e,...t},s)=>{let{error:E,formItemId:a}=N();return x.jsx(S,{ref:s,className:(0,_.cn)(E&&"text-destructive",e),htmlFor:a,...t})});L.displayName="FormLabel";let h=E.forwardRef(({...e},t)=>{let{error:s,formItemId:E,formDescriptionId:a,formMessageId:i}=N();return x.jsx(r.g7,{ref:t,id:E,"aria-describedby":s?`${a} ${i}`:`${a}`,"aria-invalid":!!s,...e})});h.displayName="FormControl",E.forwardRef(({className:e,...t},s)=>{let{formDescriptionId:E}=N();return x.jsx("p",{ref:s,id:E,className:(0,_.cn)("text-sm text-muted-foreground",e),...t})}).displayName="FormDescription";let C=E.forwardRef(({className:e,children:t,...s},E)=>{let{error:a,formMessageId:r}=N(),i=a?String(a?.message):t;return i?x.jsx("p",{ref:E,id:r,className:(0,_.cn)("text-sm font-medium text-destructive",e),...s,children:i}):null});C.displayName="FormMessage"},36399:(e,t,s)=>{"use strict";s.d(t,{I:()=>r});var x=s(54555),E=s(84690),a=s(52485);let r=E.forwardRef(({className:e,type:t,...s},E)=>x.jsx("input",{type:t,className:(0,a.cn)("flex h-10 w-full rounded-md px-3 py-2 text-sm","border border-input bg-background ring-offset-background","file:border-0 file:bg-transparent file:text-sm file:font-medium","placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50",e),ref:E,...s}));r.displayName="Input"},82656:(e,t,s)=>{"use strict";s.d(t,{RM:()=>n,SC:()=>_,iA:()=>r,pj:()=>S,ss:()=>T,xD:()=>i});var x=s(54555),E=s(84690),a=s(52485);let r=E.forwardRef(({className:e,...t},s)=>x.jsx("table",{ref:s,className:(0,a.cn)("w-full caption-bottom text-sm",e),...t}));r.displayName="Table";let i=E.forwardRef(({className:e,...t},s)=>x.jsx("thead",{ref:s,className:(0,a.cn)("[&_tr]:border-b",e),...t}));i.displayName="TableHeader";let n=E.forwardRef(({className:e,...t},s)=>x.jsx("tbody",{ref:s,className:(0,a.cn)("[&_tr:last-child]:border-0",e),...t}));n.displayName="TableBody",E.forwardRef(({className:e,...t},s)=>x.jsx("tfoot",{ref:s,className:(0,a.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t})).displayName="TableFooter";let _=E.forwardRef(({className:e,...t},s)=>x.jsx("tr",{ref:s,className:(0,a.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));_.displayName="TableRow";let T=E.forwardRef(({className:e,...t},s)=>x.jsx("th",{ref:s,className:(0,a.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));T.displayName="TableHead";let S=E.forwardRef(({className:e,...t},s)=>x.jsx("td",{ref:s,className:(0,a.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));S.displayName="TableCell",E.forwardRef(({className:e,...t},s)=>x.jsx("caption",{ref:s,className:(0,a.cn)("mt-4 text-sm text-muted-foreground",e),...t})).displayName="TableCaption"},11369:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>T,metadata:()=>_});var x=s(5038),E=s(38109);let a=(0,E.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/Explorer.tsx`),{__esModule:r,$$typeof:i}=a;a.default;let n=(0,E.createProxy)(String.raw`/home/runner/work/mud/mud/packages/explorer/src/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/Explorer.tsx#Explorer`),_={title:"Explore"};function T(){return x.jsx(n,{})}},11048:()=>{},26718:()=>{},10684:()=>{},18170:()=>{},565:()=>{},88702:()=>{},22617:()=>{},98733:()=>{},82637:()=>{},52236:()=>{},15947:()=>{},24431:()=>{},98688:()=>{},69161:()=>{},44609:()=>{},8e4:()=>{},40946:()=>{},22060:()=>{},50926:()=>{},80140:()=>{},23719:()=>{},28614:()=>{},47263:()=>{},9454:()=>{},68393:()=>{},17572:()=>{},67733:()=>{},54751:()=>{},27664:()=>{},12829:()=>{},4188:()=>{},64396:()=>{},40461:()=>{},36569:()=>{},48201:()=>{},69366:()=>{},82347:()=>{},80188:()=>{},37543:()=>{},42247:()=>{},96316:()=>{},14429:()=>{},94844:()=>{},44748:()=>{},96819:()=>{},20108:()=>{},50800:()=>{},82136:()=>{},66806:()=>{},68347:()=>{},89002:()=>{},76069:(e,t,s)=>{"use strict";function x(e,t){return e<t?-1:e>t?1:0}function E(e,t){let s=new Map;for(let x of e){let e=t(x);s.has(e)||s.set(e,[]),s.get(e).push(x)}return s}function a(e){return void 0!==e}function r(e,t){return Object.fromEntries(Object.entries(e).map(([e,s])=>[e,t(s,e)]))}s.d(t,{$K:()=>a,Xc:()=>r,iN:()=>x,vM:()=>E})}};var t=require("../../../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),x=t.X(0,[2031,225,5602,8081,7374,5955,4133,1904,4319,1064,6135,6561],()=>s(48669));module.exports=x})();